Welcome to the NITCbase project! NITCbase is a Relational Database Management System (RDBMS) implementation project that is intended to help an undergraduate student understand the design and data structures of an elementary RDBMS by implementing one herself.
For detailed information on architecture, methodology, design and roadmap, please refer to the NITCBase Documentation.
The NITCbase project is divided into 12 stages. You can find detailed the code, for each stage by following the links:
- [Stage 1]: Understanding the Disk Interface
- [Stage 2]: Record Blocks and Catalogs
- Stage 3 : The Disk Buffer and Catalog Caches
- [Stage 4]: Linear Search on Relations
- Stage 5 : Opening Relations
- Stage 6 : Buffer Management and Disk Write-back
- Stage 7 : Inserting Records Into Relations
- Stage 8 : Creating and Deleting Relations
- Stage 9 : Selection and Projection on Relations
- Stage 10 : B+ Tree Search on Relations
- [Stage 11] : Index Creation and Deletion
- [Stage 12] : Join on Relations