Что такое нормализация БД

Python Middle Без компании
Что такое нормализация БД
Ответы
**Нормализация** - это метод проектирования базы данных, который позволяет привести БД к минимальной избыточности. **Избыточность данных** - это когда одни и те же данные хранятся в нескольких местах базы, именно это и приводит к аномалиям. **Процесс нормализации** - это последовательный процесс приведения базы данных к эталонному виду (переход от одной нормальной формы к следующей). **Основные нормальные формы (обычно приводят к 3NF):** - Первая нормальная форма (1NF); - Вторая нормальная форма (2NF); - Третья нормальная форма (3NF); - Четвёртая нормальная форма (4NF); - Пятая нормальная форма (5NF). **Дополнительные нормальные формы:** - Ненормализованная форма или нулевая нормальная форма (UNF); - Нормальная форма Бойса-Кодда (BCNF ) : - Доменно-ключевая нормальная форма (DKNF ) ; - Шестая нормальная форма (6NF). **Первая нормальная форма (1NF) :** Таблицы должны соответствовать реляционной модели данных и соблюдать определённые реляционные принципы: - В таблице не должно быть дублирующих строк; - В каждой ячейке таблицы хранится атомарное значение (одно не составное значение); - В столбце хранятся данные одного типа; - Отсутствуют массивы и списки в любом виде. Назначение строк - хранить данные; Назначение столбцов - хранить структурную информацию: Назначение ячеек - хранить атомарное значение. **Вторая нормальная форма (2NF )** - Таблица должна находиться в 1NF; - Таблица должна иметь ключ; - Все неключевые столбцы таблицы должны зависеть от полного ключа (в случае, если ключ составной). **Третья нормальная форма (3NF)** - Таблица должна находиться в 1NF; - В таблицах должна отсутствовать транзитивная зависимость (когда неключевые столбцы зависят от значений других неключевых столбцов); - Неключевые столбцы не должны пытаться играть роль ключа в таблице; - Таблица должна содержать правильные неключевые столбцы.