Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответ на 11 билет.doc
Скачиваний:
12
Добавлен:
19.03.2015
Размер:
252.93 Кб
Скачать

Нормальная форма Бойса-Кодда

В этом разделе рассматривается более общий случай, удовлетворяющий перечисленным ниже условиям. Определение 3НФ было впоследствии заменено более строгим определением Бойса-Кодда, названным нормальной формой Бойса-Кодда, НФБК.

Отношение находится в НФБК тогда и только тогда, когда каждая нетривиальная и неприводимая слева Ф3 обладает потенциальным ключом в качестве детерминанта.

НФБК имеет и менее формальную формулировку:

Отношение находится в НФБК тогда и только тогда, когда детерминанты являются потенциальными ключами.

Рассмотрим примеры с несколькими потенциальными ключами. Отношение Первая имеет три детерминанта: {Код_поставщика}, {Город} и {Код_поставщика,Код_товара}, из которых потенциальным ключом является только {Код_поставщика, Код_товара}, а в отношении Вторая детерминант Город не является потенциальным ключом. Следовательно, эти отношения не находятся в НФБК. Отношения Поставки, Город_поставщика и Статус_города находятся в НФБК, поскольку в каждом из них единственный потенциальный ключ является единственным детерминантом.

1. Рассмотрим пример , включающий два неперекрывающихся потенциальных ключа. Допустим, что в отношении Поставщики атрибуты Код_поставщика и Фамилия являются потенциальными ключами: Поставщики {Код_поставщика, Фамилия, Статус, Город}.

2.

Предположим также, что атрибуты Город и Статус совершенно независимы. В этом случае диаграмма Ф3 будет иметь вид, показанный на Рис. 4.9.

Рис.4.9. Диаграмма ФЗ отношения Поставщики.

Отношение Поставщики находится в НФБК согласно определению.

Замечание: Желательно, чтобы атрибут Фамилия был представлен как потенциальный ключ ещё при определении БД, чтобы в СУБД было задействовано требуемое ограничение уникальности, т.е.

Поставщики {Код_поставщика, Фамилия, Статус, Город}

Потенциальный ключ {Код_поставщика}

Потенциальный ключ {Фамилия}.

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

Рассмотрим отношение, в котором допустимо, что имена поставщиков уникальны:

Поставщики_Поставки {Код_поставщика, Фамилия, Код_товара, Квота}

Потенциальными ключами этого отношения являются {Код_поставщика, Код_товара} и {Фамилия, Код_товара}. Атрибуты Код_поставщика и Фамилия являются детерминантами, поскольку они определяют друг друга. Они входят в потенциальные ключи, но сами ими не являются. Следовательно, это отношение не находится в НФБК. Разобьём отношение Поставщики_Поставки на две проекции:

Фамилии_поставщиков {Код_поставщика, Фамилия} и

Поставки {Код_поставщика, Код_товара, Квота}

Либо:

Фамилии_поставщиков {Код_поставщика, Фамилия} и

Поставки {Фамилия, Код_товара, Квота}

Обе эти декомпозиции в одинаковой мере допустимы, и обе проекции исходного отношения находятся в НФБК.

Пример

Рассмотрим еще одно отношение с перекрывающимися потенциальными ключами с именем Пример и атрибутами: С (студент), П(предмет) и М(место). Смысл кортежа {С:с, П:п, М:м} отношения Пример заключается в том, что некоторый студент С экзаменуется по определённому предмету П и занимает определённое место М.

Допустим следующие ограничения:

Никакие два студента не могут занять одно и то же место в списке по одному и тому же предмету .

В этом примере появляются два перекрывающихся потенциальных ключа {С,П} и {П,М}, поскольку для данного студента и предмета существует точно одно место в списке, а также для одного предмета и места в списке существует точно один студент. Отношение находится в НФБК, т.к. потенциальные ключи являются единственными детерминантами:

Рис. 4.10. Диаграмма ФЗ в отношении Пример