
Note : We dont need this library until section 8 - The Select queries.
Understand why the RDBMS project relies on mathematical expression computations by showing how select clauses compute algebraic expressions, where clauses use logical expressions, and the library parses and evaluates them.
We implement the record table for the employee SQL table using a B+ tree. If no primary key is provided, return an error and release allocated resources.
Implement the sql insert operation by validating the catalog table, computing key and record sizes, building buffers, checking for duplicates, and inserting with success or error messages.
In this section, we will going to integerate Mexpr Library which we developed in pre-prequisite course. For some notoriuous students, who may have not developed Mexpr Library fully or partially incomplete or buggy or for some reason not ready to use, they can integrate the pre-built Mexpr Library instead which is present in MathExpressionParser/libMexpr.a ( Oops branch only). Pls follow the same steps of integratation (though most steps are already done since it is pre-built library), the only difference is use path MathExpressionParser instead of MathExpressionParser/Course at all places. Though, you are strongly encouraged to use your invention only.
** 29 DEC 2023 Under Dev **
This Course is about Learning Internal Design and Implementation of RDBMSs. Several times you have used RDBMSs and written a few SQL queries - but, never given a thought to how RDBMSs internally work. This Course is exactly about this.
This course is not about learning SQL queries or how to work with RDBMSs. This course is for developers.
We shall explore step by step - The Design, Implementation, Data Structures, and Algorithms in place which work together to make your SELECT queries work!
This Course Will be delivered as two courses - In the first Course (this course), we would implement a basic working RDBMS (PostgreSQL clone ) which can handle basic SQL select, create, insert, and delete queries. We will enhance the functionality further by supporting advanced features such as Aggregate functions, Joins, Where, and Group by Clauses. Nested Queries can also be supported. This RDBMS completely exists in RAM, and all data would vanish upon process termination.
In the sequel part of the course, We will take our RDBMS implementation onto the disk for persistent storage ( like real RDBMS do ) and also Implement other Database complexities such as Concurrnet readers/Writers , Write-Ahead-Logging ( WAL), Transactions, DB Update Hooks etc.
Talk to your prof - Do it as a Semester or Final year project. Best of luck!
Needless to say - This course is Advanced and for Champs who are chasing knowledge and excellence rather than degrees and jobs.
Warning: The Level of this course is intermediate to Advanced. Those who are still struggling with basic data structures, better excuse this course. You are expected to be thorough with Coding.