In this project, I am writing my own idea for a relational database from scratch. I am trying to do so without much outside influence, to see how I would implement some DBMS ideas. The database will use a basic version of SQL with some changes to make it easier for me to parse.
- Compile all
.cc
files in the src folder withg++ -std=c++20 src/*.cc -o db
- Run the executable with
./db
- Create a new table with
create TABLE_NAME VAR_NAME:VAR_TYPE...
- Insert to the table with
insert TABLE_NAME VAR_VAL:VAR_TYPE...
- View a table its rows with with
select TABLE_NAME
- Load a database with
load TABLE_NAME
With each table creation and row insertion, the database should automatically serialize itself and save the data to disk. Tables are by default stored in databases/
.
- Implement more comprehensive Select-From-Where queries
- Implement indexing with B+ Trees