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. Кестедегі кілт емес кезкелген жиектің мәнін ӛзгерту мүмкіндігі қамтамасыз етілуі
                  керек, бұл ӛзге жиектердің мәніне әсерін тигізбеуі шарт.
   20   21   22   23   24   25   26   27   28   29   30