- 17 октября 2026
- 8 минут
- 4
Статью подготовили специалисты образовательного сервиса Zaochnik.
Пятая нормальная форма (5NF) в теории баз данных
Пятая нормальная форма, или 5NF, — это форма нормализации отношений в реляционных базах данных, предназначенная для устранения избыточности, связанной с зависимостями по соединению. 5NF требует, чтобы все зависимости по соединению данного отношения определялись исключительно его возможными ключами. Такое требование исключает появление ложных кортежей при восстановлении исходного отношения из его проекций, что предотвращает аномалии обновлений.
Пятая нормальная форма (5NF) — это нормальная форма, при которой любая зависимость по соединению в отношении определяется только его ключами.
Зависимости по соединению
Зависимость по соединению расширяет понятие многозначной зависимости. Эти зависимости возникают, когда отношение нельзя безопасно декомпозировать на две проекции без потерь. Практически это встречается в отношениях, которые называют 3-декомпозируемыми, то есть такими, что могут быть декомпозированы на три и более проекций с сохранением информации.
Механически зависимость по соединению означает, что повторное соединение разбиений отношения приводит к появлению кортежей, отсутствовавших в исходном наборе. В таких случаях базовое свойство нормализации — восстановление исходного отношения без потерь — нарушается при двухчастичной декомпозиции. По этой причине задействуют декомпозицию на три и более проекций.
Для пользователя это означает, что при проектировании сложных отношений с несколькими взаимосвязанными атрибутами нельзя ограничиваться только четвертой нормальной формой. В противном случае возникают аномалии обновления, избыточность и ложные данные.
Отношения с зависимостями по соединению, которые не сводятся к функциональным или многозначным, содержат аномалии, непредотвращаемые традиционными нормализациями до 4NF.
Механика и критерии пятой нормальной формы
Отношение R находится в пятой нормальной форме, если при любой декомпозиции на проекции натуральное соединение этих проекций восстанавливает исходное отношение без добавления лишних кортежей. Иными словами, в отношении отсутствует зависимость по соединению с нарушением ключевого свойства.
Математический критерий выглядит так:
то зависимость по соединению существует.
Для удовлетворения 5NF любая такая зависимость должна быть порождена ключами отношения. Наличие зависимостей по соединению вне ключей свидетельствует о необходимости дальнейшей декомпозиции.
На практике вычисление наличия таких зависимостей требует анализа всех возможных состояний данных, а не только текущего экземпляра, что усложняет применение 5NF.
Пример и применение 5NF
Рассмотрим отношение СОТРУДНИК-ОТДЕЛ-ПРОЕКТ с атрибутами (Номер_Сотруд, Номер_Отдела, Номер_Проекта), где первичным ключом является полный набор этих атрибутов. Допускается, что сотрудник работает в нескольких отделах и над несколькими проектами в каждом из них.
Это отношение лишено функциональных и многозначных зависимостей, значит оно находится в четвертой нормальной форме. Однако может присутствовать зависимость по соединению, выражаемая через три проекции:
- СО = (Номер_Сотруд, Номер_Отдела)
- СП = (Номер_Сотруд, Номер_Проекта)
- ОП = (Номер_Отдела, Номер_Проекта)
Если существует зависимость соединения между этими тремя отношениями, то исходное отношение можно декомпозировать на три проекции: СОТРУДНИК-ОТДЕЛ, СОТРУДНИК-ПРОЕКТ и ОТДЕЛ-ПРОЕКТ. Натуральное соединение этих проекций восстановит изначальный набор кортежей без избыточных или ложных.
Данное разбиение устранит аномалии при вставке, обновлении и удалении данных. Несоблюдение такого разбиения может привести к повторению, потере целостности и появлению ложных данных.
Пример с отношением СОТРУДНИК-ОТДЕЛ-ПРОЕКТ, в котором допускается наличие зависимости по соединению, требующей разбиения на три отношения для удаления избыточности.
Технические ограничения и сложности применения 5NF
Определение наличия зависимостей по соединению требует анализа всех потенциальных состояний БД — ситуация, когда на основе текущих данных невозможно однозначно подтвердить или опровергнуть их существование. Такой анализ существенно сложнее, чем проверка функциональных или многозначных зависимостей.
Зачастую практическая деятельность ограничивается приведением отношений к четвертой нормальной форме и к BCNF, поскольку 5NF редко проявляется в типовых схемах.
Использование пятой нормальной формы оправдано при обнаружении сложных зависимостей с несколькими наборами атрибутов. Типичная ошибка — игнорирование таких зависимостей, что приводит к аномалиям при обновлениях и вставках.
Сравнение с другими нормальными формами
До 5NF отношения нормализуются через устранение таких зависимостей, как функциональная (2NF, 3NF), транзитивная (3NF), многозначная (4NF) и др. Каждая последующая норма требует соблюдения более строгих условий.
Отношение в 4NF не содержит многозначных зависимостей, но может содержать зависимости по соединению. 5NF устраняет и эти случаи. Тем не менее, 5NF является специальным случаем с высокой вычислительной сложностью проверки.
На практике для большинства реляционных систем применяется нормализация до 3NF или BCNF, в отдельных случаях — 4NF. Пятая нормальная форма показана в базах с особо сложными зависимостями по соединению.
Матрица условий применения и ограничения 5NF
Для выбора нормальной формы применяют критерии в зависимости от характеристик данных и требований к целостности:
- Если отношение содержит функциональные зависимости с повторяющимися группами — применяют 2NF и 3NF.
- Если есть транзитивные зависимости — переходят к BCNF.
- При наличии многозначных зависимостей применяют 4NF.
- Если в отношении обнаружена зависимость по соединению, существующая вне ключей, необходимо перейти к 5NF.
- Если вычисления и анализ зависимостей по соединению невозможны или избыточны, применяют 4NF.
| Нормальная форма | Устраняемые зависимости | Типичный уровень декомпозиции | Сложность проверки |
|---|---|---|---|
| 2NF | Функциональные зависимости с повторяющимися атрибутами | Декомпозиция на две проекции | Низкая |
| 3NF | Транзитивные функциональные зависимости | Декомпозиция на две проекции | Низкая |
| BCNF | Все функциональные зависимости | Декомпозиция на две проекции | Средняя |
| 4NF | Многозначные зависимости | Декомпозиция на две проекции | Средняя |
| 5NF | Зависимости по соединению вне ключей | Декомпозиция на три и более проекций | Высокая |
Согласно данным, нормализация до 5NF требует большего числа проекций и сложного анализа зависимостей, что влияет на производительность проектирования и сложности в сопровождении баз.