Определение функциональной зависимости
Если даны два атрибута X и Y некоторого отношения, то говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y.
Функциональная зависимость обозначается X ® Y. Отметим, что X и Y могут представлять собой не только единичные атрибуты, но и группы (подмножества), составленные из нескольких атрибутов одного отношения.
Подмножество атрибутов X называют детерминантом функциональной зависимости.
Можно сказать, что функциональные зависимости представляют собой связи типа "один ко многим", существующие внутри отношения.
Например, в отношении Сотрудники (код, ФИО, пол, дата_рождения) можно выделить довольно много ФЗ. Вот некоторые из них:
· код ® ФИО
· код ® пол
· код ® дата_рождения
· код ® (ФИО, дата_рождения),
поскольку каждому значению кода соответствует ровно одно значение атрибутов ФИО, пол и дата_рождения и любых их сочетаний. Однако нельзя с уверенностью сказать, что каждому значению ФИО соответствует ровно одно значение кода (могут оказаться полные однофамильцы), поэтому нельзя говорить о наличии ФЗ ФИО ® код. Тем более, не может быть, например, ФЗ дата_рождения ® ФИО.
Атрибуты ФИО и дата_рождения являются взаимно независимыми, поскольку в общем случае ни один из них не зависит от другого. Заметим, что если текущее состояние базы данных таково, что все ФИО различны, все равно нельзя говорить о наличии ФЗ ФИО ® дата_рождения, поскольку уникальность и/или неизменность столбца ФИО явно не декларирована и значения-дубликаты могут появиться в любой момент.
Стоит обратить внимания на возможность существования ФЗ ФИО ® пол. Создание программного кода, которое может автоматически безошибочно вычислять пол по заданному значению ФИО, весьма проблематично при существующем разнообразии способов формирования ФИО и национальных особенностях. Поэтому в существующих БД принято пол хранить явно и считать, что такой ФЗ в отношении нет.
Дата добавления: 2015-08-26; просмотров: 1204;