1. Ma‘lumotlarni normallashtirish deganda nima tushuniladi?
2. Qanday normal formalar mavjud?
3. Normal forma?
4. Normallashtirish protsedurasi?
5. Ma’lumotlar sxemasini yaratish.
7 – MA’RUZA.
TRANZAKSIYALAR VA MA’LUMOTLAR BAZASINING TO’LIQLILIGI.
Reja:
Tranzaksiya va uning xususiyatlari.
Tranzaksiya mexanizmi.
Tayanch tushunchalar: Tranzaksiya, To’laqonlilik, kuchga kiruvchanlik, Ihotalanganlik, SQL
1. Ma’lumotlar bazasi serveridagi asosiy amallardan biri tranzaksiya hisoblanadi, yoxud serverdagi ma’lumotlarning o’zgartirilishi tranzaksiyalar ko’rinishida ro’y beradi.
Тranzaksiya so’zi inglizcha ikki so’zning qo’shilishi oqibatida yuzaga kelgan (transformation action – o’zgartirish amali (harakati)). Ya’ni tranzaksiya – bu ma’lumotlar bazasini bir to’laqonli holatdan ikkinchi to’laqonli holatga o’zgartiruvchi operatsiya yoki operatsiyalar guruhidan iborat. Тranzaksiya 4 asosiy xususiyat bilan tavsiflanadi:
Bo’linmaslik (atomarlilik xususiyatiga ega bo’lish, Atomicity) – «hammasi yoki hech qaysisi» xususiyati, ya’ni tranzaksiyaning ma’lum bir qismini bajarish mumkin emas, uni to’laligicha bajarish yoki umuman bajarmaslik zarur bo’ladi. Ushbu xususiyatga quyidagicha aniqlik kiritish mumkin. Masalan, ma’lumotlar bazasida bir hisob raqamidan ikkinchisiga ma’lum miqdordagi pul o’tkazilishi zarur. Mazkur amal ikki operatsiyadan iborat bo’ladi:
- birinchi hisob raqamidan ko’rsatilgan miqdordagi pulni olish;
- ikkinchi hisob raqamiga ko’rsatilgan miqdordagi pulni qo’shib qo’yish.
Agarda faqat birinchi operatsiya bajariladigan bo’lsa, ko’rsatilgan miqdordagi pul butunlay yo’qolib qoladi, ya’ni barcha hisob raqamlaridagi pullar miqdori kamayadi va balans o’zgaradi. Shuning uchun, birinchi operatsiya bajarilgandan so’ng ikkinchi operatsiyani bajarish mumkin emasligi ma’lum bo’lib qolsa, birinchi operatsiya ham inkor qilinadi va ma’lumotlar bazasi o’zining dastlabki holatiga qaytariladi.
Тo’laqonlilik (Consistency) – tranzaksiya ma’lumotlar bazasini bir to’laqonli holatdan boshqasiga o’tkazishi zarur. Тo’laqonlilik ma’lumotlar bazasi rioya etishi zarur bo’lgan mantiq bilan belgilanadi va uni axborot tizimi ta’minlab beradi.
Ihotalanganlik (Isolation) – tranzaksiya serverda o’zi bilan birgalikda bajarilayotgan boshqa tranzaksiyalardan bexabar bo’lishi (ularni bilmasligi, ko’rmasligi) kerak.
Kuchga kiruvchanlik (Durability) – tranzaksiya tomonidan bajarilgan o’zgartirishlar albatta kuchga kirishi zarur.
Adabiyotlarda bu xususiyatlar jamlanmasi ACID – xususiyatlar deb nomlanadi.
Umuman olganda, har bir so’rov alohida bir tranzaksiya hisoblanadi.
Тranzaksiya faqat maxsus tasdiqlash amali (commit) bajarilgandan so’ngra amalga oshirilgan hisoblanadi. Bu paytgacha boshqa foydalanuvchilar tranzaksiya natijalaridan bexabar bo’lishadi. Тasdiqlanmagan tranzaksiya faol tranzaksiya deb nomlanadi.
Ma’lumotlar bazalariga oid boshqa tushunchalar, ularni yaratish uchun asos bo’lgan ma’lumotlar modeli va qo’llanilgan boshqaruv tizimi bilan uzviy bog’liq. Bu tushunchalarni to’laqonli tasavvur etish uchun, albatta, ma’lumotlarni modellash hamda ma’lumotlar modellari masalalari bilan atroflicha tanishish zarurati seziladi.
2. Ma’lumotlar bazasi ma’lumotlari istalgan vaqtda to’liq va himoyalangan bo’lishi lozim. Buni ta’minlash yo’llaridan biri tranzaksiya mexanizmidan foydalanishdir.
Tranzaksiya jarayonlarni bajarishda ikki holat bo’lishi mumkin:
Barcha jarayonlar muvaffaqiyatli yakunlansa, tranzaksiya jarayoni ham muvaffaqiyatli hisoblanadi va ma’lumotlar bazasida tranzaksiya doirasida alohida jarayon sifatida qilingan barcha o’zgarishlar tasdiqlanadi. Natijada ma’lumotlar bazasi muayyan yaxlit holatdan boshqasiga o’tadi.
Lokal tarmoqda bitta jarayon muvaffaqiyatsiz yakunlansa, barcha tranzaksiya muvaffaqiyatsiz hisoblanadi va barcha jarayonlarning bajarilishi (hatto muvaffaqiyatli yakunlanganlarning ham) natijalari bekor qilinadi. Natigada ma’lumotlar bazasi tranzaksiya boshlanishida qanday bo’lsa, o’sha holatga qaytadi.
Shunday qilib, muvaffaqiyatli tranzaksiya ma’lumotlar bazasini bitta yaxlit holatdan boshqasiga o’tkazadi. Tranzaksiya mexanizmidan foydalanish quyidagi holatlarda zarur:
Ma’lumotlar bazasi bilan o’zaro bog’liq jarayonlar amalga oshirishda;
Ma’lumotlar bazasiga ko’p maqsadli vazifalar bilan kirishda.
Tranzaksiya avtomatik tarzda yoki dasturchi tomonidan amalga oshirilishi mumkin. Avtomat tarzdagi tranzaksiya avtomat ravishda ishga tushadi, tugaganidan keyin ham avtomat ravishda yakunlanadi yoki bekor qilinadi. Dasturchi tomonidan amalgam oshiriladigan tranzaksiyani dasturchi Database va SQL vositalari unsurlaridan foydalanib bajaradilar.
Jadvallar o’rtasida bog’lanishlarga o’zgartirishlar kiritish jarayonida tranzaksiyalash qo’llaniladi. Yozuvlar bitta jadvaldan boshqasiga o’tishi mumkin. Agar yozuv dastlab birinchi jadvaldan o’chirilsa, keyin ikkinchi jadvalga kiritilsa, ish to’xtab qolsa, masalan, kompyuterni quvvat bilan ta’minlashda uzilish ro’y bersa,
Yozuv birinchi jadvaldan olib ikkinchisiga o’tkazilmagani singari holat yuzaga kelishi mumkin. Agar yozuv dastlabki ikkinchi jadvalga kiritilsa, keyin birinchi jadvaldan olib tashlansa, kompyuter ishlashidagi uzilish natijasida yozuv ikki jadvalda ham bo’lishi mumkin. Har ikki holatda ham ma’lumotlar bazasi yaxlitligi buzilishi ro’y berishi mumkin.
Bunday vaziyatlarni oldini olish uchun yozuvni bitta jadvaldan olib, ikkinchisiga kiritish jarayoni bitta tranzaksiyaga birlashtiriladi. Bunday tranzaksiya bajarilishi uning natijasidan qat’iy nazar ma’lumotlar bazasining yaxlitligi buzilmasligini kafolatlaydi.
Tranzaksiya mexanizmini qo’llash zarurligini isbotlaydigan yana bir misol mahsulotni omborxonada hisobga olish hisoblanadi. Omborxonaga mahsulot kelganda unga tegishli bo’lgan jadvalga nomi, miqdori va keltirilgan sanasiga oid ma’lumotlar yozuvi kiritiladi. Keyin omborxona jadvalida keltirilgan mahsulot miqdoriga mos ravishda ayni mahsulotning mavjud miqdori ko’paytiriladi. Mavjud mahsulot miqdori yozuvi bilan bog’liq biron – bir xatolik yuzaga kelganda, yangi qiymat kiritilmasligi mukin, natijada ma’lumotlat bazasi yaxlitligi buziladi va ahamiyatsiz tus oladi. MBBT tranzaksiyasi mexanizmini amalga oshirish uchun tegishli vositalar taqdim etiladi.
Nazorat savollari:
Tranzaksiya nima?
Tranzaksiya xususiyatlarini sanab bering.
ACID – xususiyatlar deb nimaga aytiladi?
Tranzaksiya jarayonlarni bajarishda qanday xolatlardan foydalaniladi?
Tranzaksiya mexanizmi nima va u qanday xolatlardan foydalaniladi?
8 – MA’RUZA.
TRANZAKSIYALARDA PARALLELIZM VA MA’LUMOTLARNI TIKLASH.
Reja:
Тranzaksiyalarni boshqarish operatorlari.
So’rovlarga ishlov berishning bazaviy texnologiyalari.
Tayanch tushunchalar: server, commit, rollback, savepoint, fayl serveri, mijosserver, clipper, foxpro, IBM PC, mahalliy hisoblash tarmoqlari (MHТ), differensial fayllar (DF), tranzaksiya, ma’lumotlar bazasini boshqarish tizimlalri (MBBT).
Тranzaksiyalarni boshqarish operatorlari
Operator
|
Ma’nosi
|
Amal
|
COMMIT
|
Тranzaksiyani tugatish
|
Тarnzaksiyani tashkil qiluvchi ma’lumotlarni qayta ishlovchi murakkab va o’zaro bog’langan amalarni tugatish
|
ROLLBACK
|
Тranzaksiyani bekor qilish
|
Тranzaksiya bajarilishi natijasida yuz bergan o’zgarishlarni bekor qilish
|
SAVEPOINT
|
Тarnzaksiya bajarilishida oraliq nuqta saqlash
|
MB ni oraliq xolatini saqlash. Bu keyinchalik shu xolatga qaytish uchun zarur bo’ladi.
|
So’rovlarga ishlov berishning bazaviy texnologiyalari
Ma’lumotlarni boshqarishning amaliy dasturlari ularga taqsimlangan ishlov berish uchun zarur vosita hisoblanadi. Тarmoqning mijoz-server arxitekturasi turli amaliy dasturlarga bir vaqtning o’zida umumiy ma’lumotlar bazasidan foydalanish imkonini beradi. Shu narsa ravshanki, ma’lumotlarni boshqarish dasturlarini ishchi stansiyalaridan serverga ko’chirish ishchi stansiyalari resurslari ortishiga yordam beradi, ko’proq xususiy, mahalliy vazifalarni bajarish imkonini beradi. Ushbu arxitektura shuningdek ma’lumotlarni boshqarishning ma’lumotlar bazasini muhofazalash, ma’lumotlarning butunligini (yaxlitligini) ta’minlash, resurslardan birgalikda foydalanishni boshqarish kabi bir qator muhim funksiyalarini markazlashtirish imkonini beradi.
Ma’lumotlarga tarmoqda ishlov berishda mijoz-serveri arxitekturasining muhim afzalliklaridan biri so’rovlarni amalga oshirish vaqtini qisqartirish imkoniyatidir. Buning tasdig’i sifatida tarmoq mijoz-serveri arxitekturasida axborotga ishlov berishning ikkita bazaviy texnologiyasini va an’anaviy bo’lgan fayl-serverdan foydalanish texnologiyasini ko’rib chiqamiz.
Aytaylik, ma’lumotlar bazasining amaliy dasturi ishchi stansiyasida ishga tushirilgan va foydalanuvchiga ba’zi izlash shartlariga javob beradigan barcha yozuvlarni olishi zarur. An’anaviy fayl serveri muhitida ishchi stansiyasida bajariladigan ma’lumotlarni boshqarish dasturi ma’lumotlar bazasining har bir yozuvi serveriga so’rov yuborishi zarur bo’ladi (3.19a-rasm). Ishchi stansiyasidagi ma’lumotlarni boshqarish dasturi yozuv izlash shartlariga javob berishini faqat u ishchi stansiyasiga uzatilgandan so’nggina aniqlashi mumkin.
Axborotga ishlov berishning ushbu texnologik varianti ma’lumotlarni tarmoq kanali bo’ylab uzatishga ko’p vaqt sarflaydi.
Mijoz-server muhitida esa, aksincha, ishchi stansiyasi ma’lumotlar bazasi serveriga yuqori darajali so’rov yuboradi. Ma’lumotlar bazasi serveri diskda yozuvlarni izlaydi va ularni tahlil qiladi. So’rov shartlariga javob beradigan yozuvlar serverda to’planishi mumkin. So’ngra so’rov to’la bajarib bo’lingandan keyin ishchi stansiyasidagi foydalanuvchiga izlash shartlariga javob beradigan barcha yozuvlar uzatiladi (3.19,b-rasm).
Ushbu texnologiya tarmoq trafigini pasaytirish va tarmoqning o’tkazish qobiliyatini oshirish imkonini beradi. Buning ustiga diskdan foydalanish va ma’lumotlarga ishlov berish operatsiyalarini bir tizimda bajarish hisobiga server so’rovlarga ishchi stansiyasida ishlov berilgandan ko’ra tezroq ishlov berish va izlashni ta’minlaydi.
O’zgaruvchanlik darajasiga ko’ra barcha MBni ikki sinfga bo’lish mumkin:
A – shartli-doimiy (asosan ma’lumotnomalar tizimi uchun);
B – kuchli dinamik (bank, birja tizimlari uchun va h.k.).
Birinchi va ikkinchi sinf MBni yuritish uchun MBBТdan foydalaniladi, ular bir-biridan ham funksional imkoniyatlar ham ishlatish tavsiflari bo’yicha ancha farq qiladi.
Masalan,
· shartli-doimiy MB uchun eng muhim ko’rsatkichlar so’rovlarga ishlov berish tezligi va MB bo’yicha chiqish hisobotlarini tuzish tezligidir, tranzaksiyalarni ishlash tezligi va MB ning butunligini nazorat qilish kabi ko’rsatkichlar unchalik muhim bo’lmaydi;
· o’ta kuchli MB uchun, tranzaksiyalarning ishlash tezligi, hisobotlarni tuzish tezligi, MB ning butunligini nazorat qilish imkoniyati, tranzaksiyalar va o’qish bo’yicha kelishilganlik kabi ko’rsatkichlar birinchi o’ringa chiqadi. Bu yerda so’rovlarga ishlov berish tezligi unchalik muhim emas.
Shuning uchun ham har qanday MBBТ turli sinfdagi MB bilan ishlashda birdek muvaffaqiyatli qo’llanavermaydi. CLIPPER, FOXPRO kabi tizimlar birinchi sinf MB-(A) larga mo’ljallangan va bunda yaxshi natijalar mavjud, Informix kabi MBBТ va boshqalar sanoatda qo’llanilishi uchun yaratilgan.
Yuqorida aytib o’tilganlardan shunday xulosa kelib chiqadi: qanday qilib har ikki (A) va (B) sinf talablarini qondiradigan eng maqbul yo’lni topish mumkin. Bu bir-biriga qarama-qarshi bo’lgan masalaning yechimi ma’lumotlar bazasining fayllarini differensial tashkillashtirishdan yoki differensial fayllardan (DF) foydalanishdan iborat.
Keyingi vaqtda MBBТ ishlab chiqaruvchi yetakchi firmalar DF g’oyasidan foydalanishga kirishdilar. Quyidagi omillar bunga sabab bo’ldi:
· IBM PC da hal qilinadigan masalalar sinfi ancha kengaydi, endi «shaxsiy kompyuter» atamasi haqiqatga mos kelmay qoldi;
· mahalliy hisoblash tarmoqlarining (MHТ) keng tarqalganligi;
· ko’p odam foydalanadigan va ko’p vazifali tizimlarning ishlab chiqilishi;
· EHM texnika bazasining (asosan disk xotirasining) jadal rivojlanishi.
MB va MHТ ga nisbatan qo’llanishda DF ning mohiyatiga to’xtalib o’tamiz. Тurli MHТ g’oyasini amalga oshirish MBBТ larida ancha farq qiladi. DF g’oyasi o’z ichiga uchta qoidani oladi:
· ma’lumotlar bazasi har qanaqasiga yangilangan hollarda ham MB ning asosiy fayli o’zgarishsiz qoladi, ya’ni MB ning har qanday o’zgarishlari maxsus o’zgarishlar fayli – DF da sekin-asta to’planib boradi;
· uning uchun hech qanday indekslar tuzilmaydi va saqlab turilmaydi
· DFning o’lchami ancha kattalashib, muayyan o’lchamga (MB ning taxminan 24-40%) yetganda ma’mur qulay vaqt topib paket rejimida barcha o’zgarishlarni MB ning asosiy fayliga kiritadi.
DF ning afzalliklariga MB ning yuqori daraja ishonchliligi, butunligini va tranzaksiyalarning ishlash tezligini ta’minlashni kiritish mumkin.
DF dan foydalanilganda tranzaksiyalar ishlashining qanday tezligini ta’minlash mumkin degan savol muhim ahamiyat kasb etadi. MB bunday tashkil etilganida tranzaksiyalarning ishlash tezligi o’nlab marta ortadi. Bunda ma’lumotlar bazasining serveri oddiy fayl-serverni eslatadi.
Indekslarga kelganda esa ularni saqlab turish muammosi yo’q (MB da yozuvlarni qo’shish, o’chirish va modifikatsiya qilish tezligi eng yuqori darajada bo’ladi). MB ga qo’shimchalar kiritish oddiy faylga qo’shimchalar kiritishdan farqlanmaydi. MB yozuvlarini yangilash vaqti MB ning o’lchamiga, kalitlarning uzunligiga, ularning soniga bog’liq emas. Blokirovkaga vaqt sarfi (MB va MHТ larining eng nozik joylaridan biri) imkon qadar kamaytirilgan. O’qish bo’yicha ma’lumotlarning kelishilganligini ta’minlash uchun jadvalni butunlay blokirovkalash zaruriyati yo’q, bir qator MBBТ da shunday bo’ladi, ya’ni so’rov (hisobotni tuzish) bajarila boshlanganda MBBТ DF dagi katta manzilni «eslaydi» (bir zumda rasmga olish kabi). Bunda o’z so’rovini initsializatsiyalovchi foydalanuvchi «o’z vaqti»ni kutib o’tirishga majbur emas. U foydalanuvchilardan hech birini «ko’rmaydi» va MB ning rasmini aynan shu vaqtning o’zida oladi. Keyin so’rov bajarilib borgani sayin (hatto juda tez) yozuv-maqsadlarning bir qismi o’zgartirilishi yoki o’chirib tashlanishi mumkin bo’ladi. Bu DF katta manzillarida o’z aksini topadi, shuning uchun MBBТ so’rovni bajarish boshlangandan keyin bo’ladigan ma’lumotlarning har qanday o’zgartirilishini e’tiborga olmaydi.
MB ga tushgan murakkab va uzoq muddatli so’rovlarni tuzatish kafolatlanadi, ya’ni o’qish va tranzaksiyalar bo’yicha kelishuv ta’minlanadi. Bunda MB da izlash qanday olib boriladi? Bu holda assotsiator bo’yicha ko’plab yozuv-maqsadlar, ularning asosiy MB dagi manzillari soni va ro’yxati topiladi, shundan so’ng DF «assotsiatori»ning o’qishi boshlanadi va bu ro’yxat tuzatiladi. Shu tuzatish hisobiga izlash vaqti oshadi, bunda uning kattaligi DF o’lchamiga bog’liq bo’ladi. MB ni o’z vaqtida yangilash MB ma’muri zimmasiga yuklatilgan bo’ladi. DF bilan bog’liq sarf-xarajatlarni istisno etishda MB dagi o’zgarishlarni ularga paket usulida ishlov berish uchun to’plash va DF ni izlashda hisobga olmaslik mumkin. Bir qator tizimlarda, masalan bank tizimida, yangilash – «nazorat qilinadigan kechikish» sikllari o’rtasida aniqlikning birmuncha yo’qotilishiga yo’l qo’yiladi. Yuqoridagilardan tashqari, DF dan foydalanish quyidagilarni ta’minlaydi:
· ma’murga tasodifan o’chirib yuborilgan yozuvlarni qayta tiklash imkoniyati berilishini;
· indeksli fayllarni ISning o’zida saqlash (zaruriyat bo’lsa) imkoniyatini;
· taqsimlangan MBni yaratish imkoniyatini;
· tranzaksiyalarning bir vaqtda bajarilishini.
Ma’lumotlarning bir-biriga zid bo’lmasligi yozuvlar pog’onasida egallash mexanizmi bilanta’minlanishi mumkin. Ma’lumotlarning bir- biriga zid kelmasligi (noziddiyatliligi) yozish pog’onasidagi tutib olish mexanizmi- istalgan mumkin bo’lgan kiritilishlardagi tranzaksiyalarning qaytib tushishi bilan ta’minlanadi.
Nazorat savollari:
Тranzaksiyalarni boshqarish operatorlarini sanab bering.
O’zgaruvchanlik darajasiga ko’ra barcha ma’lumotlar bazasi necha sinfga bo’linadi?
DF ning afzalliklari.
Foydalanilgan adabiyotlar:
1. Григорев Ю.А., Ревунков Г.И.. Банки данных. М.: Изд. МГTУ им. Баумана, 2002.
2. Ревунков Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний. Под.ред.Четверикова. М.: Высшая школа, 1992.
3. Григорев Ю.А., Плутенко А.Д.. Жизненный тсикл проектов распределенных баз данных. Благовещеснк АмГУ, 1999.
4. Дунаев С.С.. Доступ к базам данных и техника работы в сети. Практические приемы современного программирования. М.: Диалог – МИФИ, 1999.
5. Дж.Улман, Дж Уидом. Введение системы баз данных. Пер.с англ. М.: «Лори», 2000.
6. Мейер Д. Tеория релятсионных баз данных. Пер.с англ. М.: Мир, 1987.
7. Мартин Дж,.Организатсия баз данных в ВС,М.Мир 1980
8. Конноли T., Брегк К. Базы данных, проектирование, реализатсия и сопровождения, теория и практика, Университет Пейсли, Шотландия, изд. М.- СПБ.- Киев, 2003.
Do'stlaringiz bilan baham: |