|
|
Database normalization is a process performed on your tables to make them less likely to fall prey to various common kinds of data anomaly:
1st normal form contains no repeating groups and guarantees that all attributes are dependent on a primary key.
2nd normal form contains no partial dependencies.
3rd normal form contains no transitive dependencies.
For practical purposes, 3rd normal form is usually sufficient; indeed, overnormalizing can lead to performance issues, with the database having to perform too many joins.
Boyce-Codd normal form ensures each determinant is a candidate key.
4th normal form contains no more than one multivalued dependency.
5th normal form ensures tables cannot be reduced to smaller tables with different keys.
Domain key normal form is a theoretical ideal beyond the scope of this book.
|
|