Ответ
Нормализация — процесс устранения избыточности и аномалий в структуре базы данных. Основные нормальные формы (NF):
| Форма | Требование | Пример нарушения/исправления |
|---|---|---|
| 1NF (Первая) | Атомарность атрибутов, отсутствие повторяющихся групп. | "Иван;Петр" в одной ячейке → разделить на две строки. |
| 2NF (Вторая) | Выполняет 1NF. Нет частичных зависимостей неключевых атрибутов от составного первичного ключа. | Заказ(№_заказа, Товар, Цена_товара). Цена зависит только от Товара, а не от всего ключа → вынести в отдельную таблицу Товары. |
| 3NF (Третья) | Выполняет 2NF. Нет транзитивных зависимостей (неключевой атрибут зависит от другого неключевого). | Студент(ID, Группа, Староста_группы). Староста зависит от Группы, а не от ID студента → вынести в таблицу Группы. |
| BCNF (Бойса-Кодда) | Усиленная 3NF. Для каждой функциональной зависимости X → Y детерминант X должен быть суперключом. |
Решает редкие аномалии, которые остаются после 3NF. |
| 4NF | Решает проблему многозначных зависимостей. | Таблица Преподаватель(Преподаватель, Предмет, Аудитория), где один преподаватель ведет несколько предметов в нескольких аудиториях. |
Цель: Достижение баланса между устранением аномалий (вставки, обновления, удаления) и производительностью запросов. Чрезмерная нормализация может привести к необходимости частых JOIN.