Введение

Пятая нормальная форма (5NF), также известная как нормальная форма проекции-соединения (PJ/NF), представляет собой уровень нормализации базы данных, предназначенный для устранения избыточности в реляционных базах данных, хранящих множественные значения, путём выделения семантически связанных множественных взаимосвязей. Таблица считается находящейся в 5NF тогда и только тогда, когда каждая нетривиальная зависимость соединения в этой таблице вытекает из ключей-кандидатов. Это последняя нормальная форма с точки зрения устранения избыточности. Шестая нормальная форма (6NF) также существует, но её цель – не устранение избыточности, поэтому она используется лишь небольшим количеством хранилищ данных, где может быть полезна для создания несводимых таблиц. Зависимость соединения *{A, B, Z} для отношения R вытекает из ключей-кандидатов R, если и только если каждый из A, B и Z является суперключом для R.

Пятая нормальная форма была впервые описана Рональдом Фагином в его докладе на конференции 1979 года «Нормальные формы и операторы реляционных баз данных».

Использование

Только в редких случаях таблица, соответствующая 4NF, не соответствует 5NF; например, когда результирующие таблицы после декомпозиции образуют цикл. Это происходит, когда сложное реальное ограничение, определяющее допустимые комбинации значений атрибутов в таблице 4NF, не является неявным в структуре самой таблицы. Если такая таблица не нормализована до 5NF, часть ответственности за поддержание логической согласованности данных в ней ложится на приложение, выполняющее операции вставки, удаления и обновления; при этом возрастает риск возникновения несогласованности данных. В отличие от этого, проектирование в соответствии с 5NF исключает возможность возникновения подобных несоответствий. Таблица T находится в пятой нормальной форме (5NF) или проекционно-соединительной нормальной форме (PJ/NF), если она не может быть разложена без потерь на какое-либо количество меньших таблиц. Случай, когда все меньшие таблицы после декомпозиции имеют тот же ключ-кандидат, что и таблица T, исключается.