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

I Переменные-отношения в знф I

Переменные-отношения в НФБК

Переменные-отношения в 4НФ

Переменные-отношения в5НФ

Рис. 11.2. Уровни нормализации

В [10.4] также приводится описание процедуры нормализации, с помощью которой переменная-отношение в некоторой нормальной форме, например в 2НФ, может быть преобразована в несколько переменных-отношений в другой, более желательной нор­мальной форме, например в ЗНФ. (В исходном варианте эта процедура определена толь­ко до третьей формы, но, как будет показано в следующей главе, она может быть после­довательно расширена вплоть до пятой нормальной формы.) Такую процедуру можно охарактеризовать как последовательное приведение данного набора переменных-отношений к некоторой более желательной форме. Следует отметить, что эта процеду­

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

Возвращаясь к рассмотрению собственно нормальных форм, заметим, что, как будет показано в разделе 11.5, оригинальное определение Кодда для ЗНФ [10.4] приводит к не­которой неадекватности. Переработанное и более точное понятие, данное Бойсом (Воусе) и Коддом в [11.2], является более строгим в том смысле, что любая переменная-отношение в ЗНФ по новому определению является таковой и по старому определению, но не всякая переменная-отношение в ЗНФ по старому определению может являться та­ковой по новому определению. Для того чтобы эти определения можно было различать, переменную-отношение в ЗНФ по новому определению обычно называют нормальной формой Бойса-Кодда — НФБК.

Впоследствии Фейгином (Fagin) в [11.8] была определена новая, четвертая нор­мальная форма (4НФ), которая стала четвертой по счету, поскольку в момент ее соз­дания нормальная форма Бойса-Кодда считалась третьей. Совсем недавно Фейгин в [11.9] дал определение еще одной нормальной формы, которую назвал проектив-но-соединительной нормальной формой (ПСНФ); ее еще называют пятой нор­мальной формой, или 5НФ. Как показано на рис. 11.2, некоторые переменные-отношения в НФБК также находятся в 4НФ и некоторые переменные-отношения в 4НФ также находятся в 5НФ.

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

Структура этой главы

Назначение данной главы — предоставить описание концепции дальнейшей норма­лизации до уровня нормальной формы Бойса-Кодда включительно. Оставшиеся две формы будут рассмотрены в главе 12. В целом, материал будет излагаться по следующе­му плану. После несколько затянувшегося введения в разделе 11.2 описывается фунда­ментальная концепция декомпозиции без потерь и демонстрируется важное значение понятия функциональной зависимости (ФЗ) в этой концепции. (Действительно, поня­тие функциональной зависимости является основой выделения трех нормальных форм Кодда и нормальной формы Бойса-Кодда.) Далее, в разделе 11.3, подробно описываются три начальные нормальные формы и на примере некоторой переменной-отношения де­монстрируется, как выполняется нормализация вплоть до достижения ЗНФ. В разде­ле 11.4 делается небольшое отступление с целью обсуждения вопроса альтернативных декомпозиций, т.е. проблемы выбора "наилучшей декомпозиции" для конкретной пере­менной-отношения, если, конечно, такой выбор возможен. В разделе 11.5 обсуждается НФБК, а в разделе 11.6 рассматриваются особенности работы с атрибутами, принимаю­щими в качестве значений отношения. И наконец в разделе 11.7 приводится краткое ре­зюме и дается несколько заключительных замечаний.

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

Кроме того, следует сделать еще два предварительных замечания.

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

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

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