- •1. Деректер қорын басқару жүйесінің архитектурасы 2
- •Тұрақты сақтау ортасы бойынша классификациясы
- •Құрамы бойынша классификациясы
- •Тарату деңгейі бойынша классификациясы Орталықтандырылған немесе бір компьютерде толық қолдау көрсетілетін нақты дқ (англ.Centralized database):
- •Дқ басқа түрлері
- •1.2 Ақпараттық қатынастар және деректердің өзара байланысы
- •1.3 Ақпаратты сақтау және сыртқы жадының құрылғысы
- •1.3.1. Деректер
- •1.3.2 Ақпарат
- •1.3.3 Сыртқы жады құрылғылары
- •1.3.4 Технология дәуірі және деректерді сақтаудың архитектурасы
- •1.4 Файл және файлдық жүйелер.
- •1.4.1. Файл құрылымы
- •1.4.2 Файлдық жүйелердің логикалық құрылымы және файлдардың атауы
- •1.4.3 Файлдарға енуді авторизациялау
- •1.4.4 Көпқолданушылық қатынасты синхрондау
- •1.4.5 Файлдарды разумно қолдану аймағы
- •1.5. Ақпараттық жүйелердің қажеттілігі
- •1.6 Үлкен эем-гі деректер қоры (Орталықтанған архитектура)
- •1.7. Дербес компьютерлер дәуірі. Желілік және файлдық сервер технолгиясы ("файл-сервер" архитектурасы)
- •Дәріс 2. Деректер қорын басқару жүйесінің негізгі түсінігі
- •2.1. Файлдық жүйелердің кемшіліктері
- •2.2 Деректер қоры және деректер қорының басқару жүйесі
- •2.3 Sql сұраныс тілі
- •2.4 Реляционды sql-бағытталған дқбж ішкі ұйымдастыру принципі
- •System r жалпы ұйымдастырылуы мен мақсаты, негізгі түсініктер
- •Дәріс 3. Дқбж архитектурасі
- •3.1 Дқбж архитектурасі.
- •3.2 Sql-бағытталған дқбж сіртқі сақтанішқа деректерлерді ұімдастру жалпі принциптер.
- •3.3 Деректер қорда сұраныстарді өңдеу.
- •4.2 Деректер қорын жобалаудың негізгі сатылары Сур. 4.3. Жобалаудың жалпы сұлбасы
- •4.3 Пәндік аймақтың сипаты. Мысал.
- •Дәріс 5. Деректердің семантикалық моделі
- •5.1 Деректерді модельдеудің негізгі жақындаулары. Чена моделі: «негіз-байланыс»
- •Питер Чен нотациялары
- •Басқа да нотациялар
- •Er-модельдерді құратын құралдар
- •5.2 Er-диаграмма түрінде пәндік аймақтың концептуалды моделін құру
- •Дәріс 6. Деректерді концептуалды жобалаудың негізгі түсініктері
- •6.1 Атрибуттар, мұрагерлік, қатынастар, қатынастар.
- •6.2 Негіздер классификациясы.
- •Дәріс 7. Концептуалды деректер жобалау мысалы
- •7.1 Құрылудың негізгі сатылары
- •7.2. Жергілікті көрсетілімдерді модельдеу
- •7.3 Жергілікті мдельдерді біріктіру
- •7.4. Концептуалды деректер моделінің құрылу мысалы
- •3. Деректер моделі Дәріс 8. Деректер қорының теориялық модельдері
- •8.1 Деректер моделінің классификациясы. Деректер қорын ұйымдастыру үшін жақындаулар.
- •8.2 Деректердің желілік моделі
- •8.3 Деректердің иерархиялық моделі
- •8.4 Деректердің көпөлшемді моделі
- •8.5 Концептуалды модельдің автоматтандырылған жобалау жүйесі
- •8.6 Деректер типі
- •8.7. Деректердегі негізгі операциялар
- •8.8 . Деректер моделін таңдау
- •Дәріс 9. Деректердің реляциялық моделі
- •9.1 Реляционды деректер қорының базалық түініктері
- •9.2 Қалыптасқан қатынас сипаты және қатынас сұлбасы
- •9.3 Дқбж негізгі терезесі және деректер қорымен жұмыс жасау үшін басқару элементтері
- •Дәріс 10 Деректер қорының біртұтастығы
- •10.1. Біртұтастық шектеулері
- •10.2. Реляционды модельдің бүртұтастық бөлігі. Қазіргі дқбж деректер біртұтастығының жүзеге асу шарттары.
- •Дәріс 11. Деректер қорына қатынау технологиялары.
- •11.1 Деректер қорына қатынау технологияларына шолу.
- •11.2 Odbc технологиясы (Open Database Connectivity).
- •11. 3 Ole db - Object Linking and Embedding Database технологиясы. Ole db негіздері.
- •ToleContainer объектісі.
- •Ole қосымша мысалы.
- •Деректер қорында ole объектіні сақтау.
- •11.4 Ado - ActiveX Data Objects технологиясы.
- •4. Нормализация әдіспен деректер қорын жобалау Дәріс 12. Деректер қорының нормализациясы
- •12.1 Минималды функционалды тәуелділіктер және екінші нормаль форма
- •12.1 Сурет. Қызметшілер_жобалар_тапсырмалар қатынасының
- •12.2 Сурет. Қызметшілер_жобалар_тапсырмалар қатынасының мүмкін болатын айнымалы мәні
- •12.2 Минимал емес функционалды тәуелділіктердің болуынан пайда болатын жаңару аномалиясы
- •12.3 Мүмкін болатын декомпозиция
- •12.3 Сурет. Қызм және қызм_жоба_тапс қатынастарының айнымалыларындағы
- •12.4 Сурет. Айнылы қатынас мәндері Дәріс 13. Қалыпты формалар
- •13.1Транзитивті емес функционалды тәуелділіктер және үшінші қалыпты форма
- •13.2 Мүмкін болатын жабу кілттері және Бойс-Коддқалыпты формасы
- •Дәріс 14. Нормализацияны қолдану арқылы реляционды деректер қорын жобалау
- •14.1 Көпмәнді тәуелділіктер және төртінші қалыпты форма
- •14.2 Жобалау/бірігу тәуелділіктері және бесінші қалыпты форма
- •5.Таратылған деректерді өңдеу Дәріс 15. Таратылған ақпараттық жүйелер және деректер қоры
- •15.1 Таратылған дерктер қоры
Дәріс 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 болсын. Бұл жағдайда А және С атрибуттарының тәуелділігі туралы айтуға бола ма?