Normalization organises tables to eliminate duplicate data and the anomalies it causes. The first three normal forms cover almost all practical design work — and they're a staple of every database interview.
Key Points
- 1NF: atomic values, no repeating groups — one value per cell
- 2NF: 1NF + no partial dependency on part of a composite key
- 3NF: 2NF + no transitive dependencies (non-key → non-key)
- Fixes anomalies: update in one place, no orphan inserts or deletes
- Practical smell test: the same fact typed in many rows means normalise
- Example: split orders(customer_name, customer_city, …) into customers + orders
.png)