Page 24 - электрондык_окулык
P. 24
арс раз аз-н .04 ш 0
2 2 А А Қ 01.05 2 Арпа 50
йжан лматы аз-н .04
3 1 Б Та Қ 02.05 3 Сүт 10
арс раз аз-н .04 0
4 1 Б Та Қ 03.05 4 Май 50
арс раз аз-н .04
16 - сурет. Order кестесі 17 - сурет. Product
кестесі
O Pr Q
rder oduct uantity
ID ID
1 1 1
00
1 3 5
0
1 4 1
00
2 2 2
00
2 4 3
00
3 2 4
00
4 3 3
00
4 4 2
00
5 1 4
00
18 - сурет. OrderProduct кестесі
Order кестесінде клиент тапсырыс берген сайын ол туралы барлық мәліметтер
(Company, City, Country) ДБ - на қайта енгізіледі және
1) клиент туралы мәліметтер ДБ - на клиент тапсырыс жасағанда ғана тіркеледі
2) бір тапсырыс туралы жазбаны ӛшіргенде клиент туралы мәліметтер де (егер ол
басқа тапсырыс жасамаған болса) ӛшіп қалады
3) клиенттің тұратын қаласы ӛзгерсе осы кестедегі оған сәйкес барлық жолдарда да
қаланың атын ӛзгерту керек.
Бұл кемшіліктер Order кестесіндегі транзитивті тәуелділіктің салдарынан болып тұр:
OrderID CustomerID Company, OrderID CustomerID City, OrderID
CustomerID Country; мұнда кілт емес Company, City, Country жиектерінің кілт емес
CustomerID жиегіне тәуелділігі бар.
Бұл қайшылықтарды жою үшін 1NF-тегі Order кестесін 3NF-ке түрлендіру керек.
Үшінші қалыптық үлгі (3ҚҮ–3NormalForm 3NF). Егер реляциялық кесте 2NF-те
болып оның барлық кілт емес жиектері тек қана кестенің кілтіне тәуелді болса, яғни кілт
емес жиектердің арасында ӛзара функционалды тәуелділік болмаса, онда мұндай кесте
3NF-те болып табылады.
15-суреттегі OrderProduct кестесі 2NF-те, себебі кілт емес Quantity жиегі кестенің
құрама кілтіне толық тәуелді, ал Order кестесі 3NF-те емес, себебі мұнда кілтке