Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / golenishev_iosu.pdf
Скачиваний:
273
Добавлен:
26.04.2015
Размер:
5.36 Mб
Скачать

минимально. Атрибут D транзитивно зависит от А только через С.

Четвертая проблема состоит в том, что для построенной схемы базы данных заданное множество F- зависимостей может оказаться ненавязанным [10].

Пример 2.15. Пусть заданы схема R(A, В, С, D, Е) и F={A→BCDE, CD→E, CE→B}. Исключив транзитивную зависимость Е от А через CD, получаем

Множество F ненавязано схеме базы данных R={R1, R2} из-за того, что зависимость ЕС→В невыводима из F-зависимостей в F+, приложимых к R1 или R2 (это утверждение должно быть подтверждено вычислением F+).

Наконец, пятая проблема. С помощью декомпозиции можно породить схемы со «скрытыми» трянзитивными зависимостями.

Пример 2.16. Пусть заданы схема R(A, В, С, D) и F={A→B, В→С}. Атрибуты AD являются ключом F, а В частично зависит от AD. При декомпозиции получаем

Несмотря на то что R1, R2 формально находятся в ЗНФ, в R1 существует «скрытая» транзитивная зависимость С от AD.

Чтобы избежать проблем, возникающих при декомпозиции схем отношений, необходимо использовать другие методы получения третьей нормальной формы, например, метод синтеза ЗНФ [10].

2.4.3.8. Нормальная форма Бойса–Кодда (НФБК)

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

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

F-зависимостей F, если каждая схема отношения R R находится в НФБК относительно F. НФБК включает в себя ЗНФ [10].

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

зависимостей F, если для каждого подмножества Y из R и каждого атрибута A R-Y из YА следует Y→R при F, т.е. если Y нетривиально определяет произвольный атрибут из R, то Y есть сверхключ R.

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

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

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

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

65

декомпозиции. Рассмотрим состояние отношения Назначение табл. 2.8.

 

 

 

Таблица 2.8

 

 

 

 

Назначение

РЕЙС

ДЕНЬ-НЕДЕЛИ

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

 

106

Понедельник

747

 

106

Четверг

747

 

106

Понедельник

1011

 

106

Четверг

1011

 

204

Среда

707

 

204

Среда

727

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

Таблица 2.9

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

РЕЙС

ДЕНЬ-НЕДЕЛИ

 

106

Понедельник

 

106

Четверг

 

204

Среда

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

РЕЙС

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

 

106

747

 

106

1011

 

204

707

 

204

727

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

 

 

 

Таблица 2.10

 

 

 

 

Назначение

РЕЙС

ДЕНЬ-НЕДЕЛИ

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

 

106

Понедельник

747

 

106

Четверг

747

 

106

Четверг

1011

 

204

Среда

707

 

204

Среда

727

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

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

Пусть 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).

66

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