Введение в системы БД (542480), страница 125
Текст из файла (страница 125)
12.25.Ы!со!ав ХМ. Мима! Оерепдепс!ев апд Боше Кеви1гв оп 1)пдесошроваЫе Ке!аг!опв // Ргос. 41Ь 1пгегп. Сопб оп Чету 1лгйе Оага Вавев. — Вегйп, РОК. — БергешЬег, 1978. В работе вводится концепция взаимной зависимости, которая в действительности представляет собой частный случай зависимости соединения, не являющейся многозначной или функциональной зависимостью, и включает точно три проекции (как в примере с зависимостью соединения, упомянутой в разделе 12.3). Однако эта концепция не имеет ничего общего с понятием взаимной зависимости, описанным в главе 11. 12.26.0вЬогп БЛ..
Тозчагдв а Оп!чегва1 Ке1айоп 1пгегГасе // Ргос. 5гй 1пгегп. Сопб оп Чету 1.агйе Оага Вавев. — К!о де 1апе!го, Вгакй. — ОсгоЬег, 1979. В статье предполагается, что если две или более последовательностей соединений в системе на основе "универсального отношения" генерируют потенциальный ответ на заданный запрос, то желательным откликом будет соединение всех таких потенциальных ответов.
Приводятся алгоритмы для генерации всех таких последовательностей соединений. 12.27.Раг1гег О.Б., Ое!оЬе! С. А18ог!гЬш!с Аррйсабопв Гог а Ь1ею Кеви1г оп Ми!Пча!иед Оерепдепс]ев // Ргос. 51Ь 1пгегп. Сопб оп Чету Еагйе Раса Взвел. — Рдо де )вне!го, Вгахй. — ОсгоЬег, 1979. Здесь описано применение результатов работы [12.12] для решения различных проблем, например для тестирования операции декомпозиции без потерь. 12.28.Бабдч Ч., Ое1оЬе! С., Раг1гег О.Б., Рай!и К. Ап Ег1и1ча1епсе Ьепчееп Ке!агюпа! ОагаЬаве Оерепдепсгев апд а БиЬс!авв об Ргорогдгюпа] 1.о8!с Н 1АСМ.— )ипе, 1981. — 28, № 3. Эго комбинация работ [10.8] и [12.29].
12.29.Ба81ч У., Рай]п К. Ап Ег!шча!енсе Ьепчееп Ке]апопа1 ОагаЬаве Оерепдепс!ев апд а БиЬс1авв оГРгоровй!опа! !.ой!с //1ВМ КевеагсЬ Керогг К)2500. — МагсЬ, 1979. Здесь результаты работы [10.8], полученные для функциональных зависимостей, расширены для многозначных зависимостей. 12ЗО.Бс!оге Е. А Совр!еге Ахюааг!зайоп оГ Гий )о]п Оерепдепс]ев // 1АСМ. — Арп!, 1982. — 29, № 2. Здесь результаты работы [12.2], полученные для функциональных зависимостей, расширены для многозначных зависимостей. 12.31.Бш1гй Х.М. А Хоппа1 Ропп гог АЪмгасг Бупгах // Ргос.
4гй 1псегп. Сопб оп Чегу 1.агйе Оага Вавев. — Вегйп, РОК. — БергешЬег, 1978. Здесь впервые представлено понятие нормальной формы типа (3,3)НФ. !2.32ЛПшап ).О. Оп Кап!в Сопвег!иепсев ог Аввшпшй а 1)и!чегва1 Ке!ас!оп // АСМ ТООБ. — ОесевЬег, 1983. — 8, № 4. 12.33ЛЛ!шап ЕО. ТЬе 1).К. Бггйгев Васк 0 Ргос. 1м АСМ Б1ОГАСТ-Б1ОМОО Бугпров!шп оп Рг!пс!р!ев ог ОагаЬаве Бувгешв.
— 1.ов Апйе!ев, Сайб — МагсЬ, 1982. 500 Часть 1П. Проектирование базы данных Ответы к упражнениям 12.1. Сначала приведем выражение для СОНЯТКА1НТ СТХ МУР И1ТН (СТХ КЕНАМЕ СООКБЕ АЯ С, МЗЗ для переменной-отношения СТХ. ТЕАСНЕК АЯ Т, ТЕХТ АЯ Х] АЯ т1, (ЕХТЕНР Т1 АРР (СТХ ИНЕКЕ СОРКЯЕ = С) (Т) АЯ А) АЯ Т2, (ЕХТЕМР Т2 АРР (СТХ ИНЕКЕ СОРКЯЕ = С АНР ТЕХТ = Х) (Т) АЯ В) АЯ ТЗ, (ТЗ ИНЕКЕ А ~ В) АЯ Т4 1Я ЕМРТХ (Т4) Для нее сушествует, конечно, и более простое выражение. СОНБТКА1НТ СТХ МРР СТХ = СТХ (СОРКЯЕ, ТЕАСНЕК) ЮО1Н СТХ (СОРКЯЕ, ТЕХТ) А вот выражение для зависимости соединения для переменной-отношения ЯРЮ.
СОНБТКА1НТ БРЮ 10 ЯРЗ = БРЮ (Я4, Р4) ЛО1Н ЯРЮ (Р$, 14) ЮО1Н ЯРЮ (14, Я$) Глава 12. Дальнейшая нормализация; более высокие нормальные формы 501 12.2. Прежде всего обратите внимание, что переменная-отношение К содержит все возможные значения атрибута А в паре со всеми возможными значениями атрибута В. Более того, множество всех возможных значений атрибута А, например Б, такое же, как н множество всех значений атрибута В. Следовательно, переменная-отношение К равносильна декартову произведению множества Я с самим собой. Эквивалентная формулировка такова: переменная-отношение К равносильна декартову произведению проекции переменной-отношения К по атрибуту А и проекции переменной-отношення К по атрибуту В. Таким образом, переменная-отношение К удовлетворяет следуюшнм многозначным зависимостям (которые не являются тривиальными, поскольку не удовлетворяют всем двойным переменным-отношениям).
()-++А)В Эквивалентно также утверждение, что переменная-отношение К удовлетворяет зависимости соединения в(А, В) (вспомните, что соединение без обших атрибутов вырождается в декартово произведение его операндов). Отсюда следует, что переменная-отношение К не находится в 4НФ и может быть подвергнута декомпозиции без потерь на две проекции по атрибутам А и В (причем тела этих проекций будут, безусловно, идентичны).
Однако переменная-отношение К находится в НФЕК (поскольку является полностью ключевой) и не удовлетворяет никаким нетривиальным функциональным зависимостям. Зачечание. Переменная-отношение К также удовлетворяет двум многозначным зависимостям. А -++В1()  — А~() Однако они являюглся тривиальными, поскольку удовлетворяют любым двойным переменным-отношениям с атрибутами А и В. 12.3.
Сначала введем три переменные-отношения, первичными ключами которых будут имена торговых агентов, названия регионов и названия товаров соответственно. ВЕР ( ВЕР$, КЕХ ( ВЕР$ АВЕК ( АВЕК(, ... ) КЕХ ( АВЕК( ) РВОООСТ ( РВО0$, ... ) КЕХ ( РВО0$ ) Затем представим связь между торговыми агентами и регионами с помошью следуюшей переменной-отношения. ВА ( ВЕР(, АВЕМ ) КЕХ ( КЕР(, АВВА( Связь между торговыми агентами и продукцией представим с помошью переменной-отношения ВР. ВР ( ВЕР(, РВОВ( КЕХ ( ВЕР(у РВО0$ Обе эти переменные-отношения представляют связи типа "многие ко многим". Далее для описания того, что каждый вид продукции продается в каждом регионе, необходимо ввести следуюшую переменную-отношение.
АР ( АВЕА$, РВОВ( КЕХ ( АВЕМ, РВО01 ) Для представления связей, сушествуюШих между регионами и продукцией, установим ограничение (назовем его С). АР = АВЕК ( АВЕА( ) ТТИЕЯ РВОВОСТ ( РВО01 Обратите внимание на следуюшее; в ограничении С подразумевается, что переменная-отношение АР не находится в четвертой нормальной форме (см.
упр. 12.2). На самом деле переменная-отношение АР не дает никакой дополнительной информации, которая не может быть получена из других переменных-отношений. АР ( АВЕМ ) = АВЕА ( АВЕМ ) АР ( РВОВ( ) = РВОВОСТ ( РВО0$ Тем не менее пока будем считать, что переменная-отношение АР включена в проект создаваемой базы данных. Условие, что никаких два торговых агента не продают один и тот же вид продукции в одном и том же регионе, означает, что заданной комбинации атрибутов 502 Часть Ш.
Проектирование базы данных (МЕЛ(, РКО01) соответствует только одно значение номера торгового агента (атрибут КЕР$). Исходя из этого, можно ввести следующую переменную-отношение. АРК ( МЕЛ$, РКО0$, КЕР$ ) КЕз ( МЕА$, РКО01 Здесь явным образом реализована следующая функциональная зависимость. ( МЕЛ(, РКО01 ) -> ЛЕРУ Безусловно, определение комбинации атрибутов (МЕА$, РКО01» в качестве потенциального ключа переменной-отношения ЛРК является достаточным условием для выражения этой функциональной зависимости. Однако теперь переменные- отношения КА, КР и АР оказались избыточными, поскольку они являются проекциями переменной-отношения АРК, а потому могут быть опущены. Вместо ограничения С теперь необходимо ввести следующее ограничение С1.
АРК ( МЕА$, РКО01 ) = МЕА ( МЕЛЯ ) ИМЕЯ РКО0002 ( РКО01 Оно также должно быть задано отдельно и явным образом (поскольку оно не предполагается существующими потенциальными ключами). Кроме того, поскольку каждый торговый агент продает весь свой набор товаров в каждом из обслуживаемых им регионов, для переменной-отношения АРК необходимо установить дополнительное ограничение С2 (оно представляет нетривиальную МЗЗ, следовательно, переменная-отношение ЛРК не находится в 4НФ). КЕР$ -++ АЛЕЛ( ) РКО01 Таким образом, в окончательном виде проект базы данных состоит из переменных- отношений КЕРЯ, МЕЛЯ, РКОООСТЯ и АРК вместе с заданными явным образом ограничениями С1 и С2. ° Это упражнение хорошо иллюстрирует тот факт, что в общем случае порядок нормализации адекватно представляет некоторые семантические аспекты заданной проблемы (в основном, зависимости, которые подразумеваются потенциальными ключами, где под "зависимостями*' имеются в виду функциональные и многозначные зависимости, а также зависимости соединения).
Однако может также потребоваться явное указание дополнительных зависимостей для некоторых особых аспектов, а отдельные аспекты могут быть и вовсе непредставимы с помощью подобных типов зависимостей. Это упражнение лемонстрирует, что не всегда желательно "полностью" нормализовать некоторую переменную-отношение (в нашем примере переменная-отношение АРК находится в НФБК, но не в 4НФ). 12.4. Все вносимые изменения достаточно просты — стоит лишь заменить упоминания функциональных зависимостей н НФБК понятиями многозначной зависимости и 4НФ.
Тогда алгоритм декомпозиции будет следующим. 1. Зададим переменную-отношение К в качестве начального значения для декомпозиции Р. 2. Для каждой переменной-отношения 2 (которая не находится в 4НФ), входящей в состав декомпозиции О, выполним действия, которые перечислены в пп. 2 и 3. 3. Пусть зависимость Х вЂ” ьэ У является многозначной зависимостью в переменной-отношении 2, которая не удовлетворяет требованиям 4НФ. Глава 12. Дальнейшая нормализация: более высокие нормальные формы 503 ~ 4. Заменим переменную-отношение 1 в декомпозиции 0 двумя ее проекциями, а именнр: одной по атрибутам Х и 1, а другой — по всем атрибутам, за исключением атрибута 1. 12.5.
Это пример "циклического ограничения", которому соответствует приведенная ниже реляционная структура. НЕР ( НЕР$~ ) КЕТ ( ВЕРЕ ) АВЕй ( АНЕА$, ° ° ° ) КЕТ ( АКЕМ ) РНООО~У ( ВЕР$, ... ) КЕУ ( РЮ0$ ) Вй ( НЕР$, АНЕй$ ) КЕТ ( НЕР$, АНЕМ ) АР ( АНЕА$, РЮ0$ ) КЕУ ( АНЕА$, РКО0$ РН ( РНО0$, НЕР$ ) КЕУ ( РК00$, НЕР$ Кроме того, пользователя следует информировать о том, что соединение переменных-отношений ВА, НР и АР не содержит никаких ловушек соединения.
( НА ЛО1й АР с01Е РН ) ( КЕР$, АНЕМ ) = НА АКО ( Нй Т01й АР ТО1Е РН ) ( АНЕА$, РВО0$ ) = АР АЕО ( ВА 301й АР ТО1й РН ) ( РКО0$, ВЕР$ ) = РК 504 Часть 1П. Проектирование базы данных Глава 13 Семантическое моделирование 13.1. Введение Семантическое моделирование стало предметом интенсивных исследований с конца 1970-х годов.