Tranzaksiyalarni boshqarish. OperatorlarTranzaksiyaSQLtranzaktsiyalar bilan ishlash
ANSI / ISO operatorlari aniqlangan MAVJAT QILING va ORTAGA OLISH, standartda tranzaktsiyaning boshlanishi ma'lumotlarni o'zgartirishning birinchi operatori tomonidan bevosita ko'rsatilgan; Operator MAVJAT QILING tranzaksiyaning muvaffaqiyatli yakunlanishini bildiradi, operatsiya natijalari tashqi xotiraga yoziladi; operator operatsiyani tugatganida ORTAGA OLISH bitim natijalari bekor qilinadi. Tranzaktsiya boshlangan dasturning muvaffaqiyatli yakunlanishi tranzaksiyaning muvaffaqiyatli yakunlanishini anglatadi (go'yo operatorMAVJAT QILING ), muvaffaqiyatsiz tugallanish - tranzaktsiyani bekor qiladi (go'yo operator ishlatilgandek).ORTAGA OLISH ). Ushbu modelda ma'lumotlarning holatini o'zgartiruvchi har bir bayonot tranzaksiya hisoblanadi. Ushbu model tijorat DBMSning birinchi versiyalarida amalga oshirilgan. Keyinchalik SYBASE ma'lumotlar bazasida kengaytirilgan tranzaksiya modeli joriy etildi.
Tranzaksiyalarni boshqarish. Kengaytirilgan tranzaksiya modelida (masalan, SQL SERVER ma'lumotlar bazasida) bir qator qo'shimcha operatsiyalar taqdim etiladi:
· operator OMONTAJNI BOSHLASH tranzaktsiyaning boshlanishi haqida xabar beradi;
· operator OMONTAJNI BAJARISH operatsiya muvaffaqiyatli yakunlanganligi haqida xabar beradi. Ushbu operator, shuningdek, ANSI / ISO standart modelidagi COMMIT tranzaktsiyani amalga oshirish paytida ma'lumotlar bazasiga kiritilgan barcha o'zgarishlarni tuzatadi;
· operator Tranzaksiyani SAQLASH tranzaksiya ichida ushbu bayonotni bajarish vaqtida saqlangan ma'lumotlar bazasining oraliq holatiga mos keladigan saqlash nuqtasini yaratadi. Operatorda Tranzaksiyani SAQLASH saqlash nuqtasi nomi bo'lishi mumkin, shuning uchun tranzaktsiyani amalga oshirish jarayonida bir nechta oraliq holatlarga mos keladigan bir nechta saqlash nuqtalari saqlanishi mumkin;
Tranzaksiyalarni boshqarish. Tranzaksiyaga misol:
TRANNI BOSHLASH
Hisobni YANGILASH
SET balansi = balans - 100
Agar @@ xato = 0 bo'lsa
BOSHLASH
ORTAGA BERISH TRAN
QAYTISH
OXIRI
karta_hisobini YANGILASH
SET balansi = balans + 100
QAYERDA account_number=@s _hisob
Agar @@ xato = 0 bo'lsa
BOSHLASH
ORTAGA BERISH TRAN
QAYTISH
OXIRI
Tranzaksiyalarni boshqarish. Yalang'och yangilanish jurnali quyidagi tranzaksiyani bajarish mexanizmini nazarda tutadi:
1. T1 tranzaktsiyasi boshlanganda protokolga yozuv kiritiladi
T1 Boshlash Tranzaksiya
2. Bitimni amalga oshirish jarayonida har bir o'zgartirilgan yozuv uchun protokolda yangi qiymat qayd etiladi.
T1. ID _ YOZISH , atribut, yangi qiymat
(ID _ YOZISH - noyob rekord raqam)
Etiboringiz uchun raxmat !