|
Программирование >> Хронологические базы данных
2. Нормальная форма типа выборка - объединение . Вновь обратимся к переменной-отношению S с данными о поставщиках. Согласно описанной выше теории нормапизации эта переменная-отношение находится в ЗНФ и, следовательно, не характеризуется аномапиями и не нуждается в дальнейшем разбиении на проекции для устранения аномалий. Но зачем хранить сведения обо всех поставщиках в одной переменной-отношении? Может, было бы лучше разместить данные о поставщиках из Лондона в одном отношении (например, в отношении LS), из Парижа - в другом (например, в PS) и т.д.? Иначе говоря, может быть, стоило бы рассмотреть возможность декомпозиции на основе некоторого ограничения, а не на основе проекции? Лучше или хуже будет структура данных, полученная в результате такой декомпозиции? (Фактически она всегда получается хуже (см. упр. 7.8 в главе 7), однако классическая теория нормализации не может дать ответа на поставленные выше вопросы.) Другим направлением в исследованиях нормализации является применение декомпозиции на основе операций, отличных от проекции. В рассматриваемом выше примере, как уже упоминаюсь, операцией декомпозиции является непересекающееся ограничение, а соответствующей операцией композиции - непересекающееся объединение. Таким образом, вполне возможно создать офаничительно-объединитель-ную теорию нормапизации, анаюгичную, но ортогонапьную (независимую), относительно обсуждавшейся выше проекционно-соединительной теории нормапизации. Автору настоящей книги ничего не известно о достаточно развитых теориях подобного типа, однако некоторые исходные идеи можно найти в статье Смита [12.26], где дано определение новой нормальной формы под названием (3,3)НФ. Подразумевается, что переменная-отношение в (3,3)НФ уже находится в НФБК, однако необязательно находится в 4НФ, так же как переменная-отношение в 4НФ не обязательно находится в (3,3)НФ. Таким образом, как и предполагалось выше, приведение к форме типа (3,3)НФ является независимым по отношению к приведению к 4НФ (и ЗНФ). Более подробно об этом можно прочесть в [12.14], [12.22]. 12.8. Резю]\1е в этой главе завершается обсуждение дальнейшей нормализации (начатое в главе 11), включая рассмотрение многозначных зависимостей, являющихся обобщением понятия функциональных зависимостей, а также зависимостей соединения, являющихся обобщениями многозначных зависимостей. Ниже даны определения этих понятий с неформальной точки зрения. Переменная-отношение R{А, В, С} удовлетворяет многозначной зависимости А-)-> В I С тогда и только тогда, когда множество значений атрибута В, соответствующее заданной паре значений атрибутов (А, С), зависит только от значения атрибута А и аналогично множество значений атрибута С, соответствующее заданной паре значений атрибутов (А, В), зависит только от значения атрибута А. Такая переменная- Действительно, Фейгин в [12.9] назвал ЗНФ проекционно-соединительной нормальной формой, поскольку это была именно такая нормальная форма, определяемая с помощью операций проекции и соединения. отношение может быть подвергнута декомпозиции без потерь на проекции {А, В} и {А, С}, причем многозначные зависимости являются необходимым и достаточным условием допустимости такой декомпозиции (теорема Фейгина). Переменная-отношение R{А, В, Z} удовлетворяет зависимости соединения *(А, В, Z) тогда и только тогда, когда она эквивалентна соединению ее проекций по атрибутам А, В, ..., Z. Такая переменная-отношение, очевидно, может быть разбита на эти проекции с обеспечением декомпозиции без потерь. Переменная-отношение находится в 4НФ в том случае, если все существующие в ней многозначные зависимости одновременно являются функциональными зависимостями, исходящими от ее суперключей. Переменная-отношение находится в 5НФ (также называемой проекционно-соединительной нормальной формой) тогда и только тогда, когда все существующие в ней зависимости соединения одновременно являются функциональными зависимостями от ее суперключей. Пятая нормальная форма (которая всегда достижима) является окончательной нормальной формой по отношению к операциям проекции и соединения. В этой главе была кратко описана общая схема процедуры нормализации, представленная в виде некоторой неформальной последовательности этапов с необходимыми комментариями. Затем было дано краткое описание принципа ортогонального проектирования, который неформально можно сформулировать следующим образом: никакие две переменные-отношения не должны иметь проекций с перекрывающимся смысловым значением. Наконец, здесь было дано краткое описание некоторых дополнительных нормальных форм. В заключение следует отметить, что дальнейшие исследования в данной области необходимо считать чрезвычайно перспективными. Дело в том, что теория дальнейшей нормализации, которую теперь все чаще называют теорией зависимостей, представляет собой один из весьма субъективных научных разделов теории проектирования баз данных. Это значит, что, к сожалению, она ближе к искусству, чем к строгой методике. Для выработки последней необходимо найти более твердые принципы и разработать соответствующие рекомендации. Поэтому любой успех в дальнейшем изучении в данной теоретической области представляет значительный интерес для исследователей. Упражнения 12.1. Рассматриваемые в этой главе переменные-отношения СТХ и SPJ (примеры их данных показаны на рис. 12.2 и 12.4) удовлетворяют некоторой многозначной зависимости и некоторой зависимости соединения соответственно, которые потенциальными ключами данных переменных-отношений не предполагаются. Выразите эту многозначную зависимость и эту зависимость соединения с помощью синтаксиса, использовавшегося в главе 8. 12.2. Пусть С - это некоторое множество, а переменная-отношение К{А, В} такова, что кортеж (а, Ь) содержится в R тогда и только тогда, когда а и b принадлежат множеству С. Какие функциональные и многозначные зависимости, а также зависимости соединения имеют место в переменной-отношении R? В какой нормальной форме находится эта переменная-отношение? 12.3. Пусть в некоторой базе данных содержится информация о торговых агентах, регионах сбыта и самой продукции. Каждый агент отвечает за сбыт в одном или нескольких регионах, и в каждом регионе имеется один или несколько торговых агентов. Аналогично каждый агент отвечает за сбыт одного или более видов продукции, а каждый вид продукции распространяется одним или несколькими торговыми агентами. Каждый вид продукции продается в каждом регионе, однако два торговых агента не могут продавать один и тот же продукт в одном и том же регионе. Каждый торговый агент продает один и тот же набор продукции в каждом регионе, за который он отвечает. Спроектируйте набор переменных-отношений, отвечающий указанным требованиям к данным. 12.4. В ответе к упр. 11.3 в главе И был приведен алгоритм декомпозиции без потерь для переменной-отношения R с ее разбиением на множество переменных-отношений в НФБК. Измените этот алгоритм таким образом, чтобы выполнялось аналогичное преобразование, но уже в 4НФ. 12.5. (Модифицированная версия упр. 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, JVfo 3. (Впервые опубликована в Proc. 19th IEEE Symposium on Foundations of Computer Science. - October, 1977.) Первая попытка рассмотреть переменную-отношение, которая не эквивалентна соединению любых двух своих проекций, но эквивалентна соединению трех или более проекций. Основное назначение статьи - представить алгоритм, который теперь называется алгоритмом преследования (chase), предназначенный для определения, является ли данная зависимость соединения логическим следствием данного набора функциональных зависимостей (пример проблемы включения приведен в [12.17]). Эта проблема эквивалентна определению, будет ли данная декомпозиция выполняться без потерь для заданного набора функциональных зависимостей. В статье также обсуждается вопрос о расширении алгоритма для случая, когда заданные зависимости являются не функциональными, а многозначными. 12.2. Beeri С, Fagin R., Howard J.H. А Complete Axiomatization for Functional and Multivalued Dependencies Proc. 1977 ACM SIGMOD Intern. Conf. on Management of Data. - Toronto, Canada, August, 1977.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.005
При копировании материалов приветствуются ссылки. |