
Аксиомы вывода функциональных зависимостей
Пусть отношение R имеет множество атрибутов М = {Al, A2, A3,..., AN} с заданным на нем множеством функциональных зависимостей F = {Fl, F2, F3,..., FK}. X, Y, W и Z - подмножества множества М, то есть атомарные или составные атрибуты.
Аксиома 1 (описывает свойство рефлексивности).
Если X £ М, Y £ М и Y с X, то функциональная зависимость X ->Y следует из Е Это правило позволяет строить тривиальные зависимости типа:
Ai-> Ai, AiAj -> Ai,..., AiAj Ak Al-> Aj Ak А1ит. д.
Для их получения достаточно, чтобы множества атрибутов левой и правой частей совпадали, или правая часть была подмножеством левой части.
Пример.
Пусть имеется отношение R(A1, А2, A3, А4, А5), в котором F = {А1->А2, А1->A3, А1->А4, А1->А5}. Отношение R имеет следующий вид:
А1 |
А2 |
A3 |
А4 |
А5 |
а |
б |
а |
в |
3 |
д |
и |
л |
г |
3 |
е |
б |
ш |
и |
ш |
в |
к |
а |
с |
x |
Образуем составные атрибуты X = {А2, А4, А5} и Y={A2, A5}. Теперь отношение R будет выглядеть следующим образом:
x |
y |
б, в, з и, г, з б, н, ш к, с, x |
б, з и, з б, ш к, x |
Анализируя отношения R, а также атрибуты X и Y, видим, что в R существует функциональная зависимость X->Y, поскольку одной совокупности значений атрибутов {А2, А4, А5} соответствует одна совокупность атрибутов {А2, А5}.
Аксиома 2 (описывает свойство пополнения).
Если Xс=M, Yс=M, Zс=X и задана зависимость X->Y, которая принадлежит F либо получена из F с использованием правил вывода, то XuZ ->YuZ.
Используя эту
аксиому, можно любые атрибуты из множества
М одновременно подставлять в левую и
правую части выражения функциональной
зависимости, сохраняя при этом саму
зависимость.
Пример.
Пусть X = {Al}, Y = {A3}, Z = {А4, А5}, тогда XuZ->YuZ то есть
{А1,А4,А5}->{АЗ,А4,А5}.
Аксиома 3 (описывает свойство транзитивности).
Если Xс=M, Yс=M, Zс=X и заданы зависимости X->Y и Y->Z, которые принадлежат F либо получены из F с использованием правил вывода, то X->Z.
Доказательство. Предположим, что в R(X, Y, Z) имеются два кортежа t и s, у которых совпадают значения по атрибутам из множества X (первые столбцы), но не совпадают по атрибутам из множества Z (третьи столбцы). Однако это невозможно, так как исходя из зависимости X -> Y должно быть совпадение значений во вторых столбцах (Y), а зависимость Y->Z дает совпадение значений в третьем столбце.
Таким образом, если совпадают значения по атрибуту X, то совпадают значения и по атрибуту Z, а это и означает наличие функциональной зависимости X->Z.
Аксиомы 1-3 позволяют построить из исходного множества F функциональных зависимостей полное множество F+. Из них можно вывести еще пять аксиом.
Аксиома 4 (описывает свойство расширения).
Если Xс=M, Yс=M и задана функциональная зависимость X->Y, то для любого Zс=М имеет место зависимость XuZ->Y.
Доказательство. Из аксиомы 1 следует, что XuZ->X, т. к. Xс=Xс=Z. Итак, мы имеем XuZ->X и заданную из условия зависимость X->Y. Теперь, если воспользоваться аксиомой 3 о транзитивности, получаем XuZ->Y, что и требовалось доказать.
Аксиома 5 (описывает свойство продолжения).
Если Xс=M, Yс=M, Wс=M, Zс=M и задана функциональная зависимость X->Y, то для любых Wс=Z имеет место зависимость XuZ->YuW.
Доказательство. Так как X->Y, то по аксиоме 2 получаем XuZ->YuZ. С другой стороны, условие Wс=Z по аксиоме 1 означает, что существует зависимость Z->W. Из последнего вновь по аксиоме 2 выводится зависимость ZuY->WuY, которую лучше записать как YuZ->YuW. Теперь по аксиоме 3 из зависимостей XuZ->YuZ и YuZ->YuW непосредственно следует, что XuZ->YuW.
Аксиома 6 (описывает свойство псевдотранзитивности).
Если Xc=M, Yc=M, Wc=M, Zc=M и заданы функциональные зависимости X->Y и YuW->Z, то имеет место функциональная зависимость XuW->Z.
Доказательство. Так как X->Y, то по аксиоме 2 (дополняя по W) можно записать: XuW->YuW. Ho так как задано, что YuW->Z, воспользовавшись аксиомой 3, сразу получим зависимость XuW->Z.
Аксиома 7 (описывает свойство аддитивности или объединения).
Если Xc=M, Yc=M, Zc=M и заданы функциональные зависимости X->Y и X->Z, то имеет место функциональная зависимость X->YuZ.
Доказательство. Так как X->Y, то по аксиоме 2 (дополняя по X) получаем: XuX->YuX, или X->YuX. Из заданной зависимости X->Z аналогичным образом (дополняя по Y) получим XuY->ZuY, которое лучше переписать так: YuX->YuZ. Из полученных зависимостей X->YuX и YuX->YuZ по аксиоме 3 следует искомая зависимость X->YuZ.
Аксиома 8 (описывает свойство декомпозиции).
Если Xc=M, Yc=M, Zc=M и при этом Zc=Y, а также задана функциональная зависимость X->Y, то будет иметь место зависимость X->Z.
Доказательство. Так как Zc=Y, то по аксиоме 1 можно получить Y->Z. Далее из известной зависимости X->Y и только что полученной зависимости Y->Z по аксиоме 3 получаем X->Z.