Главная » SQL, Базы данных » ДРУГИЕ НОРМАЛЬНЫЕ ФОРМЫ

0

В этом разделе мы снова возвращаемся к теме нормализации. Прежде чем завершить обсуждение вопросов нормализации, следует напомнить сделанное в главе 12 замечание о том, что, помимо уже описанных, существуют и другие нормальные формы. Дело в том, что теория нормализации и связанные с ней  вопросы (в настоящее время эту область обычно называют теорией зависимостей) развились в широкую самостоятельную область знаний. Исследования в данной  области продолжаются и в настоящее время, причем довольно успешно (хотя в последнее время наблюдается некоторое снижение интереса к этой теме). Но более подробный обзор этих исследований выходит за рамки данной главы. Заинтересованный читатель найдет достаточно полный обзор полученных в этой области результатов в [13.18] (по состоянию на середину 1980-х годов), а более свежие обзоры можно найти в [11.1] и [11.3]. Ниже кратко описаны лишь некоторые из них.

1. Доменно-ключевая нормальная форма (ДКНФ). Эта форма была предложена Фейгином [13.16]. В отличие от рассмотренных выше нормальных форм, она не определяется в терминах функциональных зависимостей, многозначных зависимостей или зависимостей соединения. Вместо этого утверждается, что переменная отношения R находится в ДКНФ тогда и только тогда, когда каждое наложенное на нее ограничение является  логическим следствием ограничений доменов и ограничений ключей, наложенных на данную переменную отношенияи.

■     Ограничение домена в том смысле, в котором оно здесь употребляется, — это ограничение, предписывающее использование для определенного атрибута значений только из некоторого заданного домена. (В главе 9 это ограничение упоминается как ограничение атрибута, а не как ограничение типа, даже не смотря на то, что домены представляют собой типы.)

■     Ограничение ключа — это ограничение, утверждающее, что некоторый атрибут или комбинация атрибутов представляет собой потенциальный ключ.

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

Фейгин в [13.16] показал, что любая переменная отношения,  находящаяся в ДКНФ, обязательно находится в 5НФ (а значит, в 4НФ и т.д.), а также в форме типа (3,3)НФ (подробнее о ней рассказывается ниже  в пункте 2). Но не всегда можно привести переменную отношения к ДКНФ или получить ответ на вопрос о том, когда может быть выполнено такое приведение.

2.    Нормальная  форма  типа  "сокращение—объединение".  Вновь  обратимся  к переменной отношения s с данными о поставщиках. Согласно  описанной выше теории  нормализации,  эта  переменная  отношения   находится  в  "приемлемой" нормальной   форме,   и   действительно,   она   находится   в   5НФ,   поэтому   не характеризуется аномалиями и не нуждается в дальнейшем разбиении на проекции для устранения аномалий. Но зачем хранить сведения обо всех поставщиках в одной переменной отношения? Может, было бы лучше разместить данные о поставщиках из Лондона в  одном отношении (например, в отношении LS), из Парижа — в другом (например, в PS) и т.д.? Иначе говоря, может быть стоило бы рассмотреть возможность  декомпозиции  на  основе  некоторого  сокращения,  а  не  на  основе проекции? Лучше или хуже будет структура данных, полученная в результате такой декомпозиции? (Фактически она всегда получается хуже, как показано в упр. 8.8 в главе 8, но классическая теория нормализации не может дать ответа на поставленные выше вопросы.)

Другим направлением в исследованиях нормализации является применение декомпозиции на основе операций, отличных от проекции. В  рассматриваемом выше примере, как уже упоминалось, операцией  декомпозиции является (непересекающееся)  сокращение,  а  соответствующей  операцией  композиции  —  (непересекающееся) объединение. Таким образом, вполне возможно создать "сократительно-объединительную"  теорию  нормализации,  аналогичную,  но  ортогональную (независимую) относительно обсуждавшейся выше проекционно-соединительной теории нормализации5. Автору настоящей книги ничего не известно о достаточно

5 Действительно, Фейгин в [13.15] назвал 5НФ проекционно-соединительной нормальной формой, поскольку это была именно такая нормальная форма, определяемая с помощью операций проекции и соединения.

развитых теориях подобного типа, но некоторые исходные идеи можно  найти I статье Смита [13.32], где дано определение новой нормальной формы под названием (3,3)НФ. Подразумевается, что переменная отношения в (3,3)НФ уже находится в НФБК, однако не обязательно находится в 4НФ, так же как переменная отношения в 4НФ не  обязательно  находится в (3,3)НФ. Таким образом, как v предполагалось выше, приведение к форме типа (3,3)НФ является независимым по  отношению к приведению к 4НФ (и 5НФ). Более подробно об этом  можнс прочесть в [13.15] и [13.23]. К этой теме относится также принцип ортогонального проектирования [13.12] (поэтому ортогональные проекты можно в конечном итоге рассматривать как один из вариантов осуществления нормализации).

3.  Шестая нормальная форма. Если речь идет о классических операциях проекции и соединения, то пятая нормальная форма является последней нормальной формой. Но, как будет показано в главе 23, возможно и желательно определить обобщенные версии этих операций, а следовательно, обобщенную форму зависимости соединения, поэтому и новую (шестую) нормальную форму, 6НФ. Следует отметить, что для нее  целесообразно использовать название "шестая нормальная форма", поскольку 6НФ (в отличие от нормальных форм, описанных в пп. 1 и 2) фактически представляет собой еще один этап на пути от 1НФ к 2НФ, затем к следующей нормальной форме и т.д., вплоть до 5NF. Более того, все переменные отношения, находящиеся в 6НФ, обязательно находятся и в 5НФ. Дополнительное описание приведено в главе 23.

13.2. РЕЗЮМЕ

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

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

■    Некоторая переменная отношения удовлетворяет зависимости соединения *{А, B,   …,   Z} тогда и только тогда, когда она равна соединению своих проекций по подмножествам А,   B,   …,   Z множества атрибутов. Очевидно, что такая пере менная отношения может быть подвергнута декомпозиции без потерь на указан ные проекции.

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

от ее суперключей. Переменная отношения находится в 5НФ (называемой также проекционно-соединительной нормальной формой — ПСНФ) тогда и только  тогда, когда все существующие в ней зависимости соединения одновременно являются функциональными зависимостями от ее суперключей (т.е. если  зависимость соединения представляет собой *{А, B, …, Z } , TO  каждое из  подмножеств А, B, …, Z множества атрибутов является суперключом). Пятая нормальная форма (которая всегда достижима) является окончательной нормальной формой по отношению к операциям проекции и соединения.

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

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

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии