Skip to main content

Normalization

Normalization organizes relational tables into normal forms to remove redundancy and prevent update anomalies.

Normalization is a systematic approach to designing relational database schemas. By decomposing tables so each fact is stored in exactly one place, normalization eliminates redundancy and prevents anomalies during inserts, updates, and deletes.

How It Works

Normalization proceeds through a series of normal forms, each building on the last:

  • First Normal Form (1NF): Each column holds atomic values; no repeating groups.
  • Second Normal Form (2NF): Every non-key column depends on the whole primary key, removing partial dependencies.
  • Third Normal Form (3NF): No non-key column depends on another non-key column, removing transitive dependencies.
  • BCNF and higher: Stricter forms addressing remaining anomalies.

In practice, designers split a wide table into several related tables joined by foreign keys. For example, customer details move to a customers table referenced by an orders table, so a customer's address is stored once.

Why It Matters

Normalization protects data integrity. When a fact lives in one place, updates cannot leave inconsistent copies behind, and storage is used efficiently. It is the default discipline for transactional (OLTP) systems where correctness matters.

The trade-off is that highly normalized schemas require more joins to assemble data, which can slow read-heavy and analytical workloads. That is when denormalization is deliberately applied.

Related Terms

Normalization is the counterpart to denormalization and relies on primary keys and foreign keys to relate tables.