Главная страница
Навигация по странице:

  • Зертханалық жұмыс №3 бойыншаЕСЕП БЕРУ

  • 3 зертханалық жұмыс.

  • Қысқаша мәлімет

  • Жұмыстың орындалуы

  • транзакция. 3 ЗЖ. Ерсайынова Н.. Зертханалы жмыс 3 бойынша есеп беру


    Скачать 0.75 Mb.
    НазваниеЗертханалы жмыс 3 бойынша есеп беру
    Анкортранзакция
    Дата02.03.2023
    Размер0.75 Mb.
    Формат файлаdocx
    Имя файла3 ЗЖ. Ерсайынова Н..docx
    ТипДокументы
    #964456

    «Ғұмарбек Дәукеев атындағы Алматы энеретика және байланыс университеті»

    коммерциялық емес акционерлік қоғамы

    Ақпараттық технологиялар институты

    Ақпараттық жүйелер және киберқауіпсіздік кафедрасы
    Зертханалық жұмыс №3

    бойынша

    ЕСЕП БЕРУ

    Пәні: SQL-ды пайдаланып корпоративті ақпараттық жүйелерді құру

    Тақырыбы: Транзакцияларды құру және басқару

    Білім беру бағдарламасы: 6В06102–«Ақпараттық жүйелер»

    Орындаған: Ерсайынова Н.

    Тобы: ИС(СМВР)к 20- 2

    Тексерген: Кенесканова Арайлым

    Алматы 2023

    3 зертханалық жұмыс. Транзакцияларды құру және басқару
    Жұмыстың мақсаты: Транзакция механизмі мен бақылау нүктелері арқылы SQL серверінің сенімді жұмысын қамтамасыз ету жолдарын зерттеу, әртүрлі түрдегі жергілікті және таратылған транзакцияларды басқару дағдыларын игеру және транзакциялар журналының физикалық және логикалық архитектурасымен және дерекқорды қалпына келтіру әдістерімен танысу.
    Қысқаша мәлімет:

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

    Бірақ алдымен біз мысал үшін сынақ деректерін жасауымыз керек.
    Ол үшін келесі нұсқауларды орындаңыз.


    1-сурет. 1 нұсқаулық
    Бұл мысалда бізде деректерді өзгертетін екі нұсқаулық бар, бірақ олар бір-бірімен байланысты делік, яғни екеуі де міндетті түрде бірге орындалуы керек немесе бірге орындалмауы керек.
    Сондықтан біз бұл нұсқауларды бір транзакцияға біріктіруді шештік.
    Алдымен біз транзакцияны BEGIN TRANSACTION командасымен ашамыз, содан кейін транзакцияға біріктіргіміз келетін барлық қажетті нұсқауларды жазамыз.
    Осыдан кейін COMMIT TRANSACTION командасымен біз енгізілген барлық өзгерістерді сақтаймыз.
    Бұл жағдайда бізде ешқандай қателік жоқ, барлық нұсқаулар сәтті орындалды. Нәтижесінде транзакция сәтті аяқталды және барлық өзгертулер COMMIT TRANSACTION командасымен тұрақты түрде сақталады.


    2-сурет. 2 нұсқаулық
    Алайда, егер кез-келген нұсқаулықта қате пайда болса, транзакция аяқталмайды және барлық өзгерістер сақталмайды.
    Мысалы, егер екінші нұсқаулықта price бағанына қандай да бір мәтіндік мәнді жазуға тырыссақ, онда бізде қате пайда болады және бірінші нұсқаулықта Енгізілген өзгерістер тұрақты түрде тіркелмейді.



    3-сурет. Нұсқаулықта қате орын алуы
    T-SQL тілінде қателерді ұстау және өңдеу механизмі бар-TRY... CATCH дизайны.
    Бұл дизайнды транзакция ішіндегі ықтимал қателіктердің пайда болуын бақылау үшін пайдалануға болады және мұндай қателер пайда болған жағдайда белгілі бір әрекеттерді орындауға болады.
    Алдымен біз қателерді өңдеу блогын ашамыз, содан кейін транзакцияны BEGIN TRANSACTION пәрменімен ашамыз, содан кейін нұсқауларымызды жазамыз, мысалы, бірдей екі жаңарту нұсқаулары.
    Осыдан кейін біз TRY блогын жабамыз, catch блогын ашамыз, егер қате пайда болса, біз барлық өзгерістерді ROLLBACK TRANSACTION командасымен қайтарамыз. Сондай-ақ, біз RETURN командасымен нұсқаулықты мәжбүрлеп аяқтаймыз.
    Егер қателер болмаса, біз сәйкесінше CATCH блогына кірмейміз және барлық өзгерістерді сақтайтын COMMIT TRANSACTION пәрменін орындаймыз.
    Бұл мысалда ешқандай қате жоқ, сондықтан транзакция сәтті аяқталды.



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



    5-сурет. Транзакцияда қателіктің орын алуы

    Қорытынды
    Мен, бұл №3 зертханалық жұмыста транзакцияларды құру және басқару туралы үйрендім. Транзакциялар деректердің тұтастығын қамтамасыз етудің тамаша механизмі болып табылады. Транзакцияның 4 өте маңызды қасиеті бар:

    • Атомдық-транзакциядағы барлық командалар толығымен орындалады және сәйкесінше деректердің барлық өзгерістері жазылады немесе ештеңе орындалмайды және ештеңе бекітілмейді;

    • Сәйкестік-деректер, транзакция сәтті орындалған жағдайда, дерекқорда анықталған әртүрлі шектеулер, бастапқы және сыртқы кілттер бөлігінде барлық белгіленген ережелерді сақтауы керек;

    • Оқшаулау-деректерге қол жеткізуді қамтамасыз ету механизмі. Транзакция басқа транзакциялар тек келісілген деректерді алуы үшін жұмыс істейтін деректерді оқшаулайды;

    • Сенімділік - енгізілген барлық өзгерістер транзакциялар журналында жазылады және егер транзакция сәтті аяқталған болса, деректер сенімді болып саналады.


    написать администратору сайта