Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / базы данных2222.rtf
Скачиваний:
241
Добавлен:
17.02.2014
Размер:
19.41 Mб
Скачать

3.1.Основные определения

Для большей наглядности рассматриваемых нами идей к атрибутам отношения Поставки (см. рис. 3.1) добавим атрибут ГОРОД, представляющий город соответствующего поставщика. Новому отношению присвоим имя Поставки_из_города.

Рис. 3.2. Таблица отношений Поставки_из_города

Пусть R – это отношение, а X и Y – произвольные подмножества множества атрибутов отношения R. Тогда Y функционально зависит от Х тогда и только тогда, когда каждое значение множества Х отношения R связано в точности с одним значением множества Y отношения R. ФЗ записывается так:

Х ® Y

и читается как «Х функционально определяет Y» или «Y функционально зависимо от Х».

Если два кортежа отношения R совпадают по значению Х, они также совпадают по значению Y. Таблица отношений Поставки_из_города удовлетворяет определению ФЗ. В частности, можно записать:

Левая и правая части символической записи ФЗ иногда называют детерминантом и зависимой частью соответственно.

Подчеркнем один важный момент, связанный с тем, что было сказано выше.

Следует различать а) значения переменной отношения в определенный момент времени, т.е. экземпляр; б) набор всех возможных значений, который данная переменная отношений может принимать в различные моменты времени. Рассмотренная выше ФЗ относилась к пункту а), т.е. к отдельным значениям отношения.

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

Код_поставщика ® ГОРОД

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

Утверждение, что данная функциональная зависимость выполняется «всегда» (т.е. при всех возможных значениях Поставки_из_города ), является ограничением целостности для отношения Поставки_из_города , поскольку накладываются ограничения на все допустимые значения Поставки_из_города .

Если Х является потенциальным ключом отношения R, например, Х является первичным ключом, то все атрибуты Y отношения R должны быть обязательно функционально зависимы от Х. В обычном отношении Товар необходимо, чтобы выполнялась зависимость

Товар ® {Код_товара, Наименование, ЦВЕТ, ВЕС, ГОРОД}

Если отношение R удовлетворяет ФЗ А ® В, и А не является потенциальным ключом, R будет характеризоваться некоторой избыточностью. Например, в случае отношения Поставки_из_города.

{Код_поставщика} ® {ГОРОД} сведения о том, что каждый данный поставщик находится в данном городе, будут повторяться много раз.

Как отмечалось, ФЗ является ограничением целостности, поэтому при каждом обновлении данных СУБД все они должны быть проверены. Следовательно, для заданного множества ФЗ S желательно найти также множество Т, которое было бы гораздо меньшего размера, чем множество S, причем каждая ФЗ множества S могла бы быть заменена функциональной зависимостью множества Т. Если такое множество будет найдено, то СУБД достаточно будет контролировать выполнение ФЗ из множества Т, что автоматически подразумевало бы соблюдение всех функциональных зависимостей из множества S.

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

Соседние файлы в папке bd