Bazasi boshqarish


SQL muhitida tranzaksiya tushunchasi


Download 2.13 Mb.
Pdf ko'rish
bet106/153
Sana20.10.2023
Hajmi2.13 Mb.
#1710944
1   ...   102   103   104   105   106   107   108   109   ...   153
Bog'liq
61dbf61e8b8af1.76566515

SQL muhitida tranzaksiya tushunchasi 
Tranzaksiyabu ma’lumotlar bilan manipulyatsiya qilib ketma-
ket operatsiyalar yordamida MBBTga ta’sir etishdir. Tranzaksiya 
to‘liq bajariladi va ma’lumotlar bazasini bir butun holatdan ikkinchi 


172 
bir butun holatga o‘tkazadi, biror xatolik yuz bersa, ma’lumotlar 
bazasi boshlang‘ich holatiga qaytadi. 
Ma’lumotlarni aniqlash operatorlari - ma’lumotlar bazasi 
jadvalini tuzish, o‘zgartirish yoki o‘chirish, indeks tashkil qilish 
(ma’lumotlarni tez izlab topish vositasi), har xil foydalanuvchilar 
bilan ishni tashkil qilish va boshqalarni amalga oshiradi. 
Ma’lumotlar ustida manipulyatsiya qilish operatorlari — 
ma’lumotlar bazasiga yozuvni qo‘shish, o‘chirish yoki yangilash 
imkonini beradi. 
SQL tilida tranzaksiya deb, ma’lumotlami tiklashga nisbatan 
ajralmas bo‘lgan operatorlar ketma-ketligiga aytiladi. SQL tilidagi har 
bir chaqirish moduli tranzaksiyadir. SQL tili tranzaksiyalari biror-bir 
modulning proseduralarini bajarishdan boshlanadi. COMMIT yori 
ROLLBACK operatorining bajarilishi bilan tugaydi. Agar tranzaksiya 
ROLLBACK operatori bilan tugasa, prtoseduradagi barcha qilingan 
amallar bekor qilinadi. 
Har bir tranzaksiyaning “faqat o‘qish” yoki “o‘qish va yozish” 
tartiblari mavjud. Tranzaksiya tartiblari SETTTRANSACTION 
operatori yordamida o‘rnatiladi. Jimlik qoidagisa nusbatan ‘‘o‘qish va 
yozish” tartibi o‘rnatiladi. “Faqat o‘qish" tartibi doimo saqlanadigan 
bazaviy ma’lumotlarga qo‘llaniladi. 
Har bir SQL tranzaksiyasi himoyalanish darajasiga ega:
READUNCOMMITTED, 
READCOMMITTED, 
REPEATABLEREAD yoki SERIALIZABLE. SQL tranzaksiyasi 
himoyalanish darajalari bajarilayotgan tranzaksiyaning boshqa 
parallel bajarilayotgan tranzaksiyalarga ta’sir etish daragasini 
aniqlaydi. 
Tranzaksiyaning 
aniq 
darajasini 
o‘rnatish uchun 
SETTRANSACTION operatoridan foydalanishadi. Jimlik qoidasiga 
nisbatan SERIALIZABLE tartibi o‘rnatiladi.Himoyalanish daragalari 
tranzaksiyalarning parallel bajarilishida yuz berishi mumkin bo‘lgan 
hodisalami aniqlaydi. Qyuidagi ko‘rinishdagi hodisalar bo‘lishi 
mumkin: 
1. 
PI (“Dirtyread" - "Yomon o‘qish"): T1 tranzaksiya qatorni 
yaratadi. Keyin T2 tranzaksiya T1 COMMIT amalini bajarmasdan bu 
qatorni o‘qiydi. Shundan so‘ng T1 ROLLBACK amalini bajarsa, T2 
tranzaksiya umuman mavjid bo‘lmagan qatorni o‘qigan bo‘lib 
chiqadi. 
2. 
P2 (“Non-repeaiableread” - “Takrorlanmaydigan o‘qish"): T1 


173 
tranzaksiya qatorni o‘qiydi. Shundan so‘ng T2 tranzaksiya bu 
buyruqlar qatorini o‘zgartiradi yoki olib tashlayda va COMMITni 
bajaradi. Shundan so‘ng T1 shu qatorni yana o‘qishga harakat qiladi, 
ammo bu qator birinchi holatdagi qator emas yoki olib tashlangani 
uchun topolmaydi. 
3. 
РЗ ("Phantom"-"Fantom"): T1 tranzaksiya biror-bir shartni 
qanoatlantiradigan N qatorni o‘qiydi. Shundan so‘ng T2 tranzaksiya 
bu qatorlar ichidan bir yoki bir nechta qator shartlarini generatsiya 
qiladi. Agar shu ishlardan keyin T1 o‘qishni qaytarsa, u butunlay 
boshqa qatorlarga ega bo‘ladi, 
To‘rtala himoyalanish daragalari P1,P2 va P3 hodisalarga 
nisbatan quyidagicha ta’sirga ega: 
12.1-jadval. Himoyalanish daragalari 

Download 2.13 Mb.

Do'stlaringiz bilan baham:
1   ...   102   103   104   105   106   107   108   109   ...   153




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling