Программирование >>  Хронологические базы данных 

1 ... 146 147 148 [ 149 ] 150 151 152 ... 348


no атрибуту P#

Излишний кортеж

Соединение по комбинации атрибутов J#,S#

Исходное состояние SPJ

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

Далее, представленный на рис. 12.4 пример, безусловно, выполнен в терминах отношений, а не переменных-отношений. Однако 3-декомпозируемость переменной-отношения SPJ может быть более фундаментальным и не зависящим от времени свойством (т.е. свойством, которое удовлетворяется для всех допустимых значений данной переменной-отношения), если данная переменная-отношение удовлетворяет определенному не зависящему от времени ограничению целостности. Для того чтобы понять, каким именно должно быть это ограничение, прежде всего заметим, что утверждение переменная-отношение SPJ равна соединению трех своих проекций SP, PJ и JS в точности эквивалентно следующему утверждению.

ЕСЛИ

пара пара пара тройка

(si, р1) (Р1, jl) (jl, si) (si, pi, jl)

присутствует в SP присутствует в PJ, присутствует в JS, присутствует в SPJ.

Это верно, поскольку очевидно, что тройка (si, р1, jl) обязательно присутствует в соединении проекций SP, PJ и JS. (Обратное утверждение, т.е. если тройка (si, р1, jl) присутствует в переменной-отношении SPJ, то, например, пара (si, р1) присутствует в проекции SP, является истинным для любой переменной-отношения SPJ третьего порядка.) Так как пара (si, р1) присутствует в отношении SP тогда и только тогда, когда тройка (si, р1, j2) присутствует в отношении SPJ для некоторого значения j2 (аналогично для (р1, jl) и (jl, si)), приведенное выше утверждение можно переписать в виде ограничения, накладываемого на переменную-отношение SPJ.

ЕСЛИ кортежи (si, р1, j2), (s2, pi, jl), (si, p2, jl) присутствуют в SPJ

TO кортеж (si, pi, jl) также присутствует в SPJ.



Если это утверждение выполняется всегда, т.е. для всех допустимых значений переменной-отношения SPJ, то будет получено не зависяшее от времени (хотя и несколько странное) ограничение для данной переменной-отношения. Обратите внимание на циклическую структуру этого ограничения ( если значение sl связано с р1 и р1 связано с jl, а jl связано опять с sl, то sl, pl и jl должны находиться в одном кортеже ). Переменная-отношение будет п-декомпозируемой для п>2 тогда и только тогда, когда она удовлетворяет некоторому циклическому ограничению.

Предположим теперь, что переменная-отношение SPJ действительно удовлетворяет этому не зависящему от времени ограничению (представленный на рис. 12.4 пример данных соответствует такой гипотезе). Далее ограничение 3-декомпозируемости для краткости будем называть ЗД-ограничение.м. Что означает ЗД-ограничение с практической точки зрения? Для получения ответа на этот вопрос рассмотрим пример, в котором под такими ограничениями подразумевается, что если в реальном мире для переменной-отношения SPJ верны утверждения

а) Смит поставляет гаечные ключи,

б) Гаечные ключи используются в Манхэттенском проекте,

в) Смит является поставщиком для Манхэттенского проекта, то

г) Смит поставляет гаечные ключи для Манхэттенского проекта.

Обратите внимание, что (как уже упоминалось в главе 1, раздел 1.3) из взятых в совокупности утверждений а, б и в обычно не следует утверждение г. Действительно, точно такой же пример был рассмотрен в главе 1 для демонстрации ловушки соединения . Однако в данном частном случае следует отметить, что никакой ловушки здесь нет, поскольку существует дополнительное ЗД-ограничение, имеющее место в реальном мире, благодаря чему вывод утверждения г на основе утверждений а, б н в является вполне правомочным.

Возвращаясь к главной теме нашего обсуждения, отметим, что, поскольку ЗД-ограничение удовлетворяется тогда и только тогда, когда переменная-отношение равносильна соединению некоторых ее проекций, такое ограничение называется зависимостью соединения (ЗС). Зависимость соединения является таким же ограничением для данной переменной-отношения, как многозначная и функциональная зависимости. Ниже дается определение этого понятия.

Пусть R является переменной-отношением, а А, В, Z- произвольными подмножествами множества ее атрибутов. Переменная-отношение R удовлетворяет зависимости соединения

*{А, В, ... , Z} (читается звездочка А, В, Z )

тогда и только тогда, когда любое допустимое значение переменной-отношения R эквивалентно соединению ее проекций по подмножествам атрибутов А, В, Z.

Например, если использовать сокращенную символьную запись SP для подмножества {S#, Р#} множества атрибутов переменной-отношения SPJ и аналогично использовать сокращения PJ и JS для двух других подмножеств, то переменная-отношение SPJ будет удовлетворять зависимости соединения *{SP, PJ, JS}.



Отсюда ясно, что переменная-отношение SPJ с зависимостью соединения *{SP, PJ, JS} может быть 3-декомпозируемой. Однако вопрос состоит в том, следует ли выполнять такую декомпозицию? По всей видимости, следует, так как в связи с наличием зависимости соединения переменная-отношение SPJ характеризуется многочисленными аномалиями обновления, которые можно устранить лишь с помощью 3-декомпозиции. Некоторые примеры подобных аномалий приведены на рис. 12.5. Ответить на вопрос, что произойдет после выполнения 3-декомпозиции, читателям предлагается самостоятельно в качестве упражнения.

.........

Если вставляется кортеж (82,Р1,Л), то также должен быть вставлен кортеж (S1,P1,J1)

Обратное утверждение не является истинным

Кортеж (S2,P1,J1) может быть УА&пен без побочных эффектов

Если удаляется кортеж (S1,P1,J1), то также должен быть удален еще один кортеж (но какой?)

Рис. 12.5. Примеры аномалий обновления в переменной-отношении SPJ

Теорема Фейгина (которая рассматривалась в разделе 12.2) утверждает, что переменная-отношение R{A, В, С} может быть декомпозирована без потерь на проекции с атрибутами {А, В} и {А, С} тогда и только тогда, когда для переменной-отношения R выполняются многозначные зависимости А В и А С.

Теперь теорема Фейгина может быть сформулирована иначе.

Переменная-отношение R{A, В, С} удовлетворяет зависимости соединения *{АВ, АС} тогда и только тогда, когда она удовлетворяет многозначной зависимости А В I С.

Поскольку эту теорему можно использовать в качестве определения многозначной зависимости, то либо многозначная зависимость является частным случаем зависимости соединения, либо (что эквивалентно) зависимость соединения является обобщением понятия многозначной зависимости.

Формально получим следующее.

А В I С = *{ АВ, АС }

Замечание. Более того, из определения зависимости соединения сразу же следует, что из всех возможных форм это наиболее общая форма зависимости (конечно, имеется в виду, что термин зависимость употребляется в узком специальном смысле). Это значит, что для переменных-отношений, которые подвергаются декомпозиции на проекции и обратной композиции с соединением проекций, не существует более высокой степени зави-



1 ... 146 147 148 [ 149 ] 150 151 152 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика