Математические свойства ФЗ, теоремы
Рассмотрим некоторые математические свойства ФЗ, вытекающие из ее определения. Данные свойства получили название правил Армстронга по имени исследователя, который их сформулировал.
- Рефлективность
Если Y является подмножеством X, то X определяет Y
YÌX=>X®Y
Такая функциональная зависимость называется тривиальной.
- Дополнение
А®В => АС®ВС, где С – любое подмножество атрибутов отношения.
- Транзитивность
А®В и В®С => А®С
В этом случае говорят, что С транзитивно зависит от А. К этому понятию мы еще вернемся при рассмотрении третьей нормальной формы.
Из этих трех основных свойств можно вывести еще несколько.
- Самоопределение
X®X
Такая зависимость не несет какой-либо информации, однако она удовлетворяет определению ФЗ
- Декомпозиция
А®ВС=>А®В, А®С
- Композиция
А®В и С®D =>АС®ВD
7. Теорема о всеобщей зависимости или теорема всеобщего объединения
Если A®B и C®D => AÈ(C-B)®BD
Здесь È - операция объединения множеств.
Правила Армстронга позволяют выводить новые ФЗ на основе других ФЗ. Применяя их, можно вывести множество всех ФЗ данного отношения. Такое множество называется замыканием.
И наоборот, для каждого отношения можно найти такое множество всех ФЗ, в котором ни одна ФЗ не может быть выведена из другой. Такое множество ФЗ заданного отношения называется неприводимым. К.Дж.Дейт показал, что неприводимое множество ФЗ должно обладать следующими свойствами:
· в правой части каждой ФЗ должен быть только одни атрибут;
· из левой части каждой ФЗ нельзя удалить ни одного атрибута без потери этой ФЗ
Такое множество для каждого отношения может быть только одно.
Возвращаясь к примеру с ФЗ отношения Сотрудники (код, ФИО, пол, дата_рождения), отметим, что приведенное в примере множество ФЗ
· код ® ФИО
· код ® пол
· код ® дата_рождения
· код ® (ФИО, пол),
не является неприводимым, т.к. последняя ФЗ может быть легко выведена из первых двух. Первые три ФЗ составляют неприводимое множество ФЗ для отношения Сотрудники.
Приведенное множество не является и замыканием, поскольку из приведенных выше ФЗ можно вывести еще много других ФЗ, например,
(код, ФИО) ® дата_рождения, (код, дата_рождения) ® ФИО и т.д.
Дата добавления: 2015-08-26; просмотров: 1149;