7. Наконец, после еще одного четырехкратного прохождения цикла замыкание
CLOSURE[K, S] остается неизменным и весь процесс в целом завершается с
результатом {А, В, С, Е, F}
+
={A, В, С, Е, F}. Обратите внимание, что {А, В} не
является суперключом (и, следовательно, потенциальным ключом).
Из сказанного выше можно сделать очень важное заключение: для заданного
множества функциональных зависимостей S можно легко указать, будет ли заданная
зависимость А®Y следовать из S, поскольку это возможно тогда и только тогда,
когда Y является подмножеством замыкания X
+
множества X для заданного
множества S. Иначе говоря, таким образом представлен простой способ
определения, будет ли данная функциональная зависимость X®Y включена в
замыкание S
+
множества S.
20. 9.6. Неприводимое множество зависимостей
Пусть S1 и S2 являются двумя множествами ФЗ. Если любая ФЗ, которая
является зависимостью множества S1, также является зависимостью множества S2,
т.е. если S1
+
является подмножеством S2
+
, то S2 называется покрытием для S1.
(Некоторые авторы используют термин "покрытие" для обозначения
эквивалентного множества.) Это значит, что если накладываемые в СУБД
ограничения представлены зависимостями множества S2, то в этой СУБД также
наложены ограничения на основе зависимостей множества S1.
Далее, если S2 является покрытием для S1, а S1 — покрытием для S2, т.е. если
S1
+
=S2
+
, то S1 и S2 эквивалентны. Ясно, что если S1 и S2 эквивалентны и
наложенные в СУБД ограничения представлены зависимостями множества S2, то
эти ограничения также могут быть представлены зависимостями множества S1,
верно также и обратное утверждение.
Множество ФЗ называется неприводимым тогда и только тогда, когда
выполняются перечисленные ниже свойства.
1. 1.BBBBBB Правая часть (зависимая часть) каждой ФЗ множества S содержит только
один атрибут (т.е. является одноэлементным множеством).
2. 2.BBBBBB Левая часть (детерминант) каждой ФЗ множества S является неприводимой,
т.е. ни один атрибут не может быть опущен из детерминанта без изменения
замыкания S
+
(без конвертирования множества S в некоторое множество, не
эквивалентное множеству S). В таком случае ФЗ является неприводимой слева.
3. 3.BBBBBB Ни одна функциональная зависимость в S не может быть опущена из S без
изменения замыкания S
+
(т.е. без конвертирования множества S в некоторое
множество, не эквивалентное множеству S).
В качестве примера рассмотрим уже знакомое отношение деталей Р с
перечисленными ФЗ:
Нетрудно заметить, что этот набор ФЗ является неприводимым: правая часть
каждой зависимости содержит только один атрибут, левая часть, очевидно, является
неприводимой, кроме того, ни одна из перечисленных ФЗ не может быть опущена