# Normalization at a Glance — MySQL

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

> 1NF, 2NF, 3NF — reducing duplicate data.

## 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.
