Тақырып 5. ДЕРЕКҚОР ЖҮЙЕЛЕРІ.
Жоспар:
1. Дерекқор жүйелерінің негіздері: түсінігі, сипаттамасы, архитектурасы.
2. Деректер модельдері. Қалыпқа келтіру. Деректердің тұтастығын шектеу.
3. Сұрауларды оңтайландыру және оларды өңдеу.
4. SQL негіздері. Деректерді параллель өңдеу және қалпына келтіру.
5. Мәліметтер базасын жобалау және әзірлеу.
6. ORM бағдарламалау технологиясы.
7. Таратылған, параллель және гетерогенді мәліметтер базасы.
Деректер базасы жүйелерінің негіздері: тұжырымдамасы, сипаттамасы, архитектурасы Дерекқорлар және деректер базасының технологиясы деректерге үлкен әсер етеді.
Мәліметтер базасы компьютерлер қолданылатын барлық дерлік салаларда, соның ішінде бизнес, электронды коммерция, инженерия, медицина, заң, білім және кітапхана ісі саласында маңызды рөл атқарады деп айту орынды.
Мәліметтер базасы - бұл өзара байланысты деректер жиынтығы. Деректер деп біз жазылуға болатын және жасырын мағынаға ие белгілі фактілерді айтамыз. Мысалы, сіз білетін адамдардың аты-жөнін, телефон нөмірлерін және мекенжайларын қарастырыңыз. Бұл жасырын мағынасы бар байланысты деректер жинағы, демек, дерекқор.
Мәліметтер қорының келесі жасырын қасиеттері бар:
дерекқор нақты әлемнің кейбір аспектілерін білдіреді, кейде шағын әлем немесе дискурс әлемі (DoD) деп аталады. Шағын әлемге енгізілген өзгерістер дерекқорда көрсетіледі;
Мәліметтер қоры – қандай да бір өзіне тән мағынасы бар мәліметтердің логикалық үйлесімді жиынтығы. Деректердің кездейсоқ ассортиментін дерекқор деп дұрыс атауға болмайды;
мәліметтер базасы белгілі бір мақсат үшін жобаланады, құрастырылады және деректермен толтырылады. Онда пайдаланушылардың мақсатты тобы және осы пайдаланушыларды қызықтыратын кейбір алдын ала ойластырылған қолданбалар бар.
Мәліметтер қоры кез келген көлемде және әртүрлі күрделілікте болуы мүмкін.
Деректер базасы қолмен жасалуы және жүргізілуі мүмкін немесе ол компьютерлендірілген болуы мүмкін. Компьютерлендірілген деректер базасы осы тапсырма үшін арнайы жазылған қолданбалы бағдарламалар тобымен немесе дерекқорды басқару жүйесімен құрылуы және жүргізілуі мүмкін.
Мәліметтер қорын басқару жүйесі (ДҚБЖ) – пайдаланушыларға мәліметтер қорын құруға және жүргізуге мүмкіндік беретін бағдарламалар жиынтығы. Демек, ДҚБЖ әртүрлі пайдаланушылар мен қолданбалар арасында дерекқорларды анықтау, құру, өңдеу және ортақ пайдалану процестерін жеңілдететін жалпы мақсаттағы бағдарламалық жүйе болып табылады. Дерекқорды анықтау деректер түрлерін, құрылымдарын және дерекқорда сақталатын деректерге арналған шектеулерді көрсетуді қамтиды. Мәліметтер қорын құру - бұл ДҚБЖ басқаратын кейбір сақтау құралдарында деректердің өзін сақтау процесі. Дерекқорды өңдеу нақты деректерді алу үшін дерекқорды сұрау, шағын әлемдегі өзгерістерді көрсету үшін дерекқорды жаңарту және деректерден есептерді жасау сияқты функцияларды қамтиды. Дерекқорды ортақ пайдалану бірнеше пайдаланушылар мен бағдарламаларға дерекқорға бір уақытта қол жеткізуге мүмкіндік береді.
ДҚБЖ қамтамасыз ететін басқа маңызды функцияларға деректер қорын қорғау және оны ұзақ уақыт бойы қолдау кіреді. Қорғау аппараттық құралдың немесе бағдарламалық құралдың ақаулығынан (немесе бұзылуларынан) жүйені қорғауды және рұқсатсыз немесе зиянды қол жеткізуден қауіпсіздікті қорғауды қамтиды. Әдеттегі үлкен деректер қорының өмірлік циклі көп жылдар болуы мүмкін, сондықтан ДҚБЖ мүмкіндігі болуы керек
Бастапқы анықтамаларымызды аяқтау үшін біз дерекқор мен ДҚБЖ бағдарламалық құралын бірге дерекқор жүйесі деп атаймыз.
Мәліметтер қоры тәсілінің негізгі сипаттамасы мәліметтер қорының жүйесінде тек дерекқордың өзі ғана емес, сонымен қатар мәліметтер қоры құрылымы мен шектеулерінің толық анықтамасы немесе сипаттамасы бар. Бұл анықтама әрбір файлдың құрылымы, әрбір деректер элементінің түрі мен сақтау пішімі және деректерге әртүрлі шектеулер сияқты ақпаратты қамтитын ДҚБЖ каталогында сақталады. Каталогта сақталатын ақпарат метадеректер деп аталады және ол бастапқы мәліметтер қорының құрылымын сипаттайды.
ДҚБЖ пакеттерінің архитектурасы барлық ДҚБЖ бағдарламалық пакеті бір тығыз біріктірілген жүйе болатын ертедегі монолитті жүйелерден клиент/сервер жүйесінің архитектурасы бар модульдік дизайндағы заманауи ДҚБЖ пакеттеріне дейін дамыды.
Негізгі клиент/сервер ДҚБЖ архитектурасында жүйенің функционалдығы модульдердің екі түрі арасында таратылады. Клиенттік модуль әдетте пайдаланушының жұмыс станциясында немесе дербес компьютерде жұмыс істейтіндей етіп жасалған. Әдетте, дерекқорға қатынасатын қолданбалы бағдарламалар мен пайдаланушы интерфейстері клиенттік модульде жұмыс істейді. Клиенттік модуль пайдаланушының өзара әрекеттесуін өңдейді және пішіндер немесе мәзір негізіндегі GUI (Графикалық пайдаланушы интерфейстері) сияқты пайдаланушыға ыңғайлы интерфейстерді қамтамасыз етеді. Сервер модулі деп аталатын модульдің басқа түрі әдетте деректерді сақтауды, қол жеткізуді, іздеуді және басқа функцияларды өңдейді.
Үш схемалық архитектураның мақсаты пайдаланушы қолданбалары мен физикалық деректер қорын бөлу болып табылады. Бұл архитектурада схемаларды келесі үш деңгейде анықтауға болады.
1. Ішкі деңгейде мәліметтер қорының физикалық сақтау құрылымын сипаттайтын ішкі схемасы бар. Ішкі схема деректердің физикалық үлгісін пайдаланады және деректерді сақтау және дерекқорға кіру жолдарының толық мәліметтерін сипаттайды.
2. Тұжырымдама деңгейінде пайдаланушылар қауымдастығы үшін бүкіл деректер қорының құрылымын сипаттайтын концептуалды схемасы бар. Концептуалды схема физикалық сақтау құрылымдарының мәліметтерін жасырады және нысандарды, деректер түрлерін, қатынастарды, пайдаланушы әрекеттерін және шектеулерді сипаттауға шоғырланады. Әдетте дерекқор жүйесі енгізілген кезде концептуалды схеманы сипаттау үшін репрезентативті деректер моделі пайдаланылады. Бұл іске асыру тұжырымдамалық схемасы көбінесе жоғары деңгейлі деректер үлгісіндегі тұжырымдамалық схемаға негізделеді.
3. Сыртқы немесе көрініс деңгейі бірқатар сыртқы схемаларды немесе пайдаланушы көріністерін қамтиды. Әрбір сыртқы схема белгілі бір пайдаланушы тобын қызықтыратын дерекқор бөлігін сипаттайды және сол пайдаланушы тобынан дерекқордың қалған бөлігін жасырады.
Үш схемалы архитектура – пайдаланушы дерекқор жүйесіндегі схема деңгейлерін визуализациялай алатын ыңғайлы құрал.
Уақыт өте келе талаптардың өзгеруіне қарай жүйенің дамуына мүмкіндік беру арқылы деректер қоры жүйесін қолдау
Деректер үлгілері
Деректер моделі - бұл дерекқордың құрылымын сипаттау үшін қолданылатын ұғымдар жиынтығы - бұл абстракцияға жету үшін қажетті құралдарды қамтамасыз етеді.
Мәліметтер қорының құрылымы деп біз деректер үшін сақталуы тиіс деректер түрлерін, қатынастарды және шектеулерді түсінеміз. Деректер үлгілерінің көпшілігі дерекқордағы іздеулер мен жаңартуларды көрсетуге арналған негізгі әрекеттер жинағын да қамтиды.
Мәліметтер қорының жалпы логикалық деректер үлгілеріне мыналар жатады:
мәліметтер қорының иерархиялық моделі;
желілік модель;
қатынас моделі;
реляциядан кейінгі мәліметтер базасының модельдері;
өлшемді модель;
объектілік модель.
Иерархиялық модель. Бұл модельдер 1960, 1970 жылдары танымал болды, бірақ қазіргі уақытта оларды ең алдымен ескі жүйеде табуға болады. Иерархиялық үлгіде деректер әрбір жазба үшін жалғыз ата-ананы білдіретін ағаш тәрізді құрылымға ұйымдастырылады. Сұрыптау өрісі атаулы жазбаларды белгілі бір ретпен сақтайды. Иерархиялық құрылымдар IBM фирмасының Ақпаратты басқару жүйесі (IMS) сияқты алғашқы негізгі фреймдік дерекқорды басқару жүйелерінде кеңінен қолданылды және қазір XML құжаттарының құрылымын сипаттайды. Бұл құрылым деректердің екі түрі арасындағы бір-бірден көп қатынасқа мүмкіндік береді. Бұл құрылым нақты әлемдегі көптеген қатынастарды сипаттау үшін өте тиімді.
Желі режимі иерархиялық құрылымды кеңейтіп, бірнеше ата-анаға мүмкіндік беретін ағаш тәрізді құрылымда көптен көпке қатынасқа мүмкіндік береді. Ол реляциялық модельмен ауыстырылғанға дейін ең танымал болды.
Желі моделі жазбалар мен жиындар деп аталатын екі іргелі ұғымды пайдаланып деректерді ұйымдастырады. Жазбаларда өрістер бар. Жиындар жазбалар арасындағы "бірден көпке" қатынасты анықтайды: бір ие, көп мүше. Жазба жиынтықтардың кез келген санының иесі және жиындардың кез келген санының мүшесі болуы мүмкін.
Жиын дөңгелек байланыстырылған тізімдерден тұрады, онда бір жазба түрі, жиын иесі немесе ата-анасы әр шеңберде бір рет пайда болады, ал екінші жазба түрі, бағынушы немесе еншілес әр шеңберде бірнеше рет пайда болуы мүмкін. Осылайша, барлық жиынтықтар жалпы бағытталған графикті (меншік бағытын анықтайды) немесе желі құрылымын қамтиды. Жазбаларға қол жеткізу дәйекті (әдетте әрбір жазба түрінде) немесе айналмалы байланыстырылған тізімдерде шарлау арқылы.
Желілік модель иерархиялық үлгіге қарағанда деректердегі артықшылықты тиімдірек көрсете алады және аталық түйіннен ұрпаққа бір жолдан көп болуы мүмкін. Желі моделінің әрекеттері стильде шарлау болып табылады: бағдарлама ағымдағы орынды сақтайды және жазба қатысатын қатынастарды орындау арқылы бір жазбадан екіншісіне жылжиды. Жазбаларды негізгі мәндерді беру арқылы да табуға болады.
Реляциялық модельді 1970 жылы Э.Ф.Кодд енгізді. Бұл предикаттық логика және жиындар теориясы тұрғысынан анықталған математикалық модель және оны жүзеге асыратын жүйелер негізгі, орта және микрокомпьютерлік жүйелерде қолданылған.
Реляциялық дерекқор үлгілерінде үш негізгі термин кеңінен қолданылады: қатынастар, атрибуттар және домендер. Қатынас – бағандары мен жолдары бар кесте. Қатынастың аталған бағандары атрибуттар деп аталады, ал домен атрибуттар қабылдауға рұқсат етілген мәндер жиыны болып табылады.
Реляциялық модельдің негізгі деректер құрылымы кесте болып табылады, мұнда белгілі бір нысан туралы ақпарат жолдар мен бағандарда көрсетіледі. Сонымен, «реляциялық деректер базасындағы» «қатысы» деректер қорындағы әртүрлі кестелерге қатысты; қатынас – кортеждер жиыны. Бағандар нысанның әртүрлі атрибуттарын санайды, ал жол қатынас арқылы көрсетілген нысанның нақты данасы болып табылады. Нәтижесінде қызметкерлер кестесінің әрбір кортежі бір қызметкердің әртүрлі атрибуттарын көрсетеді.
Реляциялық дерекқордағы барлық қатынастар (және, осылайша, кестелер) қатынастар ретінде квалификациялау үшін кейбір негізгі ережелерді сақтауы керек. Біріншіден, кестеде бағандардың реті маңызды емес. Екіншіден, кестеде бірдей кортеждер немесе жолдар болуы мүмкін емес. Үшіншіден, әрбір кортежде оның әрбір атрибуттары үшін бір мән болады.
Реляциялық дерекқорда әрқайсысы «жалпақ» дерекқор үлгісіндегіге ұқсас бірнеше кестелер бар. Реляциялық модельдің күшті жақтарының бірі, негізінен, екі түрлі жазбада (бір кестеге немесе әртүрлі кестелерге жататын) кездесетін кез келген мән осы екі жазба арасындағы қатынасты білдіреді. Дегенмен, нақты тұтастық шектеулерін енгізу үшін жазбалар арасындағы қатынастар
Кестелер сонымен қатар негізгілік (1:1, (0)1:М, М:М) тағайындаумен сипатталатын ата-ана мен бала қарым-қатынасын анықтау немесе анықтау арқылы анық анықталуы мүмкін. Кестелерде сондай-ақ кестедегі әрбір кортежді бірегей анықтау үшін пайдалануға болатын «кілт» ретінде әрекет ете алатын тағайындалған жалғыз атрибут немесе атрибуттар жиыны болуы мүмкін.
Кестедегі жолды бірегей анықтау үшін пайдалануға болатын кілт негізгі кілт деп аталады. Кілттер әдетте екі немесе одан да көп кестелердегі деректерді біріктіру немесе біріктіру үшін қолданылады.
Өлшемдік модель деректер қоймаларындағы деректерді онлайн аналитикалық өңдеу немесе OLAP сұраулары арқылы оңай қорытындылауға болатындай етіп көрсету үшін пайдаланылатын реляциялық модельдің мамандандырылған бейімделуі болып табылады. Өлшемдік үлгіде дерекқор схемасы өлшемдер мен өлшемдерді қолдану арқылы сипатталған фактілердің жалғыз үлкен кестесінен тұрады. Өлшем фактінің мәтінмәнін қамтамасыз етеді (мысалы, кім қатысты, оның қашан және қайда болғаны және оның түрі) және қатысты фактілерді біріктіру үшін сұрауларда пайдаланылады. Өлшемдер дискретті және жиі иерархиялық болады; мысалы, орын ғимаратты, штатты және елді қамтуы мүмкін. Өлшем – фактіні сипаттайтын шама, мысалы, кіріс. Өлшемдерді мағыналы түрде біріктіру маңызды, мысалы, әртүрлі орындардан түскен кірісті бірге қосуға болады.
Деректер қоймасында өлшем кестелерін ортақ пайдалануға мүмкіндік беретін бірнеше өлшемді схемалар болуы мүмкін. Өлшемдердің стандартты жиынтығын ойлап табу өлшемді модельдеудің маңызды бөлігі болып табылады.
Реляциялық үлгіге қарағанда жалпы деректер үлгісін ұсынатын өнімдер кейде байланыстан кейінгі болып жіктеледі. Реляциялық үлгіге осы кеңейтімдердің кейбіреулері реляциялық модельге дейінгі технологиялардың тұжырымдамаларын біріктіреді. Кейбір постреляциялық өнімдер реляциялық емес ерекшеліктері бар реляциялық жүйелерді кеңейтеді. Басқалары реляцияға дейінгі жүйелерге реляциялық мүмкіндіктерді қосу арқылы бірдей жерге келді.
1990 жылдары дерекқор технологиясына объектілі-бағытталған бағдарламалау парадигмасы қолданылып, объектінің дерекқорлары деп аталатын жаңа дерекқор үлгісін жасады. Бұл объектілік реляциялық кедергінің сәйкессіздігін болдырмауға бағытталған - оның дерекқордағы көрінісі (мысалы, кестелердегі жолдар ретінде) және қолданбалы бағдарламадағы (әдетте нысандар ретінде) көрсетілімі арасындағы ақпаратты түрлендіруге арналған қосымша шығындар.
Схеманы жобалаудың бір мақсаты - негізгі қатынастар (және сәйкес файлдар) пайдаланатын сақтау кеңістігін азайту. Атрибуттарды қатынас схемаларына топтау сақтау кеңістігіне айтарлықтай әсер етеді.
Аномалиялардың үш түрі бар: кірістіру аномалиялары, жою аномалиялары және модификация аномалиялары.
Реляциялық схемаларды жобалау теориясындағы ең маңызды жалғыз тұжырымдама функционалдық тәуелділік болып табылады. Функционалдық тәуелділік - бұл дерекқордағы атрибуттардың екі жиыны арасындағы шектеу.
Әрбір қатынас үшін функционалдық тәуелділіктердің жиынтығы берілген және әрбір қатынаста тағайындалған бастапқы кілт бар деп есептейміз; бұл ақпарат қалыпты пішіндерге арналған сынақтармен (шарттармен) біріктірілген реляциялық схеманы жобалау үшін қалыпқа келтіру процесін басқарады.
Нормалау процесі, бірінші рет Кодд (1972) ұсынғандай, белгілі бір қалыпты пішінді қанағаттандыратынын «сертификаттау» үшін бірқатар сынақтар арқылы қатынас схемасын алады. Әрбір қатынасты қалыпты формалар критерийлеріне сәйкес бағалау және қажет болған жағдайда қатынастарды ыдырату арқылы жоғарыдан төмен қарай жүретін процесті талдау арқылы қатынасты жобалау ретінде қарастыруға болады. Бастапқыда Кодд үш қалыпты форманы ұсынды, ол оны бірінші, екінші және үшінші қалыпты форма деп атады. Бойс-Кодд қалыпты формасы (BCNF) деп аталатын 3NF-нің күштірек анықтамасын кейінірек Бойс пен Кодд ұсынған. Бұл қалыпты формалардың барлығы қатынастың атрибуттары арасындағы функционалдық тәуелділіктерге негізделген. Кейінірек көп мәнді тәуелділіктер және біріктіру тәуелділіктері тұжырымдамаларына негізделген төртінші қалыпты пішін (4NF) және бесінші қалыпты пішін (5NF) ұсынылды.
Деректерді қалыпқа келтіруді артықшылықты азайту және кірістіру, жою және жаңарту ауытқуларын азайтудың қалаған қасиеттеріне қол жеткізу үшін олардың FD және бастапқы кілттері негізінде берілген қатынас схемаларын талдау процесі ретінде қарастыруға болады.
Деректерді параллельді өңдеу және оларды қалпына келтіру
Транзакция - бұл «тұтас» ретінде қарастырғыңыз келетін жұмыс бірлігі. Ол не толық болуы керек, не мүлде болмауы керек.
Классикалық мысал - ақшаны бір банктік шоттан екіншісіне аудару. Ол үшін алдымен бастапқы шоттан соманы алу керек, содан кейін оны тағайындалған шотқа салу керек. Операция толығымен сәтті өтуі керек. Жарты жолда тоқтасаңыз, ақша жоғалады, бұл өте жаман. Транзакциядағы барлық SQL мәлімдемелерінің әсерлері не барлығы орындалды (деректер базасына қолданылады) немесе барлығы кері қайтарылады (қайтарылған дерекқор).
SQL негіздері
Реляциялық модельде қолданылатын ең көп таралған сұрау тілі құрылымдық сұраныс тілі (SQL) болып табылады. SQL барлық негізгі платформаларда реляциялық дерекқорларды жасау және өңдеу үшін қолданылатын әдістерді анықтайды.
SQL пәрмендерін екі негізгі ішкі тілге бөлуге болады. Деректерді анықтау тілі (DDL) дерекқорлар мен дерекқор нысандарын жасау және жою үшін пайдаланылатын пәрмендерді қамтиды. Дерекқор құрылымы DDL көмегімен анықталғаннан кейін дерекқор әкімшілері мен пайдаланушылары оның ішіндегі деректерді кірістіру, шығарып алу және өзгерту үшін Деректерді өңдеу тілін пайдалана алады.
Деректерді анықтау тілі (DDL) дерекқорлар мен дерекқор нысандарын жасау және жою үшін қолданылады.
Транзакциялар әдетте ACID деп аталатын төрт қасиетке ие:
Атомдық (егер өзгеріс жасалса, ол бір соққымен болады; сіз ешқашан «жарты өзгерісті» көре алмайсыз);
Консистенциялы (өзгеріс жүйенің жаңа күйі жарамды болған жағдайда ғана болады; жарамсыз өзгертуге кез келген әрекет сәтсіз аяқталып, жүйе бұрынғы жарамды күйінде қалады);
Оқшауланған (мәміле жасалғанға дейін басқа ешкім оны көрмейді);
Төзімді (өзгеріс болғаннан кейін – жүйе транзакция жасалғанын айтса, клиент өзгерісті «жабыстыру» үшін жүйені «шаю» туралы алаңдамауы керек).
Деректер моделі - бұл дерекқордың құрылымын сипаттау үшін қолданылатын ұғымдар жиынтығы - бұл абстракцияға жету үшін қажетті құралдарды қамтамасыз етеді.
Мәліметтер қорының құрылымы деп біз деректер үшін сақталуы тиіс деректер түрлерін, қатынастарды және шектеулерді түсінеміз. Деректер үлгілерінің көпшілігі дерекқордағы іздеулер мен жаңартуларды көрсетуге арналған негізгі әрекеттер жинағын да қамтиды.
Мәліметтер қорының жалпы логикалық деректер үлгілеріне мыналар жатады:
мәліметтер қорының иерархиялық моделі;
желілік модель;
қатынас моделі;
реляциядан кейінгі мәліметтер базасының модельдері;
өлшемді модель;
объектілік модель.
Иерархиялық модель. Бұл модельдер 1960, 1970 жылдары танымал болды, бірақ қазіргі уақытта оларды ең алдымен ескі жүйеде табуға болады. Иерархиялық үлгіде деректер әрбір жазба үшін жалғыз ата-ананы білдіретін ағаш тәрізді құрылымға ұйымдастырылады. Сұрыптау өрісі атаулы жазбаларды белгілі бір ретпен сақтайды. Иерархиялық құрылымдар IBM фирмасының Ақпаратты басқару жүйесі (IMS) сияқты алғашқы негізгі фреймдік дерекқорды басқару жүйелерінде кеңінен қолданылды және қазір XML құжаттарының құрылымын сипаттайды. Бұл құрылым деректердің екі түрі арасындағы бір-бірден көп қатынасқа мүмкіндік береді. Бұл құрылым нақты әлемдегі көптеген қатынастарды сипаттау үшін өте тиімді.
Желі режимі иерархиялық құрылымды кеңейтіп, бірнеше ата-анаға мүмкіндік беретін ағаш тәрізді құрылымда көптен көпке қатынасқа мүмкіндік береді. Ол реляциялық модельмен ауыстырылғанға дейін ең танымал болды.
Желі моделі жазбалар мен жиындар деп аталатын екі іргелі ұғымды пайдаланып деректерді ұйымдастырады. Жазбаларда өрістер бар. Жиындар жазбалар арасындағы "бірден көпке" қатынасты анықтайды: бір ие, көп мүше. Жазба жиынтықтардың кез келген санының иесі және жиындардың кез келген санының мүшесі болуы мүмкін.
Реляциялық модельді 1970 жылы Э.Ф.Кодд енгізді. Бұл предикаттық логика және жиындар теориясы тұрғысынан анықталған математикалық модель және оны жүзеге асыратын жүйелер негізгі, орта және микрокомпьютерлік жүйелерде қолданылған.
Реляциялық дерекқор үлгілерінде үш негізгі термин кеңінен қолданылады: қатынастар, атрибуттар және домендер. Қатынас – бағандары мен жолдары бар кесте. Қатынастың аталған бағандары атрибуттар деп аталады, ал домен атрибуттар қабылдауға рұқсат етілген мәндер жиыны болып табылады.
Достарыңызбен бөлісу: |