Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мишенин ТЭИС.doc
Скачиваний:
5
Добавлен:
20.04.2019
Размер:
2.28 Mб
Скачать

Доказательство

Из АВ следует АСВС (теорема 5). ВСD (условие), поэтому АСD по теореме 3.

Количество теорем, которые можно доказать в таком стиле, достаточно велико, но мы ограничимся указанными шестью.

Каждой функциональной зависимости вида АВ можно поставить в соответствие булевскую функцию вида АВ' (знак логического умножения пропущен, через ' обозначено логическое отрицание). Множеству функциональных зависимостей соответствует дизъюнкция выражений, соответствующих каждой зависимости в отдельности.

Введем сокращенные обозначения:

А - ФИО, В - Дата, С - Дисциплина,

D - Преподаватель, Е - Оценка.

Тогда для рассмотренных выше функциональных зависимостей

ФИО,ДатаДисциплина,

ФИО,ДатаПреподаватель,

ФИО,ДатаОценка

Булевская функция будет выглядеть как

АВС' + ABD' + ABE' (знаком + обозначено логическое сложение).

Для некоторого множества функциональных зависимостей F введем множество F~, называемое покрытием. Покрытие F~ содержит все функциональные зависимости, которые можно получить из множества F в результате применения теорем 1- 6 (включая и содержимое F). Одно и то же покрытие F~ может быть получено из различных множеств функциональных зависимостей. Среди таких множеств выделим множество с минимальным числом зависимостей и назовем его минимальным покрытием (базисом) множества зависимостей F. Иначе можно сказать, что минимальным покрытием называется множество функциональных зависимостей, из которого удалены все зависимости, являющиеся следствиями оставшихся зависимостей и теорем 1 - 6.

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

Можно рекомендовать следующие теоремы:

  • если АВС, то АВ и АС,

  • если АВ, то ADВ,

  • если АВ и ВС, то АС.

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

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

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