|
1-bob. Ma`lumotlar bazasining asosiy tushunchalari
|
bet | 59/80 | Sana | 05.01.2024 | Hajmi | 281,59 Kb. | | #130407 |
Bog'liq 1-bob. Ma`lumotlar bazasining asosiy tushunchalari-fayllar.org
Agregat funksiyalar qo‘llanishiga misollar keltiring?
Guruhlash komandasi uchun so‘rov yozing.
Having bilan WHERE ni farqlarini keltiring.
Null qanday qiymat hisoblanadi?
Standart funksiyaga misollar keltiring?
Tranzaksiyalarni boshqarishda so‘rovlar yaratish va qayta ishlash.
SQL muhitida tranzaksiva tushunchasi. SQL tilida tranzaksiya deb, ma‘lumotlami tiklashga nisbatan ajralmas bo‘lgan operatorlar ketma-ketligiga aytiladi. SQL tilidagi har bir chaqirish moduli tranzaksiyadir. SQL tranzaksiyalari biror-bir modulning protseduralarini 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 SET TTRANSACTION 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 darajasini aniqlaydi. Tranzaksiyaning aniq darajasini o‘rnatish uchun SETTRANSACTION operatoridan foydalanishadi. Jimlik qoidasiga nisbatan SERIALIZABLE tartibi o‘rnatiladi. Himoyalanish darajalari tranzaksiyalarning parallel bajarilishida yuz berishi mumkin bo‘lgan hodisalami aniqlaydi.
Quyidagi ko‘rinishdagi hodisalar bo‘lishi mumkin:
PI (“Dirtyread" - "Yomon o‘qish"): T1 tranzaksiya qatori 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.
P2 (“Non-repeaiableread” - “Takrorlanmaydigan o‘qish"):T1 tranzaksiya qatomi o‘qiydi. Shundan so‘ng T2 tranzaksiya bu buyruqlar qatorini o‘zgartiradi yoki olib tashlaydi va COMMITni bajaradi.Shundan so‘ng T1 shu qatomi yana o‘qishga harakat qiladi, ammo bu qator birinchi holatdagi qator emas yoki olib tashlangani uchun topolmaydi.
РЗ ("Phantom" - "Fantom"): T1 tranzaksiya biror-bir shartni qanoatlantiradigan N qatomi 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, MB bilan ish jarayonida ma‘lumotlar butligi muhim o‘rin tutadi. Ma‘lumotlar butligi deganimizda, ma‘lumotlaming to‘g’riligi va mazmunan qarma-qarshi ma‘noga ega emasligi tushuniladi. Masalan, “O‘qituvchi” jadvalidagi har bir o‘zgarish “Yuklama” jadvalida ham qayd etilishi kerak. O‘qituvchining “Yuklama"jadvalida qayd etilmasligi ma‘lumotlar butligining buzilishiga olib keladi. Ko‘pchilik hollarada MBnin ma‘lumotlari butligini saqlashni tashkillashtirish uchun tranzaksiyalardan foydalanishadi. Umuman olganda tranzaksiya - bu mantiqan bo‘linmaydigan ish birligi. Bu jarayonda:
-yoki tranzaksiyaga kiruvchi barcha amallar MBda aks etadi;
-yoki bu amallar umuman bajarilmaydi.
Tranzaksiyaning bu xususiyati butlik shartining buzilmasligini ta‘minlaydi. Ko‘pgina MBBTda tranzaksiyalaming ikkita modeli ishlatiladi:
|
| |