SQLLab
Теория· 10 мин· 15 XP

Зачем нормализовать: аномалии данных

Представьте таблицу raw_orders, где в одной строке хранятся и данные заказа, и данные покупателя, и данные о товаре.

Такая схема порождает три вида аномалий:

АномалияЧто происходит
ВставкиНельзя добавить нового покупателя без заказа
ОбновленияПри смене города покупателя нужно обновить все строки
УдаленияУдаление последнего заказа покупателя уничтожает его данные

Пример: таблица raw_orders

sql
SELECT * FROM raw_orders LIMIT 3;

Посмотрите: customer_name, customer_city, customer_email повторяются в каждой строке одного покупателя. Если покупатель переедет в другой город — придётся обновлять сотни строк.

Нормальные формы

1НФ — атомарные значения, нет повторяющихся групп. 2НФ — нет частичных зависимостей от составного ключа. 3НФ — нет транзитивных зависимостей между неключевыми атрибутами.

В следующих уроках мы разберём каждую форму на примере raw_orders.

Прочитайте урок до конца — прогресс засчитается автоматически