All Projects Advanced Coming Soon

Mini Relational Database

Build a small relational database engine from scratch in modern C++ with zero external dependencies. You parse a subset of SQL, store rows in tables, execute selects with filtering, and persist pages to disk. A challenging project that ties together parsing, data structures, and storage.

~13 hours

Support Free C++ Education

Help us keep this platform free for everyone! Your support enables us to create more high-quality lessons, exercises, and interactive content.

Become a Patron

What You'll Build

A command-line database that accepts a subset of SQL to create tables, insert rows, and run selects with where clauses, persisting all data to a file between sessions.

Learning Objectives

  • Tokenise and parse a subset of SQL with recursive descent
  • Represent columns and typed values with std::variant
  • Store table rows in memory and index them with std::unordered_map
  • Execute select, insert, and filter operations over rows
  • Serialise tables into fixed-size pages written to disk
  • Manage record and page ownership with move semantics
  • Report clear errors for malformed queries and type mismatches

Coming Soon

This project is in development. Register your interest and we'll email you the moment it goes live.

No spam. Unsubscribe anytime.

Coming Soon

This project is in development. Register your interest and we'll email you the moment it goes live.

No spam. Unsubscribe anytime.