- Introduction
- Overview
- Project Description
- How to Use
- Directory Structure
- Getting Started
- Contributors
- SQL Parser
Welcome to the Database Engine with Octree Indices project! This project is designed to showcase a small database engine with support for Octree Indices. It's built as part of the CSEN604: Database II course at the German University in Cairo.
- Programming Language: Java
- Development Environment: Eclipse, IntelliJ, or NetBeans
In this project, we've implemented a simplified database engine with Octree Index support. Here's a brief overview of the key features:
- Tables are stored as pages on disk, with each page as a separate file.
- Supported column types include Integer, String, Double, and Date (in "YYYY-MM-DD" format).
- Octree indices are used to improve query performance.
- Indices are created on-demand and updated when new data is added or removed.
- They are saved to disk and loaded during application startup.
- Initialize the database engine using the
init()
method. - Create tables using
createTable(...)
. - Create Octree indices using
createIndex(...)
. - Insert data into tables with
insertIntoTable(...)
. - Update existing records using
updateTable(...)
. - Delete rows from tables with
deleteFromTable(...)
. - Perform queries with
selectFromTable(...)
. - The application can be configured via the
DBApp.config
file in theresources
directory.
DBApp.config
: Configuration file for the application.
- Clone the repository.
- Import the project into your preferred Java IDE (Eclipse, IntelliJ, or NetBeans).
- Run the project.
We've also developed an SQL parser using ANTLR, which adds SQL query support to the database engine. The SQL parser supports the following SQL operations:
- "INSERT"
- "DELETE"
- "SELECT"