Chapter 19 — Further Reading
Foundations (🔬 CS Student)
- E. F. Codd's papers on normalization (1NF–3NF) and Boyce-Codd's BCNF. The origin of the normal forms; rigorous and historically illuminating.
- Ramakrishnan & Gehrke / Silberschatz / Elmasri & Navathe — the normalization chapters. Functional dependencies, closure, minimal cover, decomposition algorithms (lossless-join, dependency-preserving), and 4NF/5NF. The full theory.
- C. J. Date, Database Design and Relational Theory: Normal Forms and All That Jazz. A deep, opinionated, modern treatment of normalization theory.
Approachable explanations (everyone)
- "Normalization explained with examples" tutorials — many walk a flat table through 1NF→3NF much like this chapter's anchor. A second pass with different data helps it stick.
- "A simple guide to five normal forms" (the classic Kent paper, "A Simple Guide to Five Normal Forms in Relational Database Theory") — concise and famous.
- The mnemonic — "the key, the whole key, and nothing but the key (so help me Codd)" — a memorable summary of 1NF/2NF/3NF.
In practice (💻 Developer · 🏗️ DBA)
- Articles on "denormalization trade-offs" — preview of Chapter 20; understand both directions together.
- "When to break normalization" — practitioner perspectives on the read-performance vs. write-integrity balance.
- dbt / analytics-engineering on "normalized vs. dimensional modeling" — how OLTP (normalized) and OLAP/warehouse (often denormalized/star schema, Chapter 34) differ by purpose.
Reference (this book)
- Appendix F — Normalization Reference: 1NF–BCNF with worked examples, on one page.
- Chapter 20 — Denormalization (next): the deliberate reverse.
- Chapter 34 — Data Warehousing: where denormalized star schemas are the right default for analytics.
Do, don't just read
- Normalize the chapter's flat table yourself, step by step, then compare your result to Mercado's
sql/schema.sql. They should essentially match — that's the anchor's lesson. - Audit a real schema (yours or one online) for transitive dependencies (Case Study 2): for each non-key column, ask "does this depend on the key, or on another column?"
- Write the FDs for three of your project's tables and confirm each table is in 3NF.
Next: Chapter 20 — Denormalization: breaking the rules on purpose.