Normalization
A database normalization is the process of organizing a relational database to reduce redundancy and improve data integrity. It is governed by a set of rules — the normal forms — that progressively constrain how data can be decomposed into tables. But normalization is not merely a mechanical procedure; it is a design philosophy about what constitutes a legitimate fact and how facts should be isolated from each other to prevent contradiction.
The tension between normalization and performance is one of the defining tradeoffs in database design. A fully normalized schema eliminates redundancy but requires expensive joins to reconstruct useful views. A denormalized schema precomputes these views at the cost of update anomalies and storage bloat. The choice is not technical but epistemological: how much truth should be stored once, and how much should be duplicated for speed?
See also: SQL, Relational model, Join (SQL), Denormalization"