Relational Design
From functional dependencies through the normal forms: why a table splits, and where it stops.
Databases & Data
- 1
Functional Dependenciesin review
Data · Relational Design · ~20 minA rule about every row a table could hold: test it against the rows, follow what a set of attributes determines, find the candidate keys, and trim the rules to a minimal cover.
- 2
First Normal Formin review
Data · Relational Design · ~15 minOne value per cell, and no value spread over numbered copies of a column: find the lists hiding in a table, give each member a row of its own, and name the key that needs.
- 3
Second Normal Formin review
Data · Relational Design · ~15 minA composite key, and an attribute that hangs off only part of it: find the partial dependency, see the rows it makes you repeat, and split it off into a relation of its own.
- 4
Third Normal Formin review
Data · Relational Design · ~15 minA non-key attribute that fixes another: follow each rule's closure, name the chain from the key through it, see the facts it makes you repeat, and synthesize a relation for its middle.
- 5
Boyce-Codd Normal Formin review
Data · Relational Design · ~20 minEvery determinant a superkey, no exemption: find the rule third normal form lets through, split on it, chase a tableau to prove the join is lossless, and see which rule the split cannot keep.
- laterFourth Normal Form
- laterFifth Normal Form
- laterDenormalization