← back to reading

🗄 Databases

Original CC BY-SA compilation from wpWikipedia, licensed CC BY-SA 4.0.

From Codd's relational model through transactions, indexing, and NoSQL. Translated into runnable Scheme and Python with SVG diagrams.

Users id name email Orders id user_id total Items id order_id product Tables linked by foreign keys. The relational model.
Chapter
1. The Relational Model Tables, rows, columns, and keys: Codd's foundation for all structured data 🗄
2. Relational Algebra Select, project, join, union, difference: the formal operations on relations 🗄
3. SQL Basics CREATE, SELECT, JOIN, GROUP BY: the language that implements relational algebra 🗄
4. Normalization Eliminate redundancy by decomposing tables according to functional dependencies 🗄
5. Indexing B-trees, B+ trees, and hash indexes: trade space for speed on lookups 🗄
6. Transactions ACID properties guarantee correctness when multiple operations must succeed or fail together 🗄
7. Concurrency Control Locks, two-phase locking, and MVCC: let multiple transactions run without corrupting data 🗄
8. Recovery Write-ahead logging and checkpoints: survive crashes without losing committed data 🗄
9. Query Processing Query plans, join algorithms, and cost estimation: how the engine picks the fastest path 🗄
10. NoSQL and Beyond Key-value, document, column-family, graph: when relations are not the right shape 🗄

📺 Video lectures: CMU 15-445: Database Systems (Andy Pavlo)

Neighbors