Computer Atlas

Database Foundations

For intermediates 14 topics (7 required · 7 optional) · updated 2026-06-08

The ideas every working programmer should know about relational databases — model, query language, design, indexing, transactions, and the NoSQL alternatives.

Reading time
~67 min (+67 min optional)
Level mix
2 beginner · 12 intermediate

Most applications stand or fall on how well they use their database. This short path walks through the relational model (the math), SQL (the language), normalisation (the design discipline), indexing (the performance lever), and ACID transactions (the consistency guarantee).

It then covers the NoSQL landscape and the data pipeline tools that sit above raw storage, so you know what to reach for when the relational model isn’t the right fit.

Edit this path on GitHub

Roadmap

Loading progress...

  1. The model

  2. An organised collection of data with a system around it that lets you store, retrieve, update, and query it efficiently.

  3. A model of data as a set of relations (tables of tuples) — the mathematical foundation under SQL databases.

  4. A discipline for arranging tables to eliminate redundancy and update anomalies — the design counterpart to the relational model.

  5. The language

  6. A declarative language for querying and manipulating relational databases — you say what you want, the database figures out how.

  7. Query PlanOptional

    The step-by-step program a database derives from your SQL query before executing it — the lever you use to diagnose and fix slow queries.

  8. ORMOptional

    A library that maps rows in a relational database to objects in your programming language, so you can query with code instead of SQL strings.

  9. Performance and reliability

  10. Auxiliary data structures a database maintains so it can answer queries without scanning every row — the single biggest knob for query performance.

  11. A transaction model that guarantees Atomicity, Consistency, Isolation, and Durability — the contract that keeps databases reliable under failures and concurrency.

  12. The disciplined, versioned process of changing a database's structure — adding columns, tables, or indexes — over time, in step with the application, without losing data or downtime.

  13. Beyond relational

  14. An umbrella term for databases that don't follow the relational model — key-value stores, document stores, wide-column stores, graph databases.

  15. A database that maps keys to values with O(1) lookup — the simplest possible data store, and the most-deployed.

  16. A NoSQL database that stores data as self-contained documents (usually JSON), each holding nested fields and arrays, instead of rows split across relational tables.

  17. Data pipelines

  18. ETLOptional

    Extract, Transform, Load — the process of pulling data out of source systems, reshaping and cleaning it, and loading it into a destination like a data warehouse for analysis.

  19. A database optimized for analytics — large-scale querying and aggregation over historical data from across an organization — rather than for the fast small transactions of an operational database.