Page 25 - электрондык_окулык
P. 25
транзитивті тәуелділік, кілт емес жиектердің ӛзара тәуелділіктері бар: CustomerID
Company, CustomerID City, CustomerID Country.
2NF-тен 3NF-ке қӛшу үшін келесі амалдарды орындаса болады:
1. Оған тәуелді жиектер кездесетін барлық жиектерді анықтау;
2. Әрбір осындай жиектер мен олар тәуелді жиектен жеке кесте анықтау, мұнда
соңғысы осы кестенің кілті болады;
3. Бастапқы кестеден жаңа кестелерге ауысқан жиектерді ӛшіру, бірақ жаңадан
анықталған кестелермен байланысу үшін мұнда олардың негізгі кілттері сыртқы кілт
ретінде қалдырылады.
Order кестесін (16-сурет) 3NF-ке келтіру үшін кілті CustomerID болатын клиент
туралы мәліметтер сақталатын Customer кестесін бӛліп шығарамыз, сонда ақырғы тӛрт
кестенің ӛзара байланысы 19-суреттегідей ӛрнектеледі.
Customer Order Product
CustomerID(PK) OrderID(PK) ProductID(PK)
CustomerID(FK)
Company OrderDate ProductName
City OrderSum UnitPrice
Country
OrderProduct
OrderID (PK,FK)
ProductID(PK,FK)
Quantity
19 - сурет. 3NF-ке келтірілген OrderInfo кестесі
Сонымен, 3NF-ке келтіру барысында алғашқы OrderInfo кестесі (10,11 - суреттер)
ӛзара байланыстығы тӛрт кестеге жіктелді, мұның артықшылығы:
клиент туралы мәліметтерді ол әлі тапсырыс жасап үлгермесе де ДБ-нда сақтауға
мүмкіндік бар;
тапсырыс немесе тапсырылған бұйымдар туралы мәліметтерді (18 - сурет) ДБ-нан
ӛшіру клиентке ешқандай әсер етпейді;
егер клиенттің тұратын қаласы ӛзгерсе оны Customer кестесінде сол клиент туралы
бір ғана жазбада ӛзгертсе жеткілікті.
Сонымен, реляциялық кестелерді қалыптық үлгілерге келтіру теориясын тәжірибеде
қолдануды қарапайым тӛрт ереже арқылы тұжырымдауға болады:
1. Кестенің әрбір жиегі жіктелмейтін жалаң болуы тиіс.
2. Кестедегі әрбір жазба қайталанбайтын жалғыз болуы керек; мұны қадағалау үшін
ешбір жазбада мәндері қайталанбайтын жиектен (жиектер тобынан) кестенің кілті
анықталады.
3. Кілттің әрбір мәніне кестедегі басқа әрбір жиектен осы кесте анықтайтын
объектке қатысты бір ғана мән сәйкес келуі керек.
4. Кестедегі кілт емес кезкелген жиектің мәнін ӛзгерту мүмкіндігі қамтамасыз етілуі
керек, бұл ӛзге жиектердің мәніне әсерін тигізбеуі шарт.