Какие знаешь формы нормализации в БД

Python Middle Без компании
Какие знаешь формы нормализации в БД
Ответы
Нормализация — процесс организации данных в БД для уменьшения избыточности и аномалий. Основные формы: - **1NF (Первая нормальная форма)** ``` -- Ненормализованная таблица (повторяющиеся группы) CREATE TABLE orders ( order_id INT, products VARCHAR(255) -- "item1,item2,item3" — нарушение 1NF ); -- 1NF CREATE TABLE orders ( order_id INT, product VARCHAR(100) -- Один продукт на строку ); ``` - Все атрибуты атомарны (неделимы). - Нет повторяющихся групп. - **2NF (Вторая нормальная форма)** - Соответствует 1NF. - Все неключевые атрибуты зависят от всего первичного ключа (нет частичной зависимости). - **3NF (Третья нормальная форма)** - Соответствует 2NF. - Нет транзитивных зависимостей (неключевые атрибуты не зависят друг от друга). - **BCNF (Нормальная форма Бойса-Кодда)** - Усиленная 3NF: любая детерминанта — потенциальный ключ. - **4NF и 5NF** - Устраняют многозначные зависимости и соединения. Пример нарушения 3NF: ``` CREATE TABLE employees ( emp_id INT PRIMARY KEY, dept VARCHAR(100), dept_head VARCHAR(100) -- Зависит от dept, а не от emp_id (нарушение 3NF) ); ```