Функциональная зависимость атрибутов
Функциональная зависимость атрибутов
3.2.1 Основные определения.
Определение 1.
Пусть R некоторое отношение, А, В
– подмножества его атрибутов. Говорят, что А
функционально определяет В (или В
функционально зависит от А), если и только если для любого допустимого значения R каждому значению А соответствует точно одно значение В. Функциональную зависимость (ФЗ) принято обозначать А ® В.
Иными словами, если А ® В, то для любого допустимого значения R
два кортежа, совпадающие по значению А, совпадают также и по значению В. Обратное, вообще говоря, неверно. Подмножество А называют детерминантом
зависимости, подмножество В – зависимой частью.
Функциональные зависимости есть связи типа 1:М между подмножествами атрибутов. Они определяются смыслом данных и правилами бизнеса. Наличие ФЗ невозможно установить по результатам анализа значения отношения.
Так, в приведенном выше примере (см. п. 3.1.2) дважды встречающемуся значению
P# = ‘P1’ соответствует одно и то же значение Qt = 1000. Аналогичное соответствие наблюдается и для P# = ‘P3’и P# = ‘P8’. Однако из этих фактов нельзя сделать вывод о существовании ФЗ {P#} ® {Qt}[26]. Возможно, это случайность. Однако, если ПО действительно накладывает ограничения на разовые объемы поставок конкретных видов деталей, то есть и отмеченная ФЗ.
Зависимости S# ® St, S# ® Sci, Sci ® St действительно существуют. По правилам ПО конкретный поставщик расположен в единственном городе, имеет единственный статус, и всем поставщикам, расположенным в одном городе, присваивается один и тот же статус.
Определение 2.
Атрибуты А1, А2, ... , Аn
называются взаимно независимыми, если ни один из них не зависит функционально от какого-либо подмножества остальных.
Например, атрибуты We, Qt, S#, Jn взаимно независимы. Правила бизнеса не обусловливают каких-либо зависимостей между ними или их комбинациями.
Пусть R – некоторое отношение, А, В, С – подмножества его атрибутов. Если А ®
В, В ®
С, то А ® С. В таком случае говорят, что существует транзитивная
функциональная зависимость (С транзитивно зависит от А, А ® В ®
С).
В универсальном отношении USPJ существует транзитивная ФЗ S# ® SСi ® St, следующая из S# ® SCi, SСi ® St.
Определение 3. Пусть A и B – подмножества атрибутов и A – детерминант B. Говорят, что ФЗ A ® B
неприводима, если не существует такого подмножества C Ì
A, что C ® B.
Например, существующая в USPJ ФЗ {S#, P#, J#, Dt} ® Qt неприводима, а зависимость {S#, P#, J#, Dt} ® Jn следует из J# ® Jn, т.е. неприводимой не является.