← All courses

🧱 Data Modeling

Keys and relationships, normalization, star vs. snowflake schemas, and slowly changing dimensions.

No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.

Before you start: Learn SQL — Series 1 entire, plus INSERT … SELECT from Series 2. Series 1 models Northwind, the business you queried all through Learn SQL: you decide what its tables should be, load its real rows into them, and run your first report again on your own model. You should already be comfortable with SELECT, WHERE, JOIN and GROUP BY, and able to INSERT rows selected from another table, so your attention goes on the modelling and not on the SQL.

Short on time? The 33 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.


Series 1 · Modeling Fundamentals

model a business you already know, from its sentences to tables that prove themselves

  1. 01

    Start Here: The Modeling Loop — From What a Business Does to Tables That Prove It

    corebeginnercoming soon
  2. 02

    Entities & Attributes — Is It a Thing, or a Fact About a Thing?

    corebeginner#chencoming soon
  3. 03

    Relationships, Cardinality & Optionality — Business Rules as Lines on a Diagram

    corebeginner#chencoming soon
  4. 04

    Grain & Keys — One Row per What, and What Makes It Unique

    corebeginner#kimballcoming soon
  5. 05

    Many-to-Many & Junction Tables — When the Link Is the Real Thing

    corebeginnercoming soon
  6. 06

    Normalization: 1NF, 2NF, 3NF — Functional Dependencies and the Update That Goes Half-Wrong

    corebeginner#coddcoming soon
  7. 07

    Copy or Reference — When Duplicated Data Is Really a Point-in-Time Fact

    corebeginnercoming soon
  8. 08

    Supertypes & Subtypes — Customers, Suppliers, Shippers, Employees: One Thing or Four?

    corebeginnercoming soon
  9. 09

    Data Types & Domains — The Physical Choice That Is Hardest to Undo

    corebeginnercoming soon
  10. 10

    Foreign Keys & Referential Integrity — Relationships the Database Enforces, Not Just Draws

    corebeginnercoming soon
  11. 11

    NOT NULL, UNIQUE, CHECK & DEFAULT — Rules That Match Reality

    corebeginnercoming soon
  12. 12

    Nullable, Missing Row or Separate Table — What an Empty Cell Should Mean

    corebeginnercoming soon
  13. 13

    From Diagram to DDL — CREATE TABLE, and Names a Colleague Can Read

    corebeginnercoming soon
  14. 14

    Reading a Schema You Didn't Design — Reverse-Engineer It, Then Judge It Fairly

    corebeginner#karwincoming soon
  15. 15

    Project — Model Northwind's Business: A Schema That Fits, Refuses and Answers

    corebeginner#projectcoming soon

Series 2 · Modeling for the Real World

design a schema from a brief nobody finished writing, then keep it alive as the business changes

  1. 01

    From a Brief to a Table List — The Nouns, the Verbs and the Questions to Ask

    coreintermediate#evanscoming soon
  2. 02

    Design the Library — Your First Schema, From Nothing

    coreintermediatecoming soon
  3. 03

    Title, Edition, Copy & Keys — Choosing What a Key Identifies

    coreintermediate#kimballcoming soon
  4. 04

    Relationships That Are Events — Loans, Repeats and Their Own Identity

    coreintermediatecoming soon
  5. 05

    Hierarchies & Classification — Adjacency List, Path Enumeration, Nested Sets, and a Second Axis

    intermediate#celkocoming soon
  6. 06

    Temporal Data — Business Time, and What Was True on a Date in the Past

    coreintermediate#snodgrasscoming soon
  7. 07

    Rules Across Rows — One Loan per Copy at a Time, and Where a Rule Should Live

    coreintermediatecoming soon
  8. 08

    created_at, updated_by & deleted_at — System Time, and What Soft Deletes Cost

    intermediatecoming soon
  9. 09

    Lookups, Enums & Reference Data — Where Constants Should Live

    intermediatecoming soon
  10. 10

    BCNF & When to Stop Normalizing — Saying Far Enough in Review

    intermediate#coddcoming soon
  11. 11

    Indexes & Denormalization — Designing for the Reads You Expect, in That Order

    intermediatecoming soon
  12. 12

    JSON Columns — When to Stop Modelling and Store the Document

    intermediatecoming soon
  13. 13

    Schema Evolution — The Library Goes Live: Add, Rename and Split Without Breaking Anyone

    coreintermediate#amblercoming soon
  14. 14

    Project — Six Months Later: Ebooks, a Second Branch, and Reservations

    coreintermediate#projectcoming soon

Series 3 · Dimensional Modeling

reshape your own model into star schemas for reporting, and prove every total

  1. 01

    OLTP vs OLAP Models — Why One Schema Can't Serve Both

    coreadvancedcoming soon
  2. 02

    Facts, Dimensions & the Four-Step Design — Process, Grain, Then Dimensions and Facts

    coreadvanced#kimballcoming soon
  3. 03

    The Star Schema — Build fact_sales From Your Own Model, and Reconcile It

    coreadvanced#kimballcoming soon
  4. 04

    Fact Grain & Additivity — The Measures You Must Not SUM

    coreadvanced#kimballcoming soon
  5. 05

    Fact Table Types — One Row per Event, per Period, or per Pipeline

    coreadvanced#kimballcoming soon
  6. 06

    The Date Dimension & Role-Playing — One Calendar Table, Used Three Ways

    coreadvanced#kimballcoming soon
  7. 07

    Degenerate & Junk Dimensions — The Order Number With No Table, and the Flags With No Home

    coreadvanced#kimballcoming soon
  8. 08

    Snowflake vs Star — Normalizing Dimensions, and What It Costs You

    advanced#kimballcoming soon
  9. 09

    Slowly Changing Dimensions — Type 1, 2 and 3, and Which to Pick

    coreadvanced#kimballcoming soon
  10. 10

    Bridge Tables — When One Fact Row Belongs to Several Dimension Rows

    advanced#kimballcoming soon
  11. 11

    Conformed Dimensions & the Bus Matrix — Sales, Stock and Targets on One Product Table

    coreadvanced#kimballcoming soon
  12. 12

    Data Vault 2.0 — Hubs, Links & Satellites, and When Scale Demands Them

    advanced#linstedtcoming soon
  13. 13

    One Big Table & Wide Tables — What Columnar Storage Changed, and What It Didn't

    advancedcoming soon
  14. 14

    Project — From Your Northwind Model to a Star Schema That Reconciles

    coreadvanced#project#kimballcoming soon

Where this leads


Not here, on purpose

  • Writing queries against these schemas — covered in Learn SQL
  • Loading the model — pipelines, SCD-2 loads, backfills — covered in ETL & Data Pipelines and Analytics Engineering with dbt
  • Loading, querying and running a warehouse at scale, and columnar engine design — covered in Data Warehousing — this course designs the star and proves it on small data
  • Running, tuning and migrating the live database — covered in Data Ops — this track designs the change, that one ships it safely
  • EXPLAIN, index internals and making a slow query fast — covered in Learn SQL, Series 3. In this course, Series 2 · 40 makes only the design call, before the query exists
  • NULL semantics — three-valued logic, and why `= NULL` never matches — covered in Learn SQL, Series 1, which is what NULL does to a query. In this course, Series 1 · 52 is whether the column should allow NULL at all — a different question that happens to share the word
  • Querying JSON once it is in a column — covered in Learn SQL, Series 3, which queries JSON once it is there. In this course, Series 2 · 42 asks only whether it should be JSON in the first place
  • The Party model, order-to-cash, work effort — the patterns themselves — covered in Data Model Patterns — here you learn to decide, there you inherit decisions already proven
  • Contact mechanisms, effective dating, type and status tables and hierarchies as ready-made patterns — covered in Data Model Patterns, which hands over the settled pattern. In this course, Series 1 · 05, Series 2 · 20, Series 2 · 25 and Series 2 · 32 teach how to choose
  • Subject areas and bounded contexts — finding your way around a 200-table schema — covered in Schema Teardowns, Series 1, on real schemas of that size
  • Multi-tenancy — how one product keeps its customers' data apart — covered in Schema Teardowns, Series 2, from products that live the decision
  • How real shipped applications actually modelled it — covered in Schema Teardowns — that track is field evidence, this one is method