Введение в системы БД (542480), страница 122
Текст из файла (страница 122)
Концептуально реализация ограничений, которые установлены для переменной- отношения, иаходяшейся в ДКНФ, осуществляется очень просто, поскольку для этого достаточно реализовать поддержку ограничений домена и ключа, а все остальиые ограничения будут приведены в действие автоматически. Обратите виимаиие, что под выражением "все остальные ограничения" подразумевается нечто большее, чем просто фуикциоиальиые и многозначные зависимости или зависимости соединения. Фактически это выражение обозначает весь нредикат данной перемеииой-отиошеиия.
Фейгин в [12.15] показал, что любая переменная-отношение, иаходяшаяся в ДКНФ, находится в 5НФ (а значит, в 4НФ и т.д.), а также в форме типа (3,3)НФ (подробиее о ией рассказывается ниже). Однако ие всегда можно привести перемеииую-1 отношение к ДКНФ или получить ответ иа вопрос "Когда такое приведение может быть выполнено?". 490 Часть Ш. Проектирование базы данных Прежде чем завершить обсуждение вопросов нормализации, следует напомнить сделаииое в главе 11 замечание о том, что, помимо уже описанных, существуют и другие нормальные формы.
Дело в том, что теория нормализации и связанные с ией вопросы (в иастояшее время эту область обычно называют теорией зависимостей) развились в зиачительиую самостоятельную область знаний с обширной литературой. Исследования в данной области продолжаются и в иастояшее время, причем довольно успешно. Однако сколько-нибудь углубленный обзор этих исследований выходит за рамки данной главы.
Заинтересованный читатель найдет достаточно полный обзор полученных в этой области результатов в [12.17] (по состоянию иа середину 1980-х годов). Ниже мы лишь кратко упомянем о некоторых из иих. 2. Нормальная форма типа "выборка — объединение". Вновь обратимся к переменной-отношению Я с данными о поставщиках. Согласно описанной выше теории нормализации эта переменная-отношение находится в 5НФ и, следовательно, не характеризуется аномалиями и не нуждается в дальнейшем разбиении на проекции для устранения аномалий. Но зачем хранить сведения обо всех поставщиках в одной переменной-отношении? Может, было бы лучше разместить данные о поставщиках из Лондона в одном отношении (например, в отношении ЬЯ), из Парижа — в другом (например, в РЯ) и т.д.? Иначе говоря, может быть, стоило бы рассмотреть возможность декомпозиции на основе некоторого ограничении, а не на основе проекции? Лучше или хуже будет структура данных, полученная в результате такой декомпозиции? (Фактически она всегда получается хуже (см, упр, 7.8 в главе 7), однако классическая теория нормализации не может дать ответа на поставленные выше вопросы.) Другим направлением в исследованиях нормализации является применение декомпозиции на основе операций, отличных от проекции.
В рассматриваемом выше примере, как уже упоминалось, операцией декомпозиции является непересекающееся ограничение, а соответствующей операцией композиции — непересекающееся объединение. Таким образом, вполне возможно создать "ограничительно-объединительную" теорию нормализации, аналогичную, но ортогональную (независимую), относительно обсуждавшейся выше проекционно-соединительной теории нормализацииз.
Автору настоящей книги ничего не известно о достаточно развитых теориях подобного типа. однако некоторые исходные идеи можно найти в статье Смита [12.2б), где дано определение новой нормальной формы под названием (З,З)НФ. Подразумевается, что переменная-отношение в (3,3)НФ уже находится в НФБК, однако необязательно находится в 4НФ, так же как переменная-отношение в 4НФ не обязательно находится в (3,3)НФ. Таким образом, как и предполагалось выше, приведение к форме типа(3,3)НФ является независимым по отношению к приведению к 4НФ (и 5НФ).
Более подробно об этом можно прочесть в [12.14), [12.22). 12.8. Резюме В этой главе завершается обсуждение дальнейшей нормализации (начатое в главе 11), включая рассмотрение многозначных зависимостей, являющихся обобщением понятия функциональных зависимостей, а также зависимостей соединенин, являющихся обобщениями многозначных зависимостей. Ниже даны определения этих понятий с неформальной точки зрения. ° Переменная-отношение й(й, В, С) удовлетворяет многозначной зависимости й -+ь В ) С тогда и только тогда, когда множество значений атрибута В, соответствующее заданной паре значений атрибутов (й, С), зависит только от значения атрибута й и аналогично множество значений атрибута С, соответствующее заданной паре значений атрибутов (В, В), зависит только от значения атрибута В, Такая переменная- 5 Действительна, Фейгин в (!2.9/ назвал 5НФ проекционно-соединительной нормальной формой, пискалику зтв была именна такая нормальная форма, апределяемая с памащью операций праекции и соединения.
Глава 12. Дальнейшая нормализация: более высокие нормальные формы 491 отношение может быть подвергнуга декомпозиции без потерь на проекции (А, В) и (А, С), причем многозначные зависимости являются необходимым и достаточным условием допустимости такой декомпозиции (теорема Фейгина). ° Переменная-отношение й(Л, В, ..., 1) удовлетворяет зависимости соединения ь(л, В, ..., 8) тогда и только тогда, когда она эквивалентна соединению ее проекций по атрибутам л, В, ..., Е. Такая переменная-отношение, очевидно, может быть разбита на эти проекции с обеспечением декомпозиции без потерь. Переменная-отношение находится в 4НФ в том случае, если все существующие в ней многозначные зависимости одновременно являются функциональными зависимостями, исходящими от ее суперключей.
Переменная-отношение находится в 5НФ (также называемой проекционно-соединительной нормальной формой) тогда и только тогда, когда все существующие в ней зависимости соединения одновременно являются функциональными зависимостями от ее суперключей. Пятая нормальная форма (которая всегда достижима) является окончательной нормальной формой по отношению к операциям проекции и соединения.
В этой главе была кратко описана общая схема процедуры нормализации, представленная в виде некоторой неформальной последовательности этапов с необходимыми комментариями. Затем было дано краткое описание принципа ортогонального проектирования, который неформально можно сформулировать следующим образом: никакие две переменные-отношения не должны иметь проекций с перекрывающимся смысловым значением.
Наконец, здесь было дано краткое описание некоторых оополнительных нормальны~ форм. В заключение следует отметить, что дальнейшие исследования в данной области необходимо считать чрезвычайно перспективными. Дело в том, что теория дальнейшей нормализации, которую теперь все чаще называют теорией зависимостей, представляет собой один из весьма субъективных научных разделов теории проектирования баз данных. Это значит, что, к сожалению, она ближе к искусству, чем к строгой методике.
Для выработки последней необходимо найти более твердые принципы и разработать соответствующие рекомендации. Поэтому любой успех в дальнейшем изучении в данной теоретической области представляет значительный интерес для исследователей. Упражнения 12.1. Рассматриваемые в этой главе переменные-отношения СТХ и БРЮ (примеры их данных показаны на рис. 12,2 и !2.4) удовлетворяют некоторой многозначной зависимости и некоторой зависимости соединения соответственно, которые потенциальными ключами данных переменных-отношений не предполагаются. Выразите эту многозначную зависимость и эту зависимость соединения с помощью синтаксиса, использовавшегося в главе 8.
12.2. Пусть С вЂ” это некоторое множество, а переменная-отношение В(й, В) такова, что кортеж (а, Ь] содержится в В тогда и только тогда, когда а и Ь принадлежат множеству С. Какие функциональные и многозначные зависимости, а также зависимости соединения имеют место в переменной-отношении й? В какой нормальной форме находится эта переменная-отношение? 492 Часть Ш. Лроектирование базы данньп Список литературы 12.1 12.2. Глава 12. Дальнейшая нормализации: более высокие нормальные формы 493 12.3.
12.4. 12.5. Пусть в некоторой базе данных содержится информация о торговых агентах, регионах сбыта и самой продукции. Каждый агент отвечает за сбыт в одном или нескольких регионах, и в каждом регионе имеется один или несколько торговых агентов. Аналогично каждый агент отвечает за сбыт одного или более видов продукции, а каждый вид продукции распространяется одним или несколькими торговыми агентами.
Каждый вид продукции продается в каждом регионе, однако два торговых агента не могут продавать один и тот же продукт в одном и том же регионе. Каждый торговый агент продает один и тот же набор продукции в каждом регионе, за который он отвечает. Спроектируйте набор переменных-отношений, отвечающий указанным требованиям к данным. В ответе к упр. 11.3 в главе 11 был приведен алгоритм декомпозиции без потерь для переменной-отношения й с ее разбиением на множество переменных- отношений в НФБК. Измените этот алгоритм таким образом, чтобы выполнялось аналогичное преобразование, но уже в 4НФ. (Модифицированная версия улр. /2.3.) Пусть в некоторой базе данных содержится информация о торговых агентах, регионах сбыта и самой продукции.
Каждый торговый агент отвечает за сбыт продукции в одном или нескольких регионах, и в каждом регионе имеется один или более торговых агентов. Аналогично каждый торговый агент отвечает за сбыт одного илн более видов продукции, а каждый вид продукции распространяется одним или несколькими торговыми агентами. Наконец, каждый вид продукции продается в одном нли нескольких регионах и в каждом регионе продается один или несколько видов продукции.