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


Следует отметить, что определение для ЗНФ было дано Коддом для ситуаций с упрощающим картину допущением того, что отношение имеет только один потенциальный ключ, который, естественно, и является первичным ключом. Естественно, что не все отношения могут быть уложены в данные довольно жесткие рамки. Более обобщающими являются случаи, когда в наличии имеются следующие условия: ƒ

· отношение имеет два (или более) потенциальных ключа; ƒ

· два потенциальных ключа являются составными; ƒ

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

Схема отношения R находится в НФБК относительно множества F- зависимостей тогда и только тогда, когда детерминанты являются потенциальными ключами.

Допустим, что при проектировании базы данных ПОСТАВКИ_ТОВАРОВ рассматривается отношение: ПОСТАВКА (Индекс_поставщ, Имя_поставщ, Индекс_товара, Колич_товара).

Допустим также, что значения атрибута Имя_поставщ уникальны и могут быть использованы наряду с атрибутом Индекс_поставщ для идентификации поставщика. В такой ситуации можно выделить два составных потенциальных ключа:

(Индекс поставщ, Индекс_товара);

(Имя_поставщ, Иидекс_товара).

В рассматриваемом отношении есть два атрибута Индекс_поставщ и Имя_поставщ, которые идентифицируют один и тот же экземпляр 73 сущности, а, значит, они определяют друг друга. В таком случае отношение содержит два детерминанта, но эти детерминанты не являются потенциальными ключами отношения. Сложившаяся картина противоречит данному выше определению НФБК, и следовательно, данное отношение не находится в НФБК.

Для схемы отношения, не находящейся в НФБК, можно провести декомпозицию в схему БД в НФБК. Из исходного отношения убирается и переносится в новое отношение зависимая часть вместе с копией детерминанта.

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

Первый вариант получается, если учитывается зависимость

Индекс_поставщ → Имя_поставщ,

в результате чего имеем следующих два отношения:

ПОСТАВКА (Иидекс_поставщ, Индекс_товара, Колич_товара);

ПОСТАВЩИК (Индекс_поставщ, Имя_поставщ),

Второй вариант исходит из зависимости

Имя_поставщ → Индекс_поставщ,

в результате чего получаем альтернативную группу отношений;

ПОСТАВКА (Имя_поставщ, Индекс_товара, Колич_товара);

ПОСТАВЩИК (Индекс_поставщ, Имя_поставщ).

 



Дата добавления: 2016-07-05; просмотров: 2613;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.