Смекни!
smekni.com

Базы данных и информационные технологии (стр. 13 из 28)

Замечание. Меняя местами кортежи

и
в определении многозначной зависимости, получим, что в отношении
должен содержаться также и кортеж
. Таким образом, атрибуты
и
, многозначно зависящие от
, ведут себя "симметрично" по отношению к атрибуту
.

В отношении "Абитуриенты-Факультеты-Предметы" имеется многозначная зависимость Факультет

Абитуриент|Предмет.

Словами это можно выразить так - для каждого факультета (для каждого значения из

) каждый поступающий на него абитуриент (значение из
) сдает один и тот же список предметов (набор значений из
), и для каждого факультета (для каждого значения из
) каждый сдаваемый на факультете экзамен (значение из
) сдается одним и тем же списком абитуриентов (набор значений из
). Именно наличие этой зависимости не позволяет независимо вставлять и удалять кортежи. Кортежи обязаны вставляться и удаляться одновременно целыми наборами.

Замечание. Если в отношении

имеется не менее трех атрибутов
,
,
и есть функциональная зависимость
, то есть и многозначная зависимость
.

Действительно, действуя формально в соответствии с определением многозначной зависимости, предположим, что в отношении

содержатся кортежи
и
. В силу функциональной зависимости
отсюда следует, что
. Но тогда кортеж
в точности совпадает с кортежем
и, следовательно, содержится в отношении
. Таким образом, имеется многозначная зависимость
.

Таким образом, понятие многозначной зависимости является обобщением понятия функциональной зависимости.

Определение 3. Многозначная зависимость

называется нетривиальной многозначной зависимостью, если не существует функциональных зависимостей
и
.

В отношении "Абитуриенты-Факультеты-Предметы" имеется именно нетривиальная многозначная зависимость Факультет

Абитуриент|Предмет. В силу нетривиальности этой зависимости мы не можем воспользоваться теоремой Хеза для декомпозиции отношения. Однако Фейджином Р. [52] доказана следующая теорема:

Теорема (Фейджина). Пусть

,
,
- непересекающиеся множества атрибутов отношения
.

Декомпозиция отношения

на проекции
и
будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость
.

Замечание. Если зависимость

является тривиальной, т.е. существует одна из функциональных зависимостей
или
, то получаем теорему Хеза.

Доказательство теоремы.

Необходимость. Пусть декомпозиция отношения

на проекции
и
является декомпозицией без потерь. Докажем что
.

Предположим, что отношение

содержит кортежи
и
. Необходимо доказать, что кортеж
также содержится в
. По определению проекций, кортеж
содержится в
, а кортеж
содержится в
. Тогда кортеж
содержится в естественном соединении
, а в силу того, что декомпозиция является декомпозицией без потерь, этот кортеж содержится и в
. Необходимость доказана.

Достаточность. Пусть имеется многозначная зависимость

. Докажем, что декомпозиция отношения
на проекции
и
является декомпозицией без потерь.

Как и в доказательстве теоремы Хеза, нужно доказать, что

для любого состояния отношения
.

Включение

доказывается как в теореме Хеза. Такое включение выполняется всегда для любой декомпозиции отношения
.

Докажем включение

. Пусть кортеж
. Это означает, что в проекции
содержится кортеж
, а в проекции
содержится кортеж
. По определению проекции, найдется такое значение
атрибута
, что отношение
содержит кортеж
. Аналогично, найдется такое значение
атрибута
, что отношение
содержит кортеж
. Тогда по определению многозначной зависимости кортеж
. Включение доказано. Достаточность доказана. Теорема доказана.