Creating a Relational Database
Introducing our plan and motivations to create a relational database
Welcome!
Let’s create a Relational Database together.
This project is all about learning fundamental database concepts through hands-on coding. We're not building a production-ready system. Instead, we're building something better: a deep understanding of how databases work under the hood.
The plan
We’ll start simple, using existing libraries to get a functional implementation running as quickly as possible. Over time, we'll peel back the layers and replace many of those dependencies with our own code, gaining insight into each part of the system.
Our implementation will be in Python. Much later — when it makes sense — we may re-implement parts of it in lower-level tools like C, Zig, Rust, or performance-focused tools like Cython or Numba.
Side quests
Occasionally, we’ll go off-road. To support our database project, we’ll explore tangential but important topics — for example, building terminal-based user interfaces to query and interact with the system. These diversions are part of the fun and learning.
Where to find things
🧠 Code repository: Some Database
House rules
I will be editing posts if I find mistakes or something else I think I should add
Main development stages will include a wrap-up video
Every main development stage will have a branch on GitHub. Stages can vary substantially
Many images will be AI generated. Trust me, you don’t want to see my drawings
z