Добавить в корзинуПозвонить
Найти в Дзене
CODERIKK

🔹 Нормальные формы: 1NF→3NF (быстро

) 🔹 Что решают 1NF, 2NF, 3NF (NF — нормальная форма)? 🔸 Нормализация нужна, чтобы убрать избыточность и предотвратить аномалии при обновлении/вставке/удалении. Без неё данные дублируются, появляются противоречия и падает производительность при правках. 🔸 1NF — каждая ячейка атомарна. Проблема: поля со списками мешают фильтрам и обновлениям. -- не 1NF orders: id | customer | items 1 | Ivan | pen,notebook -- 1NF orders: id | customer | item 1 | Ivan | pen 2 | Ivan | notebook 🔸 2NF — убирает частичные зависимости в таблицах с составным ключом. Проблема: данные, зависящие от части ключа, дублируются — выделите их в отдельную таблицу (например, product_info). 🔸 3NF — убирает транзитивные зависимости (A→B→C). Проблема: косвенная зависимость приводит к обновлению в нескольких местах. Денормализация допустима для скорости: сохраняем предвычисленные поля (например, total) сознательно, понимая риск дублирования. 📚 Нормализуйте для целостности, денормализуйте для произ

🔹 Нормальные формы: 1NF→3NF (быстро)

🔹 Что решают 1NF, 2NF, 3NF (NF — нормальная форма)?

🔸 Нормализация нужна, чтобы убрать избыточность и предотвратить аномалии при обновлении/вставке/удалении. Без неё данные дублируются, появляются противоречия и падает производительность при правках.

🔸 1NF — каждая ячейка атомарна. Проблема: поля со списками мешают фильтрам и обновлениям.

-- не 1NF

orders:

id | customer | items

1 | Ivan | pen,notebook

-- 1NF

orders:

id | customer | item

1 | Ivan | pen

2 | Ivan | notebook

🔸 2NF — убирает частичные зависимости в таблицах с составным ключом. Проблема: данные, зависящие от части ключа, дублируются — выделите их в отдельную таблицу (например, product_info).

🔸 3NF — убирает транзитивные зависимости (A→B→C). Проблема: косвенная зависимость приводит к обновлению в нескольких местах. Денормализация допустима для скорости: сохраняем предвычисленные поля (например, total) сознательно, понимая риск дублирования.

📚 Нормализуйте для целостности, денормализуйте для производительности — выбор по ситуации.

#CODERIKK #SQL #Middle

➡️ Мы в Telegram - Сетке - ВК

Буду рад вашей реакции здесь⬇️