Мәліметтер қоры кестелерін қалыптастыру тәртібіне келтіру

Қалыптастыру – ол алғашқы кілттердің негізінде қатынастың және бар функционалды тәуелділіктердің анализінің формальды әдісі. Ол өзіне барлық мәліметтер қорын қалыптастырудың қалаған деңгейге дейін қалыптастырылған болатындай жеке қатынастарды тексеру үшін қолданылатын ережелерді қосады. Егер кейбір талаптар қанағаттандырылмаса, онда берілген бұзу талаптары қатынас қатынасқа декомпозицияланады, олардың әрқайсысы қалыптастырудың барлық талаптарын қанағаттандырады.

Мәліметтердің артықтығымен қатынасқа мәліметтердің жаңару, жою және қою аномалияларына бөлінетін жаңарту аномалиясы кедергі болуы мүмкін.

Қалыптастыру үрдісі қатынастың әртүрлі қалыпты үлгілерге түрленуі болып табылады. Үрдістің әр кезеңдерінде қатынастың керек емес сипаттамалары жойылады. Жоғары қалыпты үлгіге өткенде қатынасты көрсету форматы қатал тәртіпте болады, бірақ оның өзі – жаңару аномалияларына қатынас бойынша әлсіз болады. Осылай әр қалыпты үлгі алдындағы қалыпты үлгінің талаптарына толық қанағаттандырады және кейбір қосымша талаптарды қосады. Қалыптастырудың негізгі концепцияларының бірі қатынас атрибуттарының арасындағы байланыстарды сипаттайтын функционалды тәуелді болып табылады.

Қалыпты үлгі әдісін қолдана отырып мәліметтер қорының жобалау үрдісі итерациялы болып табылады және анықталған ережелер бойынша бірінші қалыпты үлгіден жоғары ретті қалыпты үлгілерге тізбектеп ауыстыру болып табылады. Әр келесі қалыпты үлгі функционалды тәуелділіктің анықталған типін шектейді, мәліметтер қорының қатынастарына операцияларды орындау кезіндегі сәйкес аномалияларды алып тастайды және алдағы қалыпты үлгі қасиеттерін сақтайды.

Бірінші қалыпты үлгі. Қатынас бірінші қалыпты үлгіде болады, егер оның барлық атрибуттары қарапайым болса (жалғыз мәні бар). Бірінші қатынас бірінші қалыпты үлгіде болатындай құрылады; біздің барлық қатынастар Sotrudniki, Otdel, Tabel бастапқыда бірінші қалыпты үлгіде болады, сол себептен құрама атрибуттардан тұрмайды, барлық атрибуттар қарапайым болып табылады.

Қатынасты келесі қалыпты үлгіге ауыстыру «жоғалтусыз декомпотизация» әдісімен жүзеге асады. Мұндай декомпотизация бастапқы қатынасқа арналған сұраныс және декомпотизация нәтижесінде алынған қатынасқа арналған сұраныстар бірдей нәтиже беруін қамтамасыз етуі тиіс.

Екінші қалыпты үлгі. Қатынас екінші қалыпты үлгіде болады, егер ол бірінші қалыпты үлгіде болса және әр кілтті емес атрибут бірінші (құрама) кілттен функционалды толық тәуелді болса.

Жекеленген тәуелділікті жою үшін және қатынасты екінші қалыпты үлгіге келтіру үшін проекция операциясын қолдана отырып, оны бірнеше қатынасқа келесі түрде қою керек:

— бірінші (құрама) кілттен функционалды жекеленген тәуелділікте тұрған атрибутсыз проекция құру.

— бірінші (құрама) кілттің бөлігіне және сол бөліктерден тәуелді атрибуттарға проекция құру.

Үшінші қалыпты үлгі. Қатынас үшінші қалыпты үлгіде болады, егер ол екінші қалыпты үлгіде болса және әр кілтті емес атрибут бірінші кілттен транзитивті емес тәуелді болса немесе қатынас үшінші қалыпты үлгі болады, егер қатынастың барлық кілтті емес атрибуттары өзара тәуелді емес және бірінші кілттен толық тәуелді болса.

Транзитивті тәуелділіктер қатынаста мәліметтерді артық дубликалиялауды тудырады. Оларды алып тастайық. Ол үшін, транзитивті тәуелділік себебі болып табылатын атрибуттарға проекция операциясын қолданамыз.

Тәжірибеде үшінші қалыпты үлгі құруды көп жағдайда үшінші қалыпты үлгі құру жеткілікті және оған реляциялық мәліметтер қорының жобасын жасау үрдісін келтіру аяқталады. Шынынды ды, бұл мысалда қатынасты үшінші қалыпты үлгіге келтіру дубликациялау артықшылығын алып тастауға әкелді.

Егер қатынаста құрама кілт атрибуттарының кілтті емес атрибуттардан тәуелділігі бар болса, онда күшейтілген үшінші қалыпты үлгіге өту керек.