■
клиент-сервердің архитектурасында жұмыс істеу мүмкіндігі — SQL
-
клиент-сервер өзара әрекеттесудің ең жақсы құралдарының бірі,
сонымен қатар, ол өзара әрекеттесетін клиенттік жүйе мен
дерекқорды басқаратын серверлік жүйе арасындағы байланыс
ретінде қызмет етеді, олардың әрқайсысы өз функцияларын
орындауға.
SQL құрастыру қажетті теориялық негіздерді дамытуға ғана емес,
табысты іске асырылған техникалық шешімдерді дайындауға да
көмектесті. Жаңа нарықтарға арналған мамандандырылған тілді енгізу -
(
Online Transaction Processing OLTP) және онлайн-аналитикалық өңдеу
жүйелерін немесе онлайн шешімдерді қолдау жүйелерін (OnLine
Analytical Processing, OLAP).
БАҚЫЛАУ СҰРАҚТАРЫ
1.
Дерекқорлармен жұмыс істеу тіліне қойылатын талаптар қандай?
2. SQL тілін іске асыру дегеніміз не?
3. Неліктен SQL тілі әзірлеушілер арасында танымал болды?
4. SQL-
нде қандай санаттар бар?
5. Әрбір тіл санатына қандай командалар қолданылады?
6. SQL деректерінің қандай түрлері пайдаланылады?
7. Кестелерді жасау кезінде домендер қалай пайдаланылады?
8. Доменде қандай шектеулерді сипаттауға болады?
9. Кестені SQL-де жасау кезінде негізгі кілт қалай анықталады?
10. Сілтеме тұтастығы шектеуі деп аталады және ол SQL қалай
жасалады?
11. SQL-
кестелерді анықтаған кезде қарым-қатынас қалай жасалады?
12. ТАҢДАУ нұсқауын пішімін сипаттаңыз.
13. SELECT нұсқаулығында қандай функцияларды пайдалануға
болады?
14. Сұраудың нәтижесін қалай топтауға болады?
15
. Сұраудың нәтижесін қалай шектей аламын?
16. Сұраудың нәтижесін қалай сұрыптаймын?
17. Кестелердің ішкі бірлестігі не деп аталады?
18. Сұрауларда HAVING тармағы қашан қолданылады?
289
19.
Неліктен ішкі сұраулар SINCULAR, EXISTS, ALL, SOME
бөлімдерін пайдаланады?
20. Кестелердің сыртқы қосылымы дегеніміз не және сыртқы
байланыс ішкі түрден қалай ерекшеленеді?
21. Генератор деген не?
22. Тригерлер не үшін қолданылады?
23. Қандай оқиғалар триггерді тудырады?
24. Сақталатын процедураларды және триггерлерді пайдаланудың
артықшылықтары қандай?
25. Триггерлер мен сақталатын рәсім арасындағы негізгі
айырмашылық қандай?
26. Индекстерді қашан жасау керек?
27. SQL арқылы кестеге жаңа жолдарды қалай қосуға болады?
28. SQL арқылы кестелердегі жолдарды қалай жоюға болады?
29. SQL кестесін пайдаланып, деректерді қалай өзгерте аламын?
30. SQL тілін қолданудың қандай артықшылықтары бар?
13
Тарау
ДЕРЕКТЕР БҮТІНДІГІН
ҚАМТАМАСЫЗ ЕТУ
13.1.
ТРАНЗАКЦИЯ МЕХАНИЗМІ
ДББЖ серверлік деректер базасымен жұмыс істеу үшін деректер
қорының тұтастығы мәселесінің айрықша маңыздылығын атап
өтті. Дерекқордың тұтастығымен дерекқорда бар ақпараттың ішкі
логикасына, құрылымына және барлық анық көрсетілген
ережелерге, яғни оның мазмұнының дұрыс құрылымына және
консистенциясына сәйкестігін түсінеміз. Адалдықты бұзу, мысалы,
бағдарламалық қателер немесе техникалық ақаулар арқылы
туындауы мүмкін, себебі бұл жағдайда жүйе қалыпты өңдеуді
немесе дұрыс деректерді беруді қамтамасыз ете алмайды.
Дерекқордың шектеулері жағдайында тұтастығын қамтамасыз ету
үшін, жеке операцияларды емес, транзакция механизмін
қамтамасыз ету керек.
Транзакция —
деректер әсер, деректерді манипуляциялау
операциялар реттілігі тұрғысынан, бөлінбейтін болып табылады.
Пайдаланушы үшін мәміле «барлығы немесе ештеңе» негізінде
жүзеге асырылады. операция толығымен жүзеге асырылады және
басқа дәйекті мемлекетке біртұтас (дәйекті) мемлекет дерекқорды
қояды және өзгерістер растайды (commit), немесе қандай да бір
себептермен мынадай мәміле бір мүмкін емес немесе жүйенің кез
келген бұзу, дерекқор бар болса, не алдын ала мәмілеге болған
бастапқы күйіне қайтару, яғни (rollback) транзакция түгел жұмыс
жасайды.
Бұл механизм келесідей жұмыс істейді. Әрбір транзакция
басталған кезде, олар бірегей бірегей нөмірін алады. Сондай-ақ,
операцияның түгендеу бет деп аталады, ішкі құрылымын
көшірмесін бар (TIP), ол үшін ол іске қосылған сәтте басқа
мәмілелер мәртебесі туралы ақпарат алады. Мәміле жолға әсер
еткенде
291
кестеде (өзгерту, қосу немесе жою және т.б.) сызықтың жаңа нұсқасы
жасалып, оны жасаған транзакцияның бірегей санымен белгіленеді. Енді
басқа транзакция осы деректер жолын қайтаратын жазбаларды алу үшін
сұрауды орындайтын кезде, сервер ең соңғы нұсқаны қайтарады.
Мәміленің тұжырымдамасы деректер қорының тұтастығы
тұжырымдамасымен тікелей байланысты. Жиі мәміле әртүрлі
кестелерге қатысты кестелерді қосу үшін әрекеттер жасалатын бірнеше
кестелердегі операцияларды біріктіреді. Жазбаларды бір кестеден
екіншісіне ауыстыруды қарастырайық.
Жазбаны бірінші кестеде жойылады, содан кейін екінші кестеде
сақталған болса, онда компьютер салдарынан электрмен жабдықтау
үзіліс мысалы орындамаған жағдайда, жылы, ол рекордтық өзінде
жойылған, бірақ екінші кестеге ала алмады, бұл кезде мүмкін болады.
Бірінші жазба екінші кестедегі сақталады, содан кейін бірінші кестеде
жойылады болса, онда істен рекордтық екі кестелерде болатынына
мүмкін.
Екі жағдайда да дерекқордың тұтастығы мен дәйектілігі бұзылған.
Осындай жағдайдың алдын алу үшін бір кестеден жазбаны жою және
оны басқа кестеге қою әрекеті бір операцияға біріктіріледі. Бұл
транзакцияның орындалуы кез-келген нәтиже арқылы дерекқордың
тұтастығы бұзылмайды.
Кейбір бақылау нүктелерін құрған кезде кірістірілген
транзакцияларды пайдаланудың құралдары бар және мәміле
транзакцияның басында емес, белгілі бір бақылау нүктесінде қайта
оралуы мүмкін.
Мәмілелер ұзақ және қысқа болуы мүмкін. Дерекқормен жұмыс
істегенде, клиент бағдарламалары ұзын және қысқа операцияны қолдана
алады. Ұзақ транзакция өте ұзақ уақыт бойы белсенді болып келеді. Осы
контексте деректер базасымен көптеген операциялар жасалуы мүмкін.
Бастапқы сәттен бастап оны растау немесе қайтару кезіне дейін
жасалған қысқа мәміле секундтың белсенді бөлшегі болып табылады.
Әдетте, осындай мәміленің контексінде дерекқорда шектеулі саны бар.
Ұзақ транзакциялар, әдетте, дерекқор деректерін оқу кезінде
пайдаланылады. Дерекқор кестелеріне өзгертулер жасасаңыз, қысқа
операциялар өте ыңғайлы.
Транзакциялық деректер базасын басқару жүйесіне қойылатын
талаптар төменде сипатталған:
292
Достарыңызбен бөлісу: |