1NF through BCNF — eliminate redundancy, prevent anomalies, and know when to denormalize for performance.
Five passes over the same idea, each from a different angle. Do them in order, or jump to whichever you need.
Database normalization reduces redundancy through normal forms: 1NF (atomic values), 2NF (no partial dependencies), 3NF (no transitive dependencies), BCNF (every determinant is a candidate key). Denormalization is sometimes needed for read performance. The key is understanding the trade-offs.