|
Программирование >> Хронологические базы данных
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 С = *{ АВ, АС } Замечание. Более того, из определения зависимости соединения сразу же следует, что из всех возможных форм это наиболее общая форма зависимости (конечно, имеется в виду, что термин зависимость употребляется в узком специальном смысле). Это значит, что для переменных-отношений, которые подвергаются декомпозиции на проекции и обратной композиции с соединением проекций, не существует более высокой степени зави-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |