ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

       

НФ (Пятая Нормальная Форма)


Функциональные и многозначные зависимости позволяют произвести декомпозицию исходного отношения без потерь на две проекции. Можно, однако, привести примеры отношений, которые нельзя декомпозировать без потерь ни на какие две проекции.

Пример 3. Рассмотрим следующее отношение

НФ (Пятая Нормальная Форма)
:

X

Y

Z

1 1 2
1 2 1
2 1 1
1 1 1

Таблица 14 Отношение R

Всевозможные проекции отношения

НФ (Пятая Нормальная Форма)
, включающие по два атрибута, имеют вид:

X

Y

1 1
1 2
2 1

Таблица 15 Проекция R1=R[X,Y]

X

Z

1 2
1 1
2 1

Таблица 16 Проекция R2=R[X,Z]

Y

Z

1 2
2 1
1 1

Таблица 17 Проекция R3=R[Y,Z]

Как легко заметить, отношение

НФ (Пятая Нормальная Форма)
не восстанавливается ни по одному из попарных соединений
НФ (Пятая Нормальная Форма)
,
НФ (Пятая Нормальная Форма)
или
НФ (Пятая Нормальная Форма)
. Действительно, соединение
НФ (Пятая Нормальная Форма)
имеет вид:

X

Y

Z

1 1 2
1 1 1
1 2 2
1 2 1
2 1 1

Таблица 18 R1 JOIN R2

Серым цветом выделен лишний кортеж, отсутствующий в отношении

НФ (Пятая Нормальная Форма)
. Аналогично (в силу соображений симметрии) и другие попарные соединения не восстанавливают отношения
НФ (Пятая Нормальная Форма)
.

Однако отношение

НФ (Пятая Нормальная Форма)
восстанавливается соединением всех трех проекций:

НФ (Пятая Нормальная Форма)
.

Это говорит о том, что между атрибутами этого отношения также имеется некоторая зависимость, но эта зависимость не является ни функциональной, ни многозначной зависимостью.

Определение 5. Пусть

НФ (Пятая Нормальная Форма)
является отношением, а
НФ (Пятая Нормальная Форма)
,
НФ (Пятая Нормальная Форма)
, …,
НФ (Пятая Нормальная Форма)
- произвольными (возможно пересекающимися) подмножествами множества атрибутов отношения
НФ (Пятая Нормальная Форма)
. Тогда отношение
НФ (Пятая Нормальная Форма)
удовлетворяет зависимости соединения

НФ (Пятая Нормальная Форма)

тогда и только тогда, когда оно равносильно соединению всех своих проекций с подмножествами атрибутов

НФ (Пятая Нормальная Форма)
,
НФ (Пятая Нормальная Форма)
, …,
НФ (Пятая Нормальная Форма)
, т.е.

НФ (Пятая Нормальная Форма)
.

Можно предположить, что отношение

НФ (Пятая Нормальная Форма)
в примере 3 удовлетворяет следующей зависимости соединения:

НФ (Пятая Нормальная Форма)
.

Утверждать, что это именно так мы пока не можем, т.к. определение зависимости соединения должно выполняться для любого состояния отношения

НФ (Пятая Нормальная Форма)
, а не только для состояния, приведенного в примере.

Покажем, что зависимость соединения является обобщением понятия многозначной зависимости. Действительно, согласно теореме Фейджина, отношение

НФ (Пятая Нормальная Форма)
может быть декомпозировано без потерь на проекции
НФ (Пятая Нормальная Форма)
и
НФ (Пятая Нормальная Форма)
тогда и только тогда, когда имеется многозначная зависимость
НФ (Пятая Нормальная Форма)
.
Согласно определению зависимости соединения, теорема Фейджина может быть переформулирована следующим образом:
Теорема Фейджина (другая формулировка). Отношение
НФ (Пятая Нормальная Форма)
удовлетворяет зависимости соединения
НФ (Пятая Нормальная Форма)
тогда и только тогда, когда имеется многозначная зависимость
НФ (Пятая Нормальная Форма)
.
Т.к. теорема Фейджина является взаимно обратной, то ее можно взять в качестве определения многозначной зависимости. Таким образом, многозначная зависимость является частным случаем зависимости соединения, т.е., если в отношении имеется многозначная зависимость, то имеется и зависимость соединения. Обратное, конечно, неверно.
Определение 6. Зависимость соединения
НФ (Пятая Нормальная Форма)
называется нетривиальной зависимостью соединения, если выполняется два условия:
  • Одно из множеств атрибутов
    НФ (Пятая Нормальная Форма)
    не содержит потенциального ключа отношения
    НФ (Пятая Нормальная Форма)
    .
  • Ни одно из множеств атрибутов не совпадает со всем множеством атрибутов отношения
    НФ (Пятая Нормальная Форма)
    .
    Для удобства работы сформулируем это определение так же и в отрицательной форме:
    Определение 7. Зависимость соединения
    НФ (Пятая Нормальная Форма)
    называется тривиальной зависимостью соединения, если выполняется одно из условий:
  • Либо все множества атрибутов
    НФ (Пятая Нормальная Форма)
    содержат потенциальный ключ отношения
    НФ (Пятая Нормальная Форма)
    .
  • Либо одно из множеств атрибутов совпадает со всем множеством атрибутов отношения
    НФ (Пятая Нормальная Форма)
    .
    Определение 8. Отношение
    НФ (Пятая Нормальная Форма)
    находится в пятой нормальной форме (5НФ) тогда и только тогда, когда любая имеющаяся зависимость соединения является тривиальной.
    Определения 5НФ может стать более понятным, если сформулировать его в отрицательной форме:
    Определение 9. Отношение
    НФ (Пятая Нормальная Форма)
    не находится в 5НФ, если в отношении найдется нетривиальная зависимость соединения.
    Возвращаясь к примеру 3, становится понятно, что не зная ничего о том, какие потенциальные ключи имеются в отношении и как взаимосвязаны атрибуты, нельзя делать выводы о том, находится ли данное отношение в 5НФ (как, впрочем, и в других нормальных формах). По данному конкретному примеру можно только предположить, что отношение в примере 3 не находится в 5НФ. Предположим, что анализ предметной области позволил выявить следующие зависимости атрибутов в отношении
    НФ (Пятая Нормальная Форма)
    :


    (i) Отношение
    НФ (Пятая Нормальная Форма)
    является полностью ключевым (т.е. потенциальным ключом отношения является все множество атрибутов).
    (ii) Имеется следующая зависимость (довольно странная, с практической точки зрения): если в отношении
    НФ (Пятая Нормальная Форма)
    содержатся кортежи
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    и
    НФ (Пятая Нормальная Форма)
    , то отсюда следует, что в отношении
    НФ (Пятая Нормальная Форма)
    содержится также и кортеж
    НФ (Пятая Нормальная Форма)
    .
    Утверждение. Докажем, что при наличии ограничений (i) и (ii), отношение находится в 4НФ, но не в 5НФ.
    Доказательство. Покажем, что отношение
    НФ (Пятая Нормальная Форма)
    находится в 4НФ. Согласно определению 4НФ, необходимо показать, что отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей. Т.к. отношение является полностью ключевым, то оно автоматически находится в НФБК. Если бы в отношении имелась многозначная зависимость (необязательно нетривиальная), то, согласно теореме Фейджина, отношение можно было бы декомпозировать без потерь на две проекции. Но пример 3 показывает, что таких декомпозиций нет (здесь мы воспользовались тем, что для доказательства возможности декомпозиции необходимо доказать ее для всех возможных состояний отношения, а для доказательства невозможности достаточно привести один контрпример). Поэтому в отношении нет никаких многозначных зависимостей.
    Покажем, что отношение не находится в 5НФ. Для этого нужно привести пример нетривиальной зависимости соединения. Естественным кандидатом на нее является
    НФ (Пятая Нормальная Форма)
    . Если это действительно зависимость соединения, то она нетривиальна. Действительно, ни одно из множеств атрибутов
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    и
    НФ (Пятая Нормальная Форма)
    не совпадает с множеством всех атрибутов отношения
    НФ (Пятая Нормальная Форма)
    и не содержит потенциального ключа.
    Но является ли такая декомпозиция именно зависимостью соединения? Для этого нужно показать, что декомпозиция на три проекции
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    и
    НФ (Пятая Нормальная Форма)
    является декомпозицией без потерь для любого состояния отношения
    НФ (Пятая Нормальная Форма)
    (именно здесь содержится ключевая тонкость, обычно пропускаемая при анализе конкретного состояния отношения
    НФ (Пятая Нормальная Форма)
    в примере 3, и именно здесь нам понадобятся знания о предметной области, выраженные в утверждении (ii)).
    Как и в предыдущих доказательствах, нужно доказать, что
    НФ (Пятая Нормальная Форма)
    для любого состояния отношения
    НФ (Пятая Нормальная Форма)
    .


    Включение
    НФ (Пятая Нормальная Форма)
    доказывается как в теореме Хеза. Такое включение выполняется всегда для любой декомпозиции отношения
    НФ (Пятая Нормальная Форма)
    .
    Докажем включение
    НФ (Пятая Нормальная Форма)
    .
    Пусть кортеж
    НФ (Пятая Нормальная Форма)
    . Это означает, что в проекции
    НФ (Пятая Нормальная Форма)
    содержится кортеж
    НФ (Пятая Нормальная Форма)
    , в проекции
    НФ (Пятая Нормальная Форма)
    содержится кортеж
    НФ (Пятая Нормальная Форма)
    , а в проекции
    НФ (Пятая Нормальная Форма)
    содержится кортеж
    НФ (Пятая Нормальная Форма)
    . По определению проекции, найдутся такие значения
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    атрибутов
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    и
    НФ (Пятая Нормальная Форма)
    соответственно, что отношение
    НФ (Пятая Нормальная Форма)
    содержит кортежи
    НФ (Пятая Нормальная Форма)
    ,
    НФ (Пятая Нормальная Форма)
    и
    НФ (Пятая Нормальная Форма)
    . Но тогда по условию (ii) в отношении
    НФ (Пятая Нормальная Форма)
    содержится также и кортеж
    НФ (Пятая Нормальная Форма)
    . Этим доказано необходимое включение. Утверждение доказано.

    Содержание раздела