4.3.2. Проблема полной декомпозиции, четвертая и пятая нормальные формы

Условие четвертой и пятой нормальных форм косвенно связаны с операцией соединения.
В начале дадим определение полной декомпозиции отношения R. Под полной декомпозицией отношения будем понимать совокупность его пересекающихся проекций, таких, что объединение множеств атрибутов, на которые производятся проекции, совпадает с множеством всех атрибутов отношения R. Говорят, что существует проблема полной декомпозиции отношения R, если соединение проекций, входящих в отношение R, не восстанавливает отношение R. Пример та¬кой ситуации будет рассмотрен ниже.
Рассмотрим отношение СПЕЦИАЛИЗАЦИИ (ФИО, основная специализация, специализация по физре).
Специализации

ФИО

Осн. специализация

Специализация по физ-ре

Иванов

информатика

плавание

Иванов

информатика

лыжи

Сидоров

информатика

плавание

Сидоров

информатика

бокс

Петров

информатика

плавание

Петров

информатика

бокс

Петров

математика

плавание

Петров

математика

бокс

Легко видеть, что данное отношение находится в НФБК (первичный ключ образует все множество атрибутов, транзитивные зависимости отсутствуют, не¬ключевые детерминанты также отсутствуют), но в тоже время при внимательном рассмотрении можно видеть некоторые странности. Действительно, если мы хотим добавить для студента Иванова новую основную специализацию, то нам придется добавлять не одну запись, а несколько - столько, сколько у него специализаций по физкультуре, что не очень удобно. Интуитивно видно, что проблема фактически связана с попыткой представления повторяющегося набора характеристик сущности путем многократного копирования кортежей. Такая проблема воз¬никает редко по той причине, что при инфологическом моделировании в ER-модели нет возможностей использовать повторяющиеся наборы характеристик. Если рассуждать в терминах зависимостей между атрибутами, то можно сказать, что имеют место многозначные зависимости. В данном случае, множество значений атрибутов «основная_специализация» и «специализация_по_физ-ре» многозначно зависят от атрибута «ФИО».

Определение. Отношение R называется отношением, заданным в четвертой нормальной форме, если оно задано в нормальной форме Бойса-Кодда и в нем, в случае присутствия многозначной зависимости атрибута B от атрибута A, все осталь¬ные атрибуты (если они существуют) функционально зависят от атрибута A. Добиться выполнения условий четвертой нормальной формы можно с помощью следующего расщепления:
ОСНОВНАЯ_СПЕЦИАЛИЗАЦИЯ (ФИО, осн. специализация) СПЕЦИАЛИЗАЦИЯ ПО ФИЗ-РЕ(ФИО, специализация_по_физ-ре)

Основная специализация

ФИО

Осн. специализация

Иванов

информатика

Сидоров

информатика

Петров

информатика

Петров

математика

Специализация по физ-ре

ФИО

Специализация по физ-ре

Иванов

плавание

Иванов

лыжи

Сидоров

плавание

Сидоров

бокс

Петров

плавание

Петров

бокс

 

Таким образом, мы производим расщепление по атрибуту - источнику многозначной зависимости ( в данном случае - ФИО).
Одной из причин добиваться выполнения условий 4-й нормальной формы является избавление от проблемы полной декомпозиции.
Действительно, в отношении СПЕЦИАЛИЗАЦИИ такая проблема присутствовала. Рассмотрим следующие проекции этого отношения:
(ФИО, основная_специализация)
(основная_специализация, специализация_по_физ-ре)
 

ФИО

Основная специализация

Иванов

информатика

Сидоров

информатика

Петров

информатика

Петров

математика

 

Основная специализация

Специализация по физ-ре

информатика

плавание

информатика

лыжи

информатика

бокс

математика

плавание

математика

бокс

Уже должно быть интуитивно понятно, что тут «что-то не так», поскольку второе отношение не имеет смысла. На самом деле, здесь находит отражение все та же проблема многозначных зависимостей.
Теперь выполним соединение получившихся проекций:
 

ФИО

Осн. специализация

Специализация по физ-ре

Иванов

информатика

плавание

Иванов

информатика

лыжи

Иванов

информатика

бокс

Сидоров

информатика

плавание

Сидоров

информатика

лыжи

Сидоров

информатика

бокс

Петров

информатика

плавание

Петров

информатика

лыжи

Петров

информатика

бокс

Петров

математика

плавание

Петров

математика

бокс

Мы видим, что отношение не восстанавливается в прежнем виде (образуют¬ся новые кортежи).
К сожалению, проблема полной декомпозиции не всегда связана с наруше¬нием условий 4-й нормальной формы.
Рассмотрим отношение СОТРУДНИКИ (ФИО, организация, должность).
 

Сотрудники

ФИО

Организация

Должность

Иванов ИИ.

ООО «Луч»

техник

Петров П.П.

ТОО «Реникс»

программист

Иванов И.И.

ТОО «Реникс»

программист

Сидоров С.С.

ООО «Луч»

бухгалтер

В данном случае отношение находится в 4-й нормальной форме. Действительно, многозначные зависимости здесь отсутствуют. Множество значений атрибута «должность» не определяется однозначно ни по атрибуту «ФИО» , ни по атрибуту «организация», то же самое можно сказать и про атрибут «организация». Интуитивно понятно, что тут есть многозначные зависимости, как бы множеств возможных значений атрибутов. Рассмотрим полную декомпозицию:
ФИО-ОРГАНИЗАЦИЯ (ФИО, организация)

ФИО-ПРОФЕССИЯ (ФИО, профессия) ФИО-организация
 

ФИО

Организация

Иванов И.И.

ООО «Луч»

Петров П.П.

ТОО «Реникс»

Иванов И.И.

ТОО «Реникс»

Сидоров С.С.

ООО «Луч»

 

Фио-должность
 

ФИО

Должность

Иванов И.И.

техник

Петров П.П.

программист

Иванов И.И.

программист

Сидоров С.С.

бухгалтер

Здесь, все проекции имеют содержательный смысл, а все же проблема полной декомпозиции присутствует.

ФИО

Организация

Должность

Иванов И.И.

ООО «Луч»

техник

Иванов И.И.

ООО «Луч»

программист

Иванов И.И.

ТОО «Реникс»

техник

Иванов И.И.

ТОО «Реникс»

программист

Петров П.П.

ТОО «Реникс»

программист

Сидоров С.С.

ООО «Луч»

бухгалтер

Определение. Отношение R является отношением, заданным в 5-й нор¬мальной форме, если оно находится в 4-й нормальной форме и в нем отсутствует проблема полной декомпозиции.
Примечание. Поскольку, условие 4-й нормальной формы также связано с этой проблемой, в определении начальное условие можно заменить на условия нормальной формы Бойса-Код- да.
Особенность 5-й нормальной формы в том, что добиться выполнения ее условий в общем можно только за счет разбиения на большее, чем 2 количество отношений. В данном случае проблему можно устранить расщеплением на 3 проекции:
 

ФИО-ОРГАНИЗАЦИЯ (ФИО, организация)

ФИО-ПРОФЕССИЯ (ФИО, профессия)

ОРГАНИЗАЦИЯ-ПРОФЕССИЯ (организация-профессия)

ФИО-организация

ФИО

Организация

Иванов И.И.

ООО ‘Луч’

Петров П.П.

TOO ‘Реникс’

Иванов И.И.

ТОО ‘Реникс’

Сидоров С.С.

ООО ‘Луч’

ФИО-должность

ФИО

Должность

Иванов И.И.

техник

Петров П.П.

техник

 

Иванов И.И.

программист

Сидоров С.С.

бухгалтер

Организация-должность

Организация

Должность

ООО «Луч»

техник

ТОО «Реникс»

программист

ООО «Луч»

бухгалтер

 

В общем случае расщепление следует проводить на такое множество проекций, которое, являясь полной декомпозицией, в соединении непременно дает исходное отношение. Действительно, если выполнить соединение сразу трех таблиц, то исходное отношение будет восстановлено.
Кстати, требование восстанавливаемости исходного отношения посредством операции соединения справедливо для любого шага нормализации (при переходе к любому уровню нормальной формы), что фактически означает отсутствие потери информации.
Пятая нормальная форма является последней, которой можно добиться путем последовательного расщепления отношения ради выполнения некоторых конкретных условий. Но означает ли это, что достижение условий пятой нормальной формы означает полную невозможность дальнейшего улучшения эффективности хранения информации? Означает ли условие пятой нормальной формы гарантию отсутствия структурных проблем в базе данных, так называемых аномалий? К сожалению, исследования показывают, что ответ отрицательный.
В связи с этим возникает логичный вопрос о состоянии базы данных, в котором исключены всевозможные аномалии. В 1981 г. известный исследователь в области теории реляционных баз данных Фагин опубликовал статью, в которой ввел понятие доменно-ключевой нормальной формы (ДКНФ).
Понятие ДКНФ относительно просто. Отношение находится в доменноключевой нормальной форме, если каждое ограничение, накладываемое на это отношение, является логическим следствием доменов и ключей. Таким образом, для ДКНФ характерно, что в принципе любое ограничение целостности можно определить через принадлежность атрибута домену и через ограничения по методу ключей. Естественно, под «любым ограничением целостности» на самом деле понимается любое ограничение целостности, удовлетворяющее общему определению, данному Фагиным.
К сожалению, не найден формальный алгоритм, позволяющий осуществить приведение отношения к ДКНФ, и не известно каждое ли отношение приводимо к ДКНФ. Определенные сложности возникают и с выделением всевозможных «фа- гинских» ограничений.
На практике, при проектировании БД, как правило, принято проверять условия всех шести нормальных форм. В случае нарушения принято либо производить нормализацию, либо сознательно отказываться от нее, как правило, когда удается обосновать ее нецелесообразность (см. 4.1.5).