Программирование >>  Реализация целостности данных 

1 ... 16 17 18 [ 19 ] 20 21 22 ... 124


Четвертая нормальная форма

Четвертая нормальная форма подводит теоретическую базу под интуитивно очевидный принцип: независимые юшиеся группы данных не следует размещать в одном и том же отношении. Предположим, что собственная продукция компании hwind Traders упаковывается в тару нескольких размеров, что эта тара поставляется несколькими поставщиками, и что каждый поставщик обеспечивает компанию тарой всех необходимых размеров. Ненормализованный вариант отношения Products мог бы выглядеть так, как показано на рис. 2-24.

Chai Exotic Uquids 8 ог, 16 oz, 32 ог

Clief Antons Cajun Seasoning New Orleans Cajun Deliglits 8 oz, 16 oz, 32 oz Pavlova Psvlova.Ltd 8 oz, 16 02 , 32 oz

Puc, 2-24. Отношение не является нормализованнгм

Первым шагом будет устранение составного атри-

бута в результате чего мы получим отношение, показанное

на рис. 2-25.

Chai Chai Chai

Chef Antons Cajun Seasoning

Exotic Liquids il.9/r

Erotic Liquids i12 oz ...... j

Esotic l-iquids .EI 02

New Orleans Cajun Delights : 16 oi

Chef Anton easoning New Orleans Cajun Delighls 12 oi Chef New Cajun Delights 8 Pavlova Pavilova, Ltd. 16 рг

Pavlova Pavlova, Ltd. 12 oz

Pavlova Pavlova Ltd B QZ

Puc. 2-25. Вариант тшеиия, показанного на рис. 2-24, в нормальной форме Бойса-Кодда

Забавно то, что отношение на рис. 2-25 находится в нормальной форме Бойса-Кодда, так как полный набор ее атрибутов образует ключ. Однако данные в отношении явно избыточны, и поддержание их целостности может показаться ночным кошмаром тому, кто этим будет заниматься. Решение проблемы базируется на концепции многозначных зависимостей и четвертой нормальной формы.

Многозначная зависимость - это два совершенно независимых множества атрибутов. На рис. 2-24 многозначная зависимость записывается ка Шаше} - {PackSize} {SupplierName}, что означает: две множественные зависимости поставщиков упаковки и размеров упаковки от наименования продукта . Упрошен-



ЧАСТЬ 1 Теории НОННЫХ баз данных

НО, нормализация до четвертой нормальной формы состоит в выделении многозначные мостей в разные отношения (рис. 2-26). Формально отношение находится в четвертой нормальной форме, если оно находится в нормальной форме и кроме того,

все многозначные зависимости являются также функциональными зависимостями от ключей-кандидатов.

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

второй нормальной форме.

Chai phai...

Chai

Ciief Antons Cajun Seasofiing

Chel Antons Cajun Seaaurimg

Chef Antons Cajun Saasqning

Pavlova

Pa<<tma

Pavlova

; isoz

В 01 ; 16 oz.

8 01 ;

Chai ! EkoIic Lit( ids . .

Chai i Exolic Liquids

Chai iEotic Lipuids

Chef .Mans Cajun Sessontng : NewOrlaans Cajun Delights

Che oning NewOrteans Cajun tjaiightb

Chef Antons Cajun Seasoning Orleans Cajun OeHghts

i-.=jyiciva Pavlova, Ltd.

Pavlova. . 7 >avfbya,Lti.

Pavlova Pavlova,

Puc. 2-26, Отношения жащшмногозначные зависимости, должны быть подвергнуты декомпозиции

Пятая нормальная форма

Пятая нормальная форма имеет дело с чрезвхчайно редко встречию-щимся случаем зависимостей соединения. Зависимости соединения подчиняются шем;. принципу слн сущность i зависит от сущности 2, сущность 2 зависит ости 3, а сущность 3 в свою очередь зависит от сущности то все три сущности обязательно должны входить в один и тот же кортеж .



Если перевести это на нормальный язык, то получится следующее: Есл вшик поставляет данный товар своим заказчикам и определенный заказчик заказывает данный товар у а тый поставщик поставляет нечто упомянутому заказчику (то есть заказчик иногда заказывает что-то у поставщика), то это значит, что данный поставщик поставляет упомянутый товар упомянутому !аказчику .

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

В такой ситуации недостаточно ограничиться созданием одного-единственного отношения t[, Силютее] (Поставщик, Продукт, Покупатель), так как при обновлении данных могут возникнуть проблемы, связанные с избыточностью. Например, если рассматривать связь, изображенную на рис. 2-27 и придерживаться сформулированного выше принципа о связи поставщика, продукта и заказчика, то внесение записи {Ма Maison, Aniseed Syrup, Bergiunds snabk...op) потребует также внесения второй записи {Exotic Liquids, Aniseed Syrup, Bergiunds snablc.op}. В самом деле, заказчик *Berglunds snabk..op > решил, что ему не хватает продукта Aniseed Syrup (анисовый сироп). Он решил покупать его у поставщика Ма Maison (Мамаша Мейсон). Но его поставщиком уже является компания Exotic Liquids* ( Экзотические напигки ). Следовательно, согласно сформулированному принципу, придется Экзотическим напиткам поставлять Berglunds snabk..op еше и анисовый сироп.

Exotic uiu - Aniseed ... , Alfreds Futlerkiste

EKDtic Liquids Chef Antons Cajun Seasoning Bergiunds snahbkijpj

Puc. 2-27. Данное отношение не находится в пятой нормальной форме

Декомпозиций на три различных отношения: Supplier Product, Pro-ductCustomer Customei (Поставщик - Продукт, Продукт -Покупатель и Покупатель тавщик) устраняет проблему избыточности, но приводит к возникновению иных трудностей. Если вам нужно получить исходные данные, то придется соединить между собой все три новых Если попытаться соединить толь-



1 ... 16 17 18 [ 19 ] 20 21 22 ... 124

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