Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / database.pdf
Скачиваний:
48
Добавлен:
06.02.2018
Размер:
583.8 Кб
Скачать

http://slava.fateback.com

36

Сохранение зависимостей при декомпозиции

Определение 2.31 Проекцией πZ(F ) множества функциональных зависимостей на множество атрибутов Z зовется совокупность зависимостей вида X → Y F : X, Y Z.

 

k

 

iS

Определение 2.32 Декомпозиция ρ(R1, R2, . . . , Rk) сохраняет зависимость, если F

=1 πRi(F ).

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

Пример. Пусть U = {A, B, C}, F = {AB → C, C → A}, ρ(AC, BC). Проведем алгоритм проверки соединения без потерь информации. Первый шаг:

A B C

AC a1 b12 a3

BC b21 a2 a3

Пробегаем F . Первая зависимость не меняет таблицу, вторая приводит к следующей:

A B C

AC a1 b12 a3

BC a1 a2 a3

Декомпозиция удовлетворяет свойству соединения без потерь информации. Но πAC(F )

πBC(F ) = {C → A} 6= F . Зависимости не сохраняются.

Пример. Пусть U = {A, B, C, D}, F = {A → B, C → D}, ρ(AB, CD). Проведем алгоритм проверки соединения без потерь информации. Первый шаг:

A B C D

AB a1 a2 b13 b14

CD b21 b22 a3 a4

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

невозможны. Декомпозиция не удовлетворяет свойству соединения без потерь информации. πAB(F ) πCD(F ) = {A → B} {C → D} = F , то есть зависимости сохраняются.

Примеры показывают, что соединение без потерь информации и сохранение зависимостей никак между собой не связаны.

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

Определение 2.33 Атрибут X мультиопределяет Y в контексте Z, (X Y (Z)), если в какой-либо реализации схемы R имеются два картежа t, u : t[X] = u[X], то найдется и третий картеж v : v[X] = t[X], v[Y ] = t[Y ], v[Z] = u[Z] (или симметрично, найдется картеж w : w[X] = t[X], w[Y ] = u[Y ], w[Z] = t[Z]).

http://slava.fateback.com

37

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

Пример. Пусть отношение содержит атрибуты «Номер рейса» (A1), «Номер бригады» (A2), «Номер члена экипажа» (A3), «Дата вылета» (A4). Здесь имеются следующие мультизависимости: A1A2 A3(A4), поскольку в бригаду входит несколько человек и летят одним рейсом. Из дополнения получается зависимость A1A2 A4(A3). При обычной зависимости контекст опускается.

Пример. Пусть отношение содержит атрибуты «Наименование товара» (A1), «Номер пояса» (A2), «Цена товара» (A3). Поясов у товара три, и добавление нового товара требует занесения в отношение еще двух записей для оставшихся поясов. Этот пример демонстрирует особый вид зависимости, поскольку здесь она такова: A1(A2).

Замечание. Если X Y Z = R, то зависимость зовется обычной, иначе — встроенной.

Из теории БД известно, что теория функциональных зависимостей полна и непротиворечива, обычных мультизависимостей — полна и непротиворечива, встроенных мультизависимостей — непротиворечива и неполна.

Если обобщенный ключ XY Z и в нем выявлена мультзависимость X Y (Z), то производится декомпозиция на XY и XZ. При этом операцией естественного соединения получается исходное отношение, что говорит о сохранении свойства соединения без потерь информации, ради которого и вводится обобщенный ключ.

2.8.5 Построение канонической модели

Дано: R схема отношений, определенная на множестве атрибутов U = {A1, A2, . . . , An}, минимальное покрытие F множества функциональных зависимостей.

Определение 2.34 Xi — множество атрибутов, входящих в зависимость Fi F .

Шаг 1. Формируется декомпозиция ρ(X1, X2, . . . , Xk).

Шаг 2. Если Xi и Xj построенные по функциональным зависимостям, левые части которых совпадают и имеют одинаковые области определения, то строим объединение этих множеств Xi Xj. Сами Xi, Xj удаляются из декомпозиции, а объединение — дополняется.

Шаг 3. Если X мультиопределяет Y в контексте Z, (X Y (Z)), то отношение Ri, содержащая все эти атрибуты, декомпонируется на пару XY и XZ.

Шаг 4. Если имеются атрибуты Aj, не входящие ни в одну функциональную зависимость, то из них формируются отдельные отношения. Это требование формальное, но фактически оно свидетельствует об ошибке проектирования.

Замечание. Наличие атрибутов, описанных на шаге 4, говорит о том, что данные атрибуты принадлежат объектам, для которых в БД не предусмотрена однозначная идентификация. Необходимо ввести идентификатор и вернуться к построению множества функциональных зависимостей. Ситуация аналогична проблеме изолированных данных.

Замечание. По построению декомпозиция сохраняет функциональные зависимости (по ним она строится).

Соседние файлы в папке экзамен