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