|
Программирование >> Реализация целостности данных
Вторая нормальная форма Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и кроме того, все его атрибуты зависят от полного набора атрибутов ктюча-кандидата. Например, ключом отношения на рис 15, является с/Лате , Supplier-Name}, но поле SupplierPhoneNumber определяется только значением поля а не полным набором атрибутов составного ключа. Ош1 Ejolic UllliHii Bsvsrigpb (171) 555-2222 Oiinj EwitUuMi- Bsrtraa (171)555-3222 *aL ei№.: .............е 1.К,кчи!>................ (. isjB-zm ......,. ChitfiiliinisambiiMli Wa.<br!aafis.t.i]Ln LMl5 CorHliintlita........flrJO) 555-<аг2 Гисунок 2- 75. йсе атрибуты отношения должны зависеть от полного ключа Мы уже видели, что такая зависимость между атрибутами приводит к избыточности данных, а избыточность, в свою очередь, к возможным неприятностям в процессе поддержки базы. Более совершенной с этой точки зрения является модель, изображенная на рис. 2-16.
Отношение pliers 1 Exotic Liquids .....................!(1Л1555:2222 2 NewOrleans Cajun Delights..... J(1 (XJ) 555-4B22 3 Grandma Kellys Homestead 3i (313) 565-5735 4iTol;yo Traders P) 3655-5Di 1 б Cpofierativa de Quesos Las Cabras i@H) 6ЭВ 76 54 a Majumis (p6)431 -7877 7,Pa iova,Ltd. Il №) 444-2Э4Э 8 SpedaltJ BiscuitsLffl. (161)556-4440 9 PB Knackebrod AB .. 0Э1-За>6Ь43 Рис. 2-16. Эти два отношения находятся во второй нормальной форме Данная модель является следствием декомпозиции исходного отношения на два независимых отношениям *:исВ и Suppliers. При такой вы не только устраняете избыточность данных, но также позволяете записать информацию о поставщике, до того как станет известно что-либо о поставляемых им продуктах. Этого нельзя было сделать в исходном отношении, так как ни одна из составляющих первичного ключа не может быть пустой. Существует и другая проблема, связанная со второй нормальной формой. Она возникает при попытке опереться в ходе проектирования модели данных на факты и обстоятельства, которые справедливы сейчас, но в дальнейшем могут кардинально измениться. Например, отношение на рис. 2-17 создано с расчетом, что у поставщика на текущий момент только один адрес. Однако это вовсе не значит, что в будущем у кого-нибудь из не окажется несколько адре- сов, что потребует переделки уже готовой системы. ......2 = .B;i~b:51..... , 4ЭЗеити ?!Г TlTiHbibSI. .iKBlaadaiBn li jliTiflrpnrtinBlrtii&S i 4il[V lsDjr4e, ?S , :.-ИШкЯЁ . 1H!3 D. BLhArtni Ця dsE Franc?.B0;§yawG -OtderPrtcBBeing Dipt tlllTb.Pnnc* EcKfird arHla . K:!96ClBU5St Ljiimffl Londi Utyt riaan Ann .....КЦпСГв.ЕЛйГ; .....mi:m.. M.I ... а* -ili да? .amiii SillDuKr-: -J!4br...... £№djitt Sjdntjf jgClJ .......ffiffii..--- I-.....®Ш, к jam ж:;.,;йэ4.;; : Ща NEW aiii Jac. 2-/7. Каждый из поставщиков может иметь несколько адресов Третья нормальная форма Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и кроме того, все неключевые атрибуты совершенно независимы. Давайте возьмем в качестве примера некую компанию, расположенную в США, у которой в каждом из штатов имеется единственный офис продаж, а в каждом из офисов работает один сотрудник. В отношении, показанное! рис 18. существует зависимости жлл атрибутами Region и Salesperson, но ни один из этих атрибутов не является ключом-кандидатом данного отношения. ГЛАВА 2 1D3B9:BcittDfn-DQllar Markets ВС 10290: Comercio Mineiro SP 1034 aldq SP 10386 FamifeArquibaldo SP 1Q423iGourme! Lanchoneles SP 11 DEI; Great Lakes Foo ot OR 1052a:Great Lakes Food Market OR 10785 GHOSELLA-Restaurarita DF 10266 GR0EELU\-R9stsursnte DF 10253 HanariCarries RJ 10925 Hariari Carries ; RJ 10931: Hanari Cames ]RJ 11052: Hanari Carries .,RJ 10415 Hungry Coyote Import Store [OR 1[I37SHungr,CoyotelmportStore OR 10394 Hungry Coyote Import Store OR IvlargarietPeacock Laura Callahan I Laura Callahan i Laura CallaJian Laura Callahan Michat Suyama Michael Suyama ..: Nancy Davolio i Nancy Davolio -Janet Leverling Janet Leverling Nari Davolio : Janei Leverling iMichael Michael Suyama Suyama Puc. 2-18. Ни атрибут Region, ключами-кандидатами, хотя и ни атрибут person не являются полностью сят друг от друга Расскажу о третьей нормальной форме подробней. Например, для большинства населенных пунктов вы можете задать в качестве идентификатора величину PosatalCode (Почтовый индекс), основанную на сочетании величин City (Город) и Region (Район), так что отношение, показанное на рис. 2-19, не находится в третьей нормальной форме. Airiud FutturkislB Ana Trujillo Errip<fe* iliss У hdBrl(isA is lia li СвпвЫипалЙ Wnijcoijf VnlDnio Mrjreno ТздуеГЕз M(it*s fQi WiJCflJ [; Abound Ihe Horn [iu r+anoytr Ej,. LflnJoii...... BcrgiuHK БпаЬЬкдр.............. BefjyjrtqFn 9 Li,-!*! р1ч 1>11ч и1й- рпгзигпг.б? ..... .. liiirijihsim , jpsreeiSte 2i,pi3c.M№ - ЙтЬеша S7Q0O Bolide .цНйе ргервйвЗэ Сftran.uI.Ef........... Ms*iil...........ЗИЕЗ 112, ШИИ CBJliilri Mii rll< 1ЙН Puc. 2-19. Отношение ится в третьей льной форме Два отношения на рис. 2-20 технически более корректны с точки зрения теории то, что на рис. На самом деле единственным преимуществом, которое вы получите в результате произведенной декомпозиции исходного отношения, будет возможность автоматического поиска нужного почтового индекса, избавляю-.щая пользователей от нескольких лишних нажатий клавиш. Это не такое уж незначительное к тому же достичь его мож- но и иными способами, не требующими выполнять соединение отношений каждый раз, когда нужно получить адрес.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |