Білім беру бағдарламасының студенттері үшін «деректер қорын басқару жүйелері»


Қателер туралы мәліметтерді хабарлау



бет34/42
Дата02.03.2023
өлшемі0,98 Mb.
#170760
түріБілім беру бағдарламасы
1   ...   30   31   32   33   34   35   36   37   ...   42
Байланысты:
Білім беру ба дарламасыны студенттері шін «деректер орын бас
Бағдарламалық қамтамасыз етуді әзірлеудің жіктлуі мен принциптер 1., 1 (1), Тарих, География, Қазақ тілі жауаптары

Қателер туралы мәліметтерді хабарлау.


Егер сақталған процедураларды орындау барысында қателер туралы мәліметтерді хабарлау керек болса, онда бұл хабарды RAISERROR инструкциясы арқылы орындауға болады..
RAISERROR инструкциясының базалық синтаксисі мынадай:

RAISERROR( хабар, қалпы, мәндер параметрлері1, … )


Хабарлау хатының жолдарының ұзындығы 8000 символдан тұруы мүмкін және 20-ға дейінгі параметрлері қосылады. Қосылу параметрлерінің спецификациясы % символдан басталады. Символдық параметрлер %s белгіленеді, ал бүтін сандар %d.
Хабарлау хатының мәні ретінде литералдарды енгізуге болады. Сіз берген мән хатқа енгізіледі де, бұл хабарлау шақырылған программаға жіберіледі.
Бақылау сұрақтары:
1. Сақталатын процедуралар деген не және қайда қолданылады?
2. Курсордың қолдануы дегеніміз не?
3. Триггерлер дегеніміз не?
4. Қателер туралы мәліметтерді хабарлау қандай инструкциямен жүзеге асырылады?


ДӘРІС 25-26.
Транзакциялар және құлыпталу
Жоспар:
1. Транзакция және құлыпталу туралы түсінік, олардың арасындағы байланыс.
2. Транзакциялармен басқару
3. Құлыптауларды басқару.


Транзакция және құлыпталу туралы түсінік, олардың арасындағы байланыс.


Бір уақытта бірнеше қолданушылар бір деректер базасымен жұмыс істейтін кездер болады. Сондай кезде бір қолданушы мәліметтергше өзгеріс енгізген жағдайда, басқа қолданышуларда кейбір әрекеттер дұрыс жұмыс жасамауы мүмкін. Мұндай қиындықтар тумас үшін SQL Server транзакция және құлыптау механизмі түсініктерін енгізді.
Транзакция – бұл Transact-SQL командасының реттелген жиынтығы. Бүтіндей орындалатын қисынды аяқталу блогы. Транзакцияда командалар саны шектелмеген және ол әрі қарай жұмыс істей береді. Тек транзакцияны итергенде ғана орындалмайды. Мұндай жағдайда жүйе қалпына келтіріліп барып, басынан бастап жұмыс жасалады. Жүйенің алғашқы қалпы туралы мәлімет транзакцияның журналында сақталған. Транзакцияға қосылған командалар жиыны келесі міндетті қанағаттандыру қажет:

  1. атомарность – транзакцияға қосылған командалар блогы тек тұтастай ғана орындалады немесе орындалмайды;

  2. келісім – транзакция орындалып болғаннан кейін, барлық мәліметтер келісім қалпында болу керек;

  3. шектеу – орындалып жатқан транзакцияның мәліметтерін өзгерту басқа транзакциялардың өзгеруіне қатысты болмайды, яғни әр түрлі өзгерістегі транзакцияларға шектеу қойылады. Транзакция мәліметтерді жұмысты бастамас бұрын қарайды немесе жұмыс аяқталғаннансоң көреді. Бір транзакция басқа транзакцияның өзгерткен мәліметін көрмейді.

  4. Тұрақтылық - транзакция аяқталғаннан кейін, жүйеде сақталынады және оны қайтадан қалыпқа келтіре алмайсың.

SQL Server өзіне құлып салады және оған басқа транзакциялардың құқығы болмайды.Соңғы транзакция аяқталғаннан кейін ғана басқаларына мәліметтері қол жетеді. Программист бір транзакция ретінде қандай командалар орындалу керек екенін анықтап алуы қажет. Кейбір құлыптау режимдері көп мөлшерде қолданушыларды қабылдамайды. Сол себепті жүйедегі бір келісімді қалыптан екіншісіне өтетін транзакциядағы командалар барынша аз болады.
Құлыпталу (блокировка) – бұл уақытша жанама шектеу. Құлыптау кестенің бір жолына ғана салынуы мүмкін. Құлыптауды басқарумен оның менеджері айналысады. Транзакция жұмыс жасап жатқан кезде ол автоматты түрде қосылып тұрады және керек кезде зонаның көлемін кеңейтеді. Бір мезгілде бір мәліметке бірнеше қолданушылар үшін, келесі төрт мәселе қаралады:

  1. Проблема туындайды, егер бірнеше транзакциялар бір жолды барлық жерде өзгерткен болса. Берілгеннің бір бөлігі жоғалады, себебі транзакция алдында орындалған транзакцияның мәліметін көшіріп отырады.

  2. «нашар» оқу проблемасы туындайды, егер бір транзакция қиын мәліметтерде көп өзгерістерді қажет ететін өңдеу операцияларын орындап жатса. Оның алдында берілген мәліметтер қисынды қалыпта болады. Егер осы уақытта екінші транзакция мәліметтерді санаса, онда дұрыс емес қисынды ақпаратты алуға болады.

  3. Қайталап оқылмайтын проблемасы туындайды, егер бірінші транзакция бір мәліметті бірнеше рет оқыса, ал екінші транзакция осы уақытта оған өзгертулер енгізіп жатса. Сонда бірінші транзакция қайталап оқығанда басқа мәліметтерді оқиды. Бұл жағдайда бірінші транзакцияның мәні актуалды болмайды және олардың негізіндегі жолдарды өзгерту қисынды келісілген мәліметтердің бұзылуына әкеліп соғады.

  4. «фантома» проблемасы – туындайды, егер бірінші транзакция кестеден мәліметтерді таңдаса, ал басқа транзация бірінші транзакцияның аяқталуына дейін жаңа жолдарды қояды.


Достарыңызбен бөлісу:
1   ...   30   31   32   33   34   35   36   37   ...   42




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

    Басты бет