Модели и проектирование баз данных

Функциональная зависимость атрибутов


Функциональная зависимость атрибутов

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, т.е. неприводимой не является.



Содержание раздела