Первые три нормальные формы
- 1NF — каждая ячейка содержит одно атомарное значение (не массив, не список через запятую)
- 2NF — нет частичных зависимостей: каждый не-ключевой атрибут зависит от всего первичного ключа
- 3NF — нет транзитивных зависимостей: не-ключевые атрибуты зависят только от ключа, а не от других не-ключевых
Денормализация
Нормализация снижает избыточность, но увеличивает число JOIN. В нагруженных системах чтения данные намеренно денормализуют (дублируют), чтобы избежать сложных запросов. Типичный пример — хранение username вместе с комментарием, чтобы не делать JOIN к таблице users.