Computer science project to present to the French top schools entrance competitive exams.
This project aims to create a toy database software where request are optimized. This software is not focused on the storing of the data. The main inspiration comes from SQLite.
Functionalities:
-
SELECTstatement Features :- Attribute projection :
Example:
SELECT name, adres FROM Cinemas WHEREclause. Example:SELECT adress FROM Cinemas WHERE name='Le Champo'- Cartesian product:
Example:
SELECT * FROM Cinema,Projection WHERE Cinema.name=Projection.cinema JOINclause: Example:SELECT addres, time FROM Cinema JOIN Projection WHERE title='Voyage à Tokyo'Optimizations:- Projections pushing
- Merge sort of JOINs
- Indexes
- Attribute projection :
Example:
-
INSERT INTOstatement -
UPDATEstatement
make build
./main --repl-
For the lexer and the parser (flex & bison):
-
For the relational model:
-
For the coding part: