Скачиваний:
102
Добавлен:
02.05.2014
Размер:
2.3 Mб
Скачать

12.8. Резюме

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

■ Переменная-отношение R{A, В, С} удовлетворяет многозначной зависимости А —н В j С тогда и только тогда, когда множество значений атрибута В, соответствующее заданной паре значений атрибутов (А, С), зависит только от значения атрибута А и аналогично множество значений атрибута С, соответствующее заданной паре значе­ний атрибутов (А, В), зависит только от значения атрибута А. Такая переменная­

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

Переменная-отношение находится в 4НФ в том случае, если все существующие в ней многозначные зависимости одновременно являются функциональными зависимостями, исходящими от ее суперключей. Переменная-отношение находится в 5НФ (также назы­ваемой проекционно-соединительной нормальной формой) тогда и только тогда, когда все существующие в ней зависимости соединения одновременно являются функциональ­ными зависимостями от ее суперключей. Пятая нормальная форма (которая всегда дос­тижима) является окончательной нормальной формой по отношению к операциям про­екции и соединения.

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

В заключение следует отметить, что дальнейшие исследования в данной области не­обходимо считать чрезвычайно перспективными. Дело в том, что теория дальнейшей нормализации, которую теперь все чаше называют теорией зависимостей, представляет собой один из весьма субъективных научных разделов теории проектирования баз дан­ных. Это значит, что, к сожалению, она ближе к искусству, чем к строгой методике. Для выработки последней необходимо найти более твердые принципы и разработать соот­ветствующие рекомендации. Поэтому любой успех в дальнейшем изучении в данной теоретической области представляет значительный интерес для исследователей.

Упражнения

  1. Рассматриваемые в этой главе переменные-отношения СТХ и SPJ (примеры их дан­ных показаны на рис. 12.2 и 12.4) удовлетворяют некоторой многозначной зависи­мости и некоторой зависимости соединения соответственно, которые потенциаль­ными ключами данных переменных-отношений не предполагаются. Выразите эту многозначную зависимость и эту зависимость соединения с помощью синтаксиса, использовавшегося в главе 8.

  2. Пусть С — это некоторое множество, а переменная-отношение R{A, В} такова, что кортеж (а, Ь) содержится в R тогда и только тогда, когда а и Ь принадлежат мно­жеству С. Какие функциональные и многозначные зависимости, а также зависимо­сти соединения имеют место в переменной-отношении R? В какой нормальной форме находится эта переменная-отношение?

  1. Пусть в некоторой базе данных содержится информация о торговых агентах, ре­гионах сбыта и самой продукции. Каждый агент отвечает за сбыт в одном или не­скольких регионах, и в каждом регионе имеется один или несколько торговых агентов. Аналогично каждый агент отвечает за сбыт одного или более видов про­дукции, а каждый вид продукции распространяется одним или несколькими торго­выми агентами. Каждый вид продукции продается в каждом регионе, однако два торговых агента не могут продавать один и тот же продукт в одном и том же ре­гионе. Каждый торговый агент продает один и тот же набор продукции в каждом регионе, за который он отвечает. Спроектируйте набор переменных-отношений, отвечающий указанным требованиям к данным.

  2. В ответе к упр. 11.3 в главе 11 был приведен алгоритм декомпозиции без потерь для переменной-отношения Е с ее разбиением на множество переменных-отношений в НФБК. Измените этот алгоритм таким образом, чтобы выполнялось аналогичное преобразование, но уже в 4НФ.

  3. (Модифицированная версия упр. 12.3.) Пусть в некоторой базе данных содержится информация о торговых агентах, регионах сбыта и самой продукции. Каждый тор­говый агент отвечает за сбыт продукции в одном или нескольких регионах, и в ка­ждом регионе имеется один или более торговых агентов. Аналогично каждый тор­говый агент отвечает за сбыт одного или более видов продукции, а каждый вид продукции распространяется одним или несколькими торговыми агентами. Нако­нец, каждый вид продукции продается в одном или нескольких регионах и в каж­дом регионе продается один или несколько видов продукции. Более того, если тор­говый агент R отвечает за сбыт в регионе А, продукт Р продается в регионе А и тор­говый агент R отвечает за сбыт продукта Р, то агент R продает продукт Р в регионе А. Спроектируйте набор переменных-отношений, отвечающий указанным требова­ниям к данным.

Список литературы

12.1. Aho A.V., Beeri С, Ullman J. D. The Theory of Joins in Relational Databases // ACM TODS. — 1979. —4, № 3. (Впервые опубликована в Proc. 19th IEEE Symposium on Foundations of Computer Science. — October, 1977.)

Первая попытка рассмотреть переменную-отношение, которая не эквивалентна со­единению любых двух своих проекций, но эквивалентна соединению трех или бо­лее проекций. Основное назначение статьи — представить алгоритм, который те­перь называется алгоритмом преследования (chase), предназначенный для опре­деления, является ли данная зависимость соединения логическим следствием дан­ного набора функциональных зависимостей (пример проблемы включения при­веден в [12.17]). Эта проблема эквивалентна определению, будет ли данная деком­позиция выполняться без потерь для заданного набора функциональных зависимо­стей. В статье также обсуждается вопрос о расширении алгоритма для случая, ко­гда заданные зависимости являются не функциональными, а многозначными.

12.2. Beeri С, Fagin R., Howard J.H. A Complete Axiomatization for Functional and Multivalued Dependencies // Proc. 1977 ACM SIGMOD Intern. Conf. on Management of Data. — Toronto, Canada, August, 1977.

В этой работе результаты работы Армстронга (Armstrong) [10,1] обобщаются и распространяются на многозначные и функциональные зависимости. В частности, дается строгий и полный набор правил вывода для многозначных зависимостей.

  1. Дополнение. Если множества атрибутов А, В, С совместно содержат все атрибу­ты переменной-отношения и А является супермножеством пересечения В п С, то А -*» В тогда и только тогда, когда А -*» С.

  2. Рефлексивность. Если В является подмножеством А, то А В.

  3. Прирашение. Если А -»-» В и С является подмножеством D, то AD -»-» ВС.

  4. Транзитивность. Если А В и В —»-> С, то А С-В.

Далее следуют дополнительные полезные правила, которые выводятся из при­веденных выше правил.

  1. Псевдотранзитивность. Если А —>-> В и ВС D, то АС -»-> D-BC.

  2. Объединение. Если А ->-» В и А С, то А -н ВС.

  3. Декомпозиция. Если А -+> ВС, то А —>-> В п С, А В-СиА --*-» С-В.

В статье также представлены еще два правила, по которым можно вывести дру­гие функциональные зависимости на основе определенных комбинаций функ­циональных и многозначных зависимостей.

  1. Репликация. Если А —» В, то А -» В.

  2. Слияние. Если А —»•» В, С —> D, D является подмножеством В, а пересечение В п С пусто, то А —» D.

Правила Армстронга (см. главу 10) вместе с правилами 1-4, 8 и 9 образуют строгий и полный набор правил для функциональных и многозначных зависи­мостей.

В статье также выведено еще одно полезное правило, связывающее функцио­нальные и многозначные зависимости.

10. Если А -»■» В и АВ —» С, то А —> С-В.

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]