Программирование >>  Хронологические базы данных 

1 ... 143 144 145 [ 146 ] 147 148 149 ... 348


в заключение следует отметить, что выделение исключительных случаев является, вероятно, хорошим методом использования лучших свойств обоих подходов, т.е. сочетания преимушеств НФБК с упрошением операций выборки данных, которые могут возникнуть при нарушении ограничений НФБК. 11.6. На рис. 11.22 показаны наиболее важные функциональные зависимости; возможный набор переменных-отношений приведен ниже.

Рис. и.22. Диаграмма функциональных зависимостей для упр. 11.6

SCHED { L, Т, С, D, Р } KEY { L }

KEY { Т, D, Р }

KEY { С, D, Р }

STUDY { S, L }

KEY { S, L }

11.7. Переменная-отношение NADDR находится в 2НФ, но не в ЗНФ (и, следовательно, не в НФБК). Усовершенствованный вариант может иметь следующий вид.

NSZ { NAME, STREET, ZIP } KEY { NAME }

ZCS { ZIP, CITY, STATE } KEY { ZIP }

Обе переменные-отношения находятся в НФБК, однако следует принять во внимание перечисленные ниже замечания.

Поскольку атрибуты STREET (улица), CITY (город) и STATE (штат) почти всегда используются совместно (например, при создании списка рассылки), а почтовые индексы меняются не очень часто, приведенная выше декомпозиция вряд ли потребуется. (Иначе говоря, нормализацию следует выполнять по отношению к подходящим для этого зависимостям, а не ко всем без исключения.)

В частности, при извлечении полного адреса для заданного в атрибуте NAME имени потребуется выполнить соединение (хотя явное выполнение этого соединения можно заменить определением переменной-отношения NADDR как представления на базе переменных-отношений NSZ и ZCS). Иначе говоря, нор-



мализация до уровня НФБК хороша для обновления, но плоха для извлечения данных, поскольку избыточность, которая имеет место при отсутствии полной нормализации, способна вызвать проблемы, связанные с обновлением, но может оказаться весьма полезной при извлечении данных. Трудности вызываются лишь неконтролируемой избыточностью, тогда как контролируемая избыточность (т.е. избыточность, которая известна и контролируется СУБД) в некоторых ситуациях может быть вполне приемлемой.

Функциональная зависимость { STREET, CITY, STATE } ZIP явно не представлена в этом макете, а поддерживается отдельно: либо декларативно (если в СУБД поддерживается декларативный язык указания ограничений целостности, аналогичный языку, кратко описанному в главе 8), либо процедурно. На самом деле переменные-отношения NSZ и ZCS не являются независимыми в смысле определения Риссанена [11.6].

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



Глава

Дальнейшая нормализация: более высокие нормальные формы

12.1. Введение

в предыдущей главе были описаны основные идеи дальнейшей нормализации вплоть до нормальной формы Бойса-Кодда (НФБК) включительно (т.е. до формы, которой можно достичь, используя понятие функциональной зависимости). В этой главе обсуждение вопроса дальнейшей нормализации завершается рассмотрением четвертой и пятой нормальных форм (4НФ и 5НФ). Как будет показано ниже, для определения 4НФ необходимо ввести понятие многозначной зависимости (МЗЗ), которое является обобщением понятия функциональной зависимости. Аналогично для определения понятия 5НФ необходимо ввести новый тип зависимости, которая называется зависимостью соединения (ЗС). Она является обобщением понятия многозначной зависимости подобно тому, как многозначная зависимость является обобщением понятия функциональной зависимости. В разделе 12.2 будут рассмотрены понятия многозначной зависимости и 4НФ, в разделе 12.3 - понятия зависимости соединения и 5НФ; также будет разъяснено, почему 5НФ в некотором смысле можно считать окончательной нормальной формой. Сразу же следует отметить, что описания многозначной зависимости и зависимости соединения будут менее формальными и полными, чем описание функциональных зависимостей, данное в главе 10. Более подробную информацию заинтересованный читатель может найти в работах, представленных в списке рекомендуемой литературы в конце этой главы.

После описания основных понятий в разделе 12.4 дается обзор процедуры нормализации в целом с дополнительными комментариями. Затем в разделе 12.5 кратко обсуждается понятие денормализации. В разделе 12.6 описывается еще один важный принцип проектирования - ортогональное проектирование (orthogonal design). Наконец, в разделе 12.7 коротко обсуждаются некоторые возможные направления будущих исследований в области нормализации, а заключительный раздел 12.8 представляет собой краткое резюме всей главы.

12.2. Многозначные зависимости и четвертая нормальная форма

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



1 ... 143 144 145 [ 146 ] 147 148 149 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика