# Normalization at a Glance — MySQL Fundamentals: SQL, Joins and Transactions

Source: https://www.skillbyai.com/en/mysql/sql-normalization

> Reduce duplicate data with 1NF, 2NF and 3NF, and know when deliberate denormalization is justified.

## 1NF: atomic values

**1NF** requires each column to hold a single, atomic value — no comma-separated lists crammed into one cell.

## 2NF & 3NF

**2NF** removes columns that only depend on part of a composite key. **3NF** removes columns that depend on another non-key column instead of the key itself.

## Normalize, then denormalize if needed

Design normalized first for data integrity; only denormalize (duplicate data) later, deliberately, for a proven performance need.
