What is database normalization

· Category: SQL & Databases

Short answer

Normalization is the process of organizing data to minimize redundancy and dependency by dividing large tables into smaller ones and defining relationships between them.

How it works

The normal forms progress from 1NF to 5NF. Most designs target 3NF: - 1NF: Atomic values, no repeating groups. - 2NF: 1NF plus no partial dependencies on composite keys. - 3NF: 2NF plus no transitive dependencies on non-key attributes. - BCNF: Every determinant is a candidate key.

Example

Instead of storing department_name in an employees table, create a departments table and reference it with department_id.

Why it matters

Normalization prevents update anomalies, saves storage, and ensures consistency. However, over-normalization can complicate queries and require excessive joins.r