Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DKBZh_shpor.docx
Скачиваний:
270
Добавлен:
01.05.2015
Размер:
2.48 Mб
Скачать

Дәріс 14. Нормализацияны қолдану арқылы реляционды деректер қорын жобалау

Нормализация принциптерінің негізінде реляционды деректер қорын жобалау. Деректерді концептуалды және реляционды жобалау.

Реляционды деректер қорын жобалау мәселесі келесідей шешімдер қабылдаудан тұрады:

  • ДҚ қандай қатынастардан тұрады;

  • Сол қатынастардың қандай атрибуттары болу керек.

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

Өкінішке орай, бұл кепілдік жалпы жағдайда қамтамасыз етілмейді. Кей жағдайда қатынас айнымалыларында функция түсінігі жеткіліксіз болатын өрнек үшін күрделі шектеулер біртұтастығы талап етіледі. Функционал түсінігіне сүйенетін тәуелділіктер классын - функция түсінігінің жалпылануын 1970 жылдары Рональд Фейджин анықтады. Ол ондағы детерминанттың бір мәніне тәуелді атрибуттар мәнінің жиыны сәйкес келетіндіктен мұндай тәуелділіктерді көпмәнді деп аталады. Мүмкін кілттен функционалды тәуелділіктер болмайтын айнымалы қатынастарда көпмәнді тәуелділіктердің болуы мұндай қатынастардың жаңару аномалиясына алып келеді. Мұндай жаңару аномалиялары көрінбейтін қатынас деректерінің мүмкін декомпозициясын Фейджин көрсетті. Мұндай жобалар төртінші қалыпты формада орналасады.

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

Жобалау/бірігу нетривиалды тәуелділіктері бар қатынастар үш немесе одан да көп жобалар санына декомпозицияланады, жобалау/бірігу тәуелділіктері мүмкін болатын кілттен туындайды. Мұндай жобалар бесінші қалыпты формада немесе жобалау/бірігу қалыпты формасында орналасады. Бесінші қалыпты формада орналасқан қатынастарда декомпозиция жолымен жоюға болатын жаңару аномалиялары болмайды, сондықтан бесінші нормаль формаға жеткен кезде реляционды деректер қорын жобалау үдерісі нормализация негізінде жасанды жолмен аяқталады.

14.1 Көпмәнді тәуелділіктер және төртінші қалыпты форма

Ары қарай нормализация сұрақтарына өту үшін тағы бір ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының мүмкін интерпретацияны қарастырайық. Әрбір қызметші бернеше жобаларға қатыса алады, бірақ, ол қатысатын әр жобада бір тапсырма орындалу керек. ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының төртінші нұсқасының мүмкін мәні 14.1 суретте көрсетілген.

Сурет 14.1.  ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының мүмкін мәні (төртінші нұсқа)

Болғандағы жаңару аномалиялары және мүмкін декомпозиция

Айнымалы қатынастың жаңа нұсқасында бір ғана мүмкін кілт {ҚЫЗМ_НОМ, ПРО_НОМ, ҚЫЗМ_ТАПСЫР} қатынас атауы болып табылады. {сн, пн, сз} кортежі сн номерлі қызметші пн жобасында сз тапсырмасын орындаған кезде ғана қатынас денесіне кіреді. Әрбір қызметші үшін барлық жобалар көрсетілетін болғандықтан, осы жобада оның орындайтын барлық тапсырмалары ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының жіберілетін мәні үшін келесідей шектеулер орындалу керек (BСПЗ қатынас денесін көрсетеді):

IF ({сн, пн1, сз1} BСПЗ AND {сн, пн2, сз2} BСПЗ)

THEN ({сн, пн1, сз2} BСПЗ AND {сн, пн2, сз1} BСПЗ)

Мұндай шектеудің болуы ҚЫЗМ_ПРО_ТАПСЫР қатынасымен жұмыс істегенде жаңару аномалияларына алып келеді.

  • Кортеж қосу. Егер жобаға қатысушы қызметші жаңа жобаға қосылса, ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының мәніне сол қызметші қанша тапсырма орындаса, сонша кортеж қосу керек.

  • Кортеждерді жою. Егер қызметші жобаға қатысуын тоқтатса, онда оның орындай алатын тапсырмалары туралы деректерді сақтау мүмкіндігі болмайды.

  • Кортеждерді модификациялау. Қызметшінің бір тапсырмасы өзгерген кезде ҚЫЗМ_ТАПСЫР атрибутының мәнін барлық қызметші қатысатын жобалар кортеждерінде өзгерту керек.

ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының жаңаруына байланысты қиындықтар оның екі айнымалы қатынасқа декомпозициялану жолымен шешіледі: ҚЫЗМ_ПРО_НОМ {ҚЫЗМ_НОМ, ПРО_НОМ} және ҚЫЗМ_ТАПСЫР {ҚЫЗМ_НОМ, ҚЫЗМ_ТАПСЫР}. Бұл айнымалы қатынастардың мәндері ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынас мәндеріне сәйкес келетіні 14.2 суретте көрсетілген.

14.2 суретте көрсетілген декомпозициядан шығынсыз декомпозицияны көруге болады және бұл декомпозиция жоғарыда айтылған ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының жаңару мәселелерін шешеді.

Сурет 14.2.  ҚЫЗМ_ПРО_НОМ және ҚЫЗМ_ТАПСЫР айнымалы қатынастарының мәндері

  • Кортеждерді қосу. Егер кейбір жобаға қатысушы қызметші жаңа жобаға қосылса, онда ҚЫЗМ_ПРО_НОМ айнымалы қатынасының мәніне сол жобаға сәйкес келетін бір кортеж қосу керек.

  • Кортеждерді жою. Егер қызметші жобаға қатысуын тоқтатса, онда олорындай алатын тапсырмалар туралы деректер ҚЫЗМ_ТАПСЫР қатынасында қалады.

  • Кортеждер модификациясы. Қызметшінің бір тапсырмасының өзгеруі кезінде ҚЫЗМ_ТАПСЫР атрибутының мәнін ҚЫЗМ_ТАПСЫР қатынасының бір кортежінде өзгерту керек.

Көпмәнді тәуелділіктер. Фейджин теоремасы. Төртінші қалыпты форма.

ҚЫЗМ_ПРО_ТАПСЫР айнымалы қатынасының соңғы нұсқасы BCNF-те орналасқан, себебі, қатынас атауының барлық атрибуттары бір мүмкін кілттің құрамына кіреді. Бұл қатынаста нетривиалды FD болмайды. Сондықтан, бұрын қарастырылған нормализация қағидалары мұнда қолданылмайды, біз пайдалы декомпозицияны алдық. ҚЫЗМ_ПРО_ТАПСЫР қатынасының төртінші нұсқасының жаңа тәуелділігін алғаш рет 1971 жылы Рон Фейджин анықтады. Фейджин бұл түрдің тәуелділіктерін көпмәнді деп атады (multi-valued dependency – MVD). MVD FD тұсінігінің жалпылануы болып табылады.

ҚЫЗМ_ПРО_ТАПСЫР қатынасында екі MVD орындалады: ҚЫЗМ_НОМПРО_НОМ және ҚЫЗМ_НОМҚЫЗМ_ТАПСЫР. Бірінші MVD әрбір ҚЫЗМ_НОМатрибутының әрбір мәніне ПРО_НОМ атрибут мәнінің жиын мәндеріің анықталғандары ғана сәйкес келетінін көрсетеді. Басқаша айтқанда, алгебралық өрнекті есептеу нәтижесінде

(СЛУЖ_ПРО_НОМ WHERE (СЛУ_НОМ = сн AND СЛУ_ЗАДАН = сз)) PROJECT {ПРО_НОМ}

тіркелген жіберілетін сн мәні және сз мәні үнемі бір және ПРО_НОМ атрибут мәннің жиынын аламыз. Аналогты түрде екінші MVD тракталады.

R айнымалы қатынасының A, B, C атрибуттарында B көпмәнді тәуелділік A (AB) В атрибут мәнінің жиыны болғанда, А және С атрибут мәнінің сәйкес жұптары А мәніне тәуелді және С мәнінен тәуелсіз болады.

Көпмәнді тәуелділіктер қызықты «екілік» қасиетке ие, ол келесі лемманы көрсетеді.

Фейджин леммасы

R {A, B, C} қатынасында MVD AB орындалады, егер MVD AC орындалса.

Лемма шартының жеткілікті дәлелі. MVD AB орындалсын делік. Бұл тәуелділіктің кейбір қанағаттандыратынR қатынасының r мәні бар болсын делік, А атрибут мәнін белгілеу Br, а {b} – В атрибут мәнінің жиыны кейбір кортеж денесінде белгіленеді, Br барлық кортеждерден алынған А атрибутының мәні а болып табылады. Осы а мәні үшін MVD AC орындалмайды. Бұл мән С атрибутының мүмкін мәні бар екендігін және b{b} мәні және {a, b, c}Br кортежі бар. Бірақ, бұл MVD AB қарсы келеді. Осыдан, егер MVD AB орындалса, онда MVD AB жүзеге асады. Сәйкесінше лемма шартының қажеттілігін дәлелдеуге болады.

Демек, MVD AB және AC үнемі жұп болады. Сондықтан оларды әдетте AB | C формасында бірге көрсетеді.

FD MVD-ның жиі болатын оқиғасы болады, тәуелді атрибуттың мәні міндетті түрде бір элементтер тұрады. Демек, егер FD AB орындалса, онда MVD ABжүзеге асады.

ҚЫЗМ_ПРО_НОМ және ҚЫЗМ_ТАПСЫР қатынасында FD ерекшеленетін MVD болмайтыны көрініп тұр, 9.2 суретте көрсетілген декомпозиция осыны ұтады. Бұл декомпозицияның дұрыстығы төменде көрсетілген Хит теоремасының жалпылануымен және нақтылануымен Фейджин теоремасын дәлелдейді.

Фейджин теоремасы

A, B, C атрибуттары бар R қатынасы болсын делік. R қатынасы {A, B} және {A, C} жобаларына шығынсыз декомпозицияланады және сонда ғана ол үшін MVD A B | C орындалады.

Теорема шартының жеткіліктілігін дәлелдейік. r R қатынасының кейбір жіберілетін айнымалы мәні болсын делік. а мәні кейбір А кортеж денесінде Br, {b} – В атрибут жиынының мәні, Br барлық кортеж денесінен алынған, ондағы А атрибутының мәні а және {c} – А атрибутының мәні а болатын Br барлық кортеж денесінен алынған С атрибутының мәні. Сондаденедегі r PROJECT {A, B} мәні {a, bi}, мұндағы bi{b}барлық кортеж түрлері және {a, bj} кейбір кортеждері r PROJECT {A, B}, то bj{b}қатынас мәнінің денесіне кіреді. Сәйкесінше r PROJECT {A, C} қолданылады. Осыдан A B | C көпмәнді тәуелділігі кезіндеR{A, B, C} айнымалы қатынасында r декомпозициясы r PROJECT {A, B} и r PROJECT {A, C} жобаларына шығынсыз декомпозиция болып табылады.

Теорема шартының қажеттілігін дәлелдеу үшін R {A, B, C} айнымалы қатынасының декомпозициясы R PROJECT {A, B} және R PROJECT {A, C} жобасына кез келген жіберілетін r мәннің R айнымалы қатынасының шығынсыз декомпозициясы болып табылады. Br денесінде r қатынас мәні шектеуді қолдайтынын дәлелдеу керек.

IF ({a, b1, c1}; Br AND {a, b2, c2} Br)

THEN ({a, b1, c2} Br AND {a, b2, c1} Br)

Расында, Br құрамына {a, b1, c1} и {a, b2, c2} кортеждері кіреді. {a, b1, c2} Br OR a, b2, c1 Br.болсын делік. r PROJECT {A, B} қатынас мәнінің денесіне {a, b1} и {a, b2} кортеждері, ал r PROJECT {A, C} айнымалы қатынас мәндеріне {a, c1} и {a, c2} кіреді, осы Br кортеждерідің кем дегенде біреуінің болмауы r қатынасының r PROJECT {A, B} және r PROJECT {A, C} жобасына шығынсыз декомпозиция болатын қағыдамызға қарсы келеді. Демек, Фейджин теоремасы толығымен дәлелденді.

Фейджин теоремасы төртінші қалыпты формаға қатынасы келетін, жойылатын көпмәнді «аномалды» тәуелділіктер қатынас декомпозициясы үшін негізді қамтамасыз етеді.

Төртінші қалыпты формадағы (4NF) r қатынасының айнымалысы BCNF-те және барлық MVD r қатынасында детерминантты FD – r қатынасының мүмкін кілті.

4NF негізінде BCNF болады, онда көпмәнді тәелділіктер функционалды көрсетіледі. MVD ҚЫЗМ_НОМПРО_НОМ және ҚЫЗМ_НОМҚЫЗМ_ТАПСЫР детерминантты болып, мүмкін кілт болмайтындықтан, ҚЫЗМ_ПРО_ТАПСЫР қатынасы NF-те орналасады, осы MVD функционалды болмайды. Басқаша айтқанда, ҚЫЗМ_ ПРО_НОМ және ҚЫЗМ_ТАПСЫР қатынастары BCNF орналасады және MVD FD детерминантты мүмкін кілтінен тұрмайды. Сондықтан олар 4NF орналасады.

Дәріске байланысты тапсырма. A , B , C атрибуттары бар r қатынасы болсын делік, онда FD AB болсын. Бұл жағдайда А және С атрибуттарының тәуелділігі туралы айтуға бола ма?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]