1 Деректер қорына кіріспе


 дәріс. Деректер қорын басқару жүйесі



Pdf көрінісі
бет3/26
Дата05.02.2024
өлшемі1.23 Mb.
#490878
1   2   3   4   5   6   7   8   9   ...   26
ik 1

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



өзгерісіне алып келмеуі қажет. Басқа жағынан қарағанда, кез келген 
қолданбалы бағдарламалардың мүмкін өзгерістері, өз кезегінде деректер 
құрылымының өзгерісіне алып келмеуі қажет. Жоғарыда айтылғандардың 
барлығы деректерді қолданбалы бағдарламалардан бөлу қажет екенін көрсетеді.
Олардың тәуелсіздігін қамтамасыз ететін, қолданбалы бағдарламалар мен 
деректер қорының арасындағы интерфейстің ролін бағдарламалық кешен -
деректер қорын басқару жүйесі (ДҚБЖ) ойнайды (2.1 сурет).
ДҚБЖ – көптеген қолданушылармен (қолданбалы бағдарламалармен) 
дерекетр қорын құру, енгізу және қолдану үшін арналған, дерекетрдің 
интегралданған жиынын қолдауының бағдарламалық кешені.
2.1 сурет – Қолданбалы бағдарламалар мен деректер қорының
тәуелсіздігін қамтамасыз ету 
Тағы да бір ұғымды анықтайық. 
Деректер банкі – дерекетрдің интегралданған жиынын қолдауының,
тілдік, алгоритмдік, бағдарламалық, техникалық және ұйымдастырушылық 
құралдары, сонымен қатар деректер қоры ретінде ұсынылған, осы деректердің 
өзі.
Деректер қорын басқару жүйесінің негізгі функцияларын атап өтейік:
1) Құрылатын деректер қорының құрылымының анықтамасы, оның 
инициализациясы және бастапқы жүктемені жүргізу.
Ережеге сәйкес, деректер қорының құрылымын құру сұхбат режимінде 
жүреді. ДҚБЖ қолданеушыдан қажетті деректерді жүйелі түрде сұрайды. 
Көпшілік заманауи ДҚБЖ деректер қоры кестелердің жиынтығы түрінде 
беріледі. Қарастырылатын функция жадыда кестенің құрылымын сипаттауға 
және құруға, кестеде деректердің бастапқы жүктемесін жүргізуге мүмкіндік 
береді. MS Access ДҚБЖ үшін мұндай әрекеттердің мысалы 2.2 сурете 
келтірілген. 



 
2.2 сурет – ДҚБЖ MS Access деректер қоры құрылымының құрылуы 
2) Қолданушыларға дерекетрмен күрделі әрекеттер жасау мүмкіндігі 
берілу (қажетті деректерді іріктеу, есептеуді орындау, енгізу\шығару 
интерфейсін жасақтау, визуализациялау). 
ДҚБЖ мұндай мүмкіндіктер, ДҚБЖ құрамына кіретін, арнайы 
бағдарламалау тілін қолдану негізінде, немесе графикалық интерфейс 
көмегімен беріледі.
MS Access-те берілген функцияны жүзеге асыру сұраныстарды құру және 
графикалық интерфейстің көмегімен енгізу формасын құру арқылы жүзеге 
асырылады (2.3 сурет). 
 
2.3 сурет – ДҚБЖ Access-те іріктеу үшін сұраныстарды құру 
Клиент-серверлік ДҚБЖ арналған, сұраныстарды орындауға мүмкіндік 
беретін, құралдар және қолданушының интерфейсін құруға мүмкіндік беретін, 
бағдарламалық құралдар бар.
3) Қолданбалы бағдарламалар және деректердің тәуелсіздігін қамтамасыз 
ету (логикалық және физикалық тәуелсіздік). 


10 
ДҚБЖ маңызды қасиеті деректер қорына екі тәуелсіз көзқарасты – 
деректерді 
логикалық 
ұсынуды 
іске 
асыратын, 
және 
қолданбалы 
бағдарламалардағы оның бейнесі, «қолданушы көзқарасын»; және «жүйе 
көзқарасын» - ЭЕМ жадысында деректерді физикалық ұсыну қолдау мүмкіндігі 
болып табылады. Деректердің логикалық тәуелсіздігін қамтамасыз ету 
деректерді сақтаудың логикалық құрылымын өзгертуді қажет етпей деректер 
қорын логикалық ұсынуын өзгерту (белгілі шектерде) мүмкіндігін береді. 
Осылайша, қолданбалы бағдарламада деректердің логикалық ұсынуын өзгерту 
деректерді сақтау құрылымының өзгеруіне алып келмейді. Деректердің 
физикалық тәуелсіздігін қамтамасыз ету деректердің «логикалық» ұсынуын 
өзгерту қажеттілігін шақырмай-ақ ЭЕМ жадында деректер қорын ұйымдастыру 
тәсілдерін өзгерту (белгілі шектерде) мүмкіндігін береді. Осылайша, деректер 
қорының ұйымдастыру тәсілдерін өзгерту қолданбалы бағдарламалардың 
өзгеруіне алып келмейді.
4) Деректер қорының логикалық толықтығын қорғау. 
Осы функцияны жүзеге асырудың негізгі мақсаты деректер қорында 
деректердің нақтылығын көтеру болып табылады. Деректердің нақтылығы 
оларды ДҚ енгізу кезінде немесе теріс деректерді ДҚ алатын және енгізетін, 
деректерді өңдеу үрдістерінің заңсыз әрекеттері кезінде бұзылуы мүмкін. 
Жүйеде деректердің нақтылығын көтеру үшін, белгілі бір жағдайда дұрыс 
немесе деректерді «аулап алатын», толықтық шектеулері жарияланады. 
Осылай, барлық заманауи ДҚБЖ, құрылымды құру кезінде сипатталған, 
енгізілетін деректердің олардың типіне сәйкестігі тексеріледі. Жүйе сандық 
типтегі өріске символды, мүмкін емес күнді және т.с.с. енгізуге жол бермейді.
Дамыған жүйелерде толықтық шектеулерін бағдарламалаушы, есептің 
мазмұндық мәніне қарай, сипаттайды және оларды тексеру деректерді әр өңдеу 
кезінде жүзеге асырылады. Деректер қорының логикалық толықтығының түрлі 
көріністері нақтырақ келесі бөлімдерде қарастырылатын болады.
5) Физикалық толықтықты қорғау. 
ЭЕМ жұмысы кезінде жұмыста іркілулер (мысалы, электр қуатын 
айырудың әсерінен), деректерді машиналық тасушылардың бұзылуы болуы 
мүмкін. Сонымен бірге деректердің арасындағы байланыста бұзылуы мүмкін. 
Бұл болашақтағы жұмыстың мүмкінсіздігіне алып келеді. Дамыған ДҚБЖ 
деректер қорын қалпына келтіру құралдары бар. Қолданылатын маңызды ұғым 
«транзакция» ұғымы болып табылады. Транзакция – бұл, деректер қорымен 
өндірілетін, әрекеттер бірлігі. Транзакция құрамына деректер қорын өзгертетін 
бірнеше операторлар кіруі мүмкін, бірақ осы операторлардың барлығы 
орындалады, немесе бірде біреуі орындалмайды. ДҚБЖ, шынында деректер 
қорын енгізуден басқа, сонымен қатар транзакция журналын да жүргізеді.
Деректер қорында транзакцияны қолдану қажеттілігін келесі қарапайым 
мысалда көрсетейік. Деректер қоры кейбір банкте қолданылады және 
клиенттердің бреуі басқа клиенттің шотына ақша аударғысы келеді деп 
болжайық. Деректер қорында әр клиенттің ақшасының саны туралы ақпараттар 
сақталған. Бізге деректер қорында екі өзгерту жүргізу керек – клиенттердің 
біреуінің шотындағы ақша сомасын азайтуымыз қажет, ал басқа шоттағы ақша 


11 
сомасын көбейтуіміз қажет. Әрине, нақты өмірде банкте ақша аударымы, 
көптеген кестелерді, ал тіпті, көптеген деректер қорын қозғайтын, өте күрделі 
үрдіс болып табылады. Алайда, мәнісі бірдей – барлық әрекетті орындауымыз 
қажет (бір клиенттің шотын өсіруіміз, ал екінші клиенттің шотын азайтуымыз 
қажет), немесе осы әрекеттердің бірде біреуін орындамаймыз. Бір шоттағы 
ақша сомасын азайтып, ал екінші шоттағы ақша сомасын өсірмеуге болмайды. 
Сонымен бірге, бірінші әрекеттің біреуін орындағаннан кейін (бірінші 
клиенттің шотындағы ақша сомасын азайту) іркілу болды деп болжайық. 
Мысалы, клиенттік компьютер мен деректер қорының арасындағы байланыс 
үзілуі мүмкін немесе операциялық жүйенің қайта жүктелуіне алып келетін, 
клиенттік компьютерде жүйелік іркілу (сбой) болуы мүмкін. Бұл жағдайда 
деректер қорымен не болады? Бірінші клиенттің шотындағы ақшаны азайту 
бұйрығы орындалды, ал екінші бұйрық – басқа шоттағы ақшаны өсіру – жоқ, 
деректер қорының қарама-қайшы, ескірген жағдайына не алып келуі мүмкін.
Транзакция механизмін қолдану осындай жағдайлардың шешімін табуға 
мүмкіндік береді. Бірінші әрекетті орындаудың алдында транзакцияның басы 
бұйрығы шығады. Транзакцияға бір шоттан ақшаны шешу және басқа шоттағы 
ақшаны өсіру операциясы қосылады. Транзакцияның аяқталу операторы әдетте 
COMMIT деп аталады. Бірінші әрекет орындалғаннан кейін транзакция 
аяқталмағандықтан, өзгерістер деректер қорына кіргізілмейді. Өзгерістер тек 
транзакция аяқталғаннан кейін ғана кіргізіледі (бекітіледі). Осы оператор 
шықпайынша қорда деректердің сақталуы жүрмейді.
Біздің мысалымызда, транзакцияны бекіту операторы шықпағандықтан, 
деректер қоры бастапқы күйіне «кері шегінеді» - басқаша сөзбен айтқанда, 
клиенттердің шотындағы сома транзакция басынынң алдындағы күйіндей 
қалады. Деректер қорының әкімшілігі транзакция жағдайын қадағалай алады 
және қажет болған жағдайда транзакцияны қолмен «кері шегіндіреді». 
Сонымен қатар, айқын жағдайда ДҚБЖ транзакцияның «кері шегінуі» туралы 
шешімді өзбетімен қабылдайды.
Транзакцияның қысқа болуы міндетті емес. Бірнеше сағатқа немесе 
бірнеше күнге созылатында транзакциялар болады. Бір транзакцияның шегінде 
әрекеттер санының өсуі орын алатын жүйелік ресурстардың өсуін талап етеді. 
Сондықтан мүмкіндігінше транзакцияны қысқа істеген дұрыс. Транзакция 
журналында барлық транзакциялар – бекітілгенде, «кері шегінумен» 
аяқталғанда транзакциялар енгізіледі. Сақтық қорда сақталған көшірмелерді 
құрумен бірге жүргізілген транзакция журналы деректер қорының жоғарғы 
сенімділігіне жетуге мүмкіндік береді.
ДҚБЖ сервері қондырылған, компьютерде аппараттық іркілудің 
нәтижесінде деректер қоры зақымданды деп болжайық. Бұл жағдайда соңғы 
жасалған деректер қорының сақтық қорға сақталған көшірменсін және 
транзакция журналын қолдану қажет. Сонымен бірге деректер қорына, сақтық 
қорған сақталған көшірмесі құрылғаннан кейін бекітілген, тарнзакцияларды 
ғана қолдану қажет. Көптеген заманауи ДҚБЖ әкімшілікке, сақтық қорға 
сақталған көшірмесін және транзакция журналын пайдалана отырып, деректер 
қорын жаңадан жасауға мүмкіндік береді. Мұндай жүйелерде белгілі бір уақыт 


12 
мезетінде ДҚ сақтық қордағы жинақтауыштарда көшірмесі алынады. ДҚ 
барлық жүгінулер өзгертулер журналына бағдарламалық түрде жазылып 
отырады. Егер деректер қоры бұзылған болса, онда қалпына келтіру 
процедурасы жүктеледі, ол үрдіс кезінде сақтық қордағы көшірмеге өзгертулер 
журналынан барлық жүргізілген өзгертулер енгізіледі.
6) Деректер қорына рұқсатқа қолданушылардың өкілдеттігін басқару. 
Әртүрлі қолданушылар деректермен жұмыс бойынша әртүрлі өкілеттікке 
ие (кейбір деректер қолжетімсіз болуы мүмкін; белгілі-бір қолданушыларға 
деректерді жаңартуға рұқсат берілмейді және т.с.с.). ДҚБЖ, құпия сөз 
принциптеріне, немесе өкілеттіктердің сипаттамасына негізделген, рұқсат 
өкілеттігін шектеу механизмі қарастырылады. 
7) Бірнеше қолданушылар жұмысын синхронизациялау.
Бірнеше қолданушылар бір уақыт мезгілінде бірдей деректерді жаңарту 
операциясын орындауы мүмкін жағдай жеткілікті жиі орын алады. Мұндай 
қайшылықтар деректердің логикалық толықтығының бұзылуына алып келеді, 
сондықтан жүйе осы деректермен қолданушы жұмысын толық аяқтағанша 
басқа қолданушылардың осы деректі жаңартуына жол бермейтін, шараларды 
қарастыруы қажет. Мұнда қолданылатын негізгі ұғым «оқшаулау» болып 
табылады. Оқшаулау түрлі қолданушыларға деректер қорымен бір уақыт 
мезгілінде жұмыс жасауға тыйым салу үшін қажет. Себебі ол көптеген 
қателіктерге алып келеді.
Бұл тыйымды жүзеге асыру үшін ДҚБЖ, транзакция қолданатын, 
нысандарға оқшаулау орнатады. Оқшаулаудың түрлі типтері бар – кестелік, 
беттік, жолдық және де басқа, олар бір-бірінен оқшауланған жазбалар санымен 
ажыратылады. 
Басқаларынан 
жиі 
беттік 
оқшаулау 
– 
бір 
жолға 
транзакциясының жүгінуі кезінде тек осы жол оқшауланады, ал қалған жолдар 
өзгертулерге қол жетімді болып қалады.
Осылайша, деректер қорына өзгерістерді енгізу үрдісі келесі әрекеттер 
тізбегінен тұрады: транзакция басы операторы шығады, деректерді өзгерту 
операторы шығады, ДҚБЖ операторды талдайды және оның орындалуына 
қажетті, оқшаулауды орындауға тырысады, оқшаулау сәтті болған жағдайда 
оператор орындалады, содан кейін үрдіс келесі транзакция операторы үшін 
қайталанады. Транзакция ішіндегі барлық операторлар сәтті орындалғаннан 
кейін транзакцияны бекіту операторы орындалады. ДҚБЖ транзакциямен 
жасалған өзгерістерді бекітеді және оқшаулауды алады. Транзакцияның 
қандайда бір операторлары сәтсіз аяқталған жағдайда «кері шегінеді», деректер 
алдыңғы мәндеріне ие болады, оқшаулау алынып тасталады.
8) Сақтау ортасының ресурстарын басқару. 
ДҚ ЭЕМ-нің сыртқы жадында орналасады. Жұмыс жасау кезінде ДҚ 
жаңа деректер енгізіледі (жадыдан орын алынады) және деректер жойылады 
(жады босайды). ДҚБЖ жаңа деректер үшін жады ресурстарын бөледі, босаған 
жадыларды қайта бөледі, сыртқы жадыға сұраныс кезектерін енгізуді 
ұйымдастырады және т.с.с.
9) Жүйелік қызметкерлердің қызметтерін қолдау.


13 
Деректер қорын пайдалану кезінде ДҚБЖ параметрлерін өзгерту, 
рұқсаттың жаңа әдісін таңдау, сақталған деректердің құрылымын өзгерту 
(белгілі-бір шектерде), сонымен қатар ортақ жүйелік әрекеттер қатарын 
орындау қажеттігі пайда болуы мүмкін. ДҚБЖ ДҚ қызметін қолдау үшін ДҚ 
қызмет көрсететін жүйелік қызметкерлерге, ДҚ әкімшілігі деп аталатын, осы 
және де басқа әрекеттерді орындау мүмкіндігін береді.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   26




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет