Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
197251_0AD1F_lekcii_po_discipline_informacionno...doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
5.04 Mб
Скачать

Нормальная форма Бойса–Кодда (нфбк)

Схема отношения R находится в нормальной форме Бойса-Кодда (НФБК) относительно множества F-зависимостей F, если она находится в 1НФ и никакой атрибут в R не зависит транзитивно ни от одного ключа R [14].

Схема базы данных R находится в нормальной форме Бойса-Кодда (НФБК) относительно множества F-зависимостей F, если каждая схема отношения R R находится в НФБК относительно F.

НФБК включает в себя ЗНФ [14].

Схема отношения R находится в нормальной форме Бойса-Кодда (НФБК) относительно множества F-зависимостей F, если для каждого подмножества Y из R и каждого атрибута A R-Y из YА следует YR при F, т.е. если Y нетривиально определяет произвольный атрибут из R, то Y есть сверхключ R.

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

С одной стороны, НФБК в некотором смысле является более сильной, чем ЗНФ, а значит, более желательной. Но, с другой стороны, НФБК имеет свои проблемы [14]. Из предыдущего изложения следует, что при заданном множестве F-зависимостей над R можно найти схему базы данных в ЗНФ, полностью характеризующую F. Для НФБК это неверно. Множество F-зависимостей может не иметь полной НФБК схемы базы данных, кроме того, проверка свойства НФБК для заданной схемы базы данных является NP-полной задачей.

Многозначные зависимости

Выше было показано, что присутствие функциональных зависимостей в реляционной схеме означает возможность декомпозиции схемы, уменьшающей избыточность и при этом сохраняющей информацию. Однако существование F-зависимостей не является необходимым условием такой декомпозиции. Рассмотрим состояние отношения Назначение табл. 10.1.

Таблица 10.1

Назначение

РЕЙС

ДЕНЬ-НЕДЕЛИ

ТИП-САМОЛЕТА

106

106

106

106

204

204

Понедельник

Четверг

Понедельник

Четверг

Среда

Среда

747

747

1011

1011

707

727

Кортеж <fdp> в отношении Назначение означает, что рейс № f может выполняться в день недели d на самолете типа р. В отношении не выполняются ни F-зависимость РЕЙС→ДЕНЬ-НЕДЕЛИ, ни РЕЙС→ТИП-САМОЛЕТА, однако оно без потери информации разлагается на два отношения: РЕЙС ДЕНЬ-НЕДЕЛИ и РЕЙС ТИП-САМОЛЕТА (табл.10.2).

Таблица 10.2

День назначения

РЕЙС

ДЕНЬ-НЕДЕЛИ

106

106

204

Понедельник

Четверг

Среда

Тип самолета назначения

РЕЙС

ТИП-САМОЛЕТА

106

106

204

204

747

1011

707

727

Рассмотрим другое состояние отношения Назначение, задаваемое табл. 10.3. Если разложить это состояние на схемы (РЕЙС, ДЕНЬ-НЕДЕЛИ) и (РЕЙС, ТИП-САМОЛЕТА), то снова получится вариант из табл.10.2. Однако соединение отношений табл. 10.2 не восстанавливает исходного отношения.

Таблица 10.3

Назначение

РЕЙС

ДЕНЬ-НЕДЕЛИ

ТИП-САМОЛЕТА

106

106

106

204

204

Понедельник

Четверг

Четверг

Среда

Среда

747

747

1011

707

727

Каковы же свойства первого состояния отношения Назначение, отсутствующие у второго, которые обеспечивают декомпозицию без потери информации? В первом случае, если самолет некоторого типа использован для выполнения маршрута в один день, он может быть использован для выполнения этого маршрута в любой другой день. Это свойство отсутствует во втором состоянии отношения Назначение, поскольку рейс №106 может использовать тип 1011 в четверг, но не в понедельник. Отношение в первом состоянии следует подвергнуть декомпозиции, ибо при заданном рейсе ДЕНЬ-НЕДЕЛИ не содержит информации об атрибуте ТИП-САМОЛЕТА, и наоборот.

Сформулируем это свойство по-другому. Если в отношении Назначение существуют кортежи <fdp> и <fd'p'>, то должен быть кортеж <fd'p>. Формальное определение следующее [14].

Пусть Rреляционная схема, X и Y – непересекающиеся подмножества R, и пусть Z=R(XY). Отношение r(R) удовлетворяет многозначной зависимости (MV-зависимости) Х→→Y, если для любых двух кортежей t1 и t2 из r, для которых t1(X) = t2(X), в r существует кортеж t3 для которого выполняются соотношения t3(X) = t1(X), t3(Y) = t1(Y), t3(Z) = t2(Z).

Из симметрии определения относительно t1 и t2 следует, что в г существует также в r для которого

t4(X) = t1(X), t4(Y) = t2(Y), t4(Z) = t2(Z).

Пример 13. MV-зависимость РЕЙС→→ДЕНЬ-НЕДЕЛИ выполняется для отношения Назначение в состоянии табл. 10.1, но не табл. 10.3. Состояние табл. 10.1 удовлетворяет также MV-зависимости РЕЙС→→ТИП-САМОЛЕТА. Тот факт, что состояние отношения Назначение (табл.10.1) удовлетворяет двум MV-зависимостям, не является случайным [14].