Index

Free, with Google

Keep going, free.

A free account opens lessons 2 and 3 of every track, 33 more lessons, and keeps your progress and review cards on every device.

Start free with Google

Launch price

Open everything on chalk.

Every lesson, board, video, lab and paper, and the full review decks. Yearly is $39/year, or $19.50 for your first year with LAUNCH50, ends 1 Nov, 18:30 UTC.

See plansStart free instead

Module 01 · Data Systems · Data on one machine

Every fact in one place: normalisation

Data Models and Query Languages
Data Models and Query Languages · Open board

The same board that shows a bolt stored once instead of copied under every engine. Normalisation is that rule applied to tables: each fact written down exactly once, and everything else points at it.

Before you start. A table is rows sharing the same columns, and a key is the column (or the few columns together) that names one row and no other. The previous lesson, Which column names the row: keys, gave you primary keys, candidate keys, composite keys and foreign keys. Here you use them to decide where each fact lives.

Lesson 5 of 17 in Data Systems

The rest of this lesson is part of a plan.

A plan opens every lesson, board, video, lab and paper on chalk. Yearly is $39/year, or $19.50 for your first year with LAUNCH50, ends 1 Nov, 18:30 UTC.

See plansAlready a member? Sign in

Or start free: a free account opens lessons 2 and 3 of every track.

In this lesson

  • The shop’s order book, where one fact lives in five places
  • 1971: Codd’s rules for where a fact may live
  • First normal form: one value per cell, no repeating groups
  • Second normal form: nothing may depend on half the key
  • Third normal form: no column may depend on another ordinary column
  • BCNF: when 3NF still lets a copy through
  • The other direction: when you copy on purpose

Terms it explains: update anomaly, insert anomaly, delete anomaly, anomaly, normal form, Normalisation, functional dependency, First normal form (1NF), Second normal form (2NF), transitive dependency, Third normal form (3NF), join, Boyce-Codd normal form (BCNF), denormalise, declarative, impedance mismatch, imperative, locality, many-to-one / many-to-many, normalization, one-to-many, property graph, relation/tuple, schema-on-read, schema-on-write, triple-store, vertex/edge.

Related papers

Review Data Systems