|
10-Mavzu: Ma’lumotlar bazalari va katta hajmdagi ma’lumotlar bilan ishlash texnologiyalari Reja
|
bet | 5/44 | Sana | 10.06.2024 | Hajmi | 0,95 Mb. | | #262104 |
Bog'liq 10-Mavzu Ma’lumotlar bazalari va katta hajmdagi ma’lumotlar bil10.1-jadval
Foydalanuvchilar
Id mavzu
|
Nomi
|
Muallif
|
1
|
Baliq ovlash haqida
|
Azamat
|
2
|
Velosepedlar
|
Alisher
|
3
|
Restoranlar
|
Soliha
|
4
|
Baliq ovlash haqida
|
Alisher
|
10.2-jadval
Mavzu
Id mavzu
|
Nomi
|
Muallif
|
1
|
Baliq ovlash haqida
|
Azamat
|
2
|
Velosepedlar
|
Alisher
|
3
|
Restoranlar
|
Soliha
|
4
|
Baliq ovlash haqida
|
Alisher
|
10.3-jadval
Xabar
Id xabar
|
Matn
|
Muallif
|
1
|
Menimcha, bunday qilishimiz kerak ....
|
Azamat
|
2
|
Roziman
|
Alisher
|
3
|
Yana bunday ham qilish mumkin ...
|
Soliha
|
4
|
Roziman
|
Alisher
|
Endi bizning jadvallarimizdagi har bir yozuv noyobdir. Mavzular va xabarlar o'rtasida bog’liqlikni o'rnatish qoldi halos. Bu shuningdek birlamchi kalitlar yordamida amalga oshiriladi. Xabar jadvaliga yana bitta maydon qo'shamiz:
10.4-jadval
Xabar
Id xabar
|
Matn
|
Muallif
|
Id mavzu
|
1
|
Menimcha, bunday qilishimiz kerak ....
|
Azamat
|
1
|
2
|
Roziman
|
Alisher
|
4
|
3
|
Yana bunday ham qilish mumkin ...
|
Soliha
|
1
|
4
|
Roziman
|
Alisher
|
1
|
Endi id = 2 bo'lgan xabar Vasya tomonidan yaratilgan "Baliq ovlash to'g'risida" (mavzu id = 4) mavzusiga tegishli ekanligi, qolgan xabarlar esa "Baliq ovlash to'g'risida" (mavzu id = 1) mavzusiga tegishli ekanligi aniq va Karim tomonidan yaratilgan. Bunday maydon tashqi kalit deb nomlanadi. (qisqartmasi
FK - foreign key). Ushbu maydonning har bir qiymati "Mavzu" jadvalidagi asosiy kalitlarga mos keladi. Bu xabarlar va ular bilan bog'liq mavzular o'rtasida muvofiqliklarni o'rnatadi.
Deylik, biz yangi foydalanuvchi qo'shdik va uning ismi ham Vasya: Foydalanuvchi
Id foydalanuvchi
|
Muallif
|
E-mail
|
Parol
|
1
|
Azamat
|
azamat@mail.ru
|
*******
|
2
|
Karim
|
karimy@rambler.ru
|
*******
|
3
|
Sobir
|
sobir@yandex.ru
|
*******
|
4
|
Karim
|
karimy@mail.ru
|
*******
|
Vasya qaysi xabarlarni qoldirganligini qayerdan bilamiz? Ushbu mavzu muallifi uchun "Mavzular" va "Xabarlar" jadvallarida tashqi kalitlarini ham tayyorlaymiz:
Mavzu
Id mavzu
|
Nomi
|
Id muallif
|
1
|
Baliq ovlash haqida
|
1
|
2
|
Velosepedlar
|
2
|
3
|
Restoranlar
|
3
|
4
|
Baliq ovlash haqida
|
4
|
5
|
Kimga murijaat qilish kerak
|
5
|
Xabar
Id mavzu
|
Matn
|
Id muallif
|
Id mavzu
|
1
|
Menimcha, bunday qilishimiz kerak ....
|
1
|
1
|
2
|
Roziman
|
2
|
4
|
3
|
Yana bunday ham qilish mumkin ...
|
3
|
1
|
4
|
Roziman
|
2
|
1
|
Bizda ma'lumotlar bazasi tayyor. U quyidagicha sxematik tarzda ifodalanishi mumkin:
Bizning kichik ma'lumotlar bazamizda faqat uchta jadval mavjud. Agar 10 ta yoki 100 ta bo'lsa-chi? Bizga kerak bo'lishi mumkin bo'lgan barcha jadvallarni, maydonlarni va munosabatlarni darhol tasavvur qilishning iloji yo'qligi aniq.
Shuning uchun ma'lumotlar bazasini loyihalash konseptual modeldan boshlanadi.
8.2. Ma'lum 10.2 Malumotlar bazasini boshqarish tizimining asosiy vazifalari va xususiyatlari
Ma'lumotlar bazasini boshqarish tizimi (MBBT) — ma'lumotlar bazalarini yaratish, ularni saqlash va kerakli ma'lumotlarni qidirishga mo’ljallangan dasturiy ta'minotdir.
Aniqrog'i, MBBT funksiyalarining soniga quyidagilarni kiritishimiz mumkin:
Tashqi xotira ma'lumotlarini to'g'ridan-to'g'ri boshqarish. Ushbu funksiya to'g'ridan-to'g'ri ma'lumotlar bazasiga kiritilgan ma'lumotlarni saqlash uchun ham, xizmat ko'rsatish uchun ham ishlatiladi. Masalan, ba'zi hollarda ma'lumotlarga kirish vaqtini qisqartirish zarur bo'lgan paytlarda (odatda shu maqsadlarda indekslardan) foydalaniladi. MBBT amallarining ba’zilarida mavjud fayl tizimlarining imkoniyatlaridan faol foydalaniladi. Boshqalarida esa tashqi xotira qurilmalari darajasiga qadar ish olib boriladi. Shuni ta'kidlash kerakki, rivojlangan MBBT foydalanuvchilari fayl tizimidan foydalanganligi yoki foydalanmaganligini bilishlari shart emas. Xususan, MBBT o’z ob'ektlarini nomlash tizimiga ega.
Operativ xotiraning buferini boshqarish. MBBT odatda katta hajmdagi ma'lumotlar bazasi bilan ishlaydi; hech bo'lmaganda bu o'lcham odatda mavjud bo'lgan operativ xotira hajmidan sezilarli darajada katta bo’ladi. Biron bir ma'lumot elementiga kirishda tashqi xotiradan foydalanilsa, u holda butun tizim tashqi xotira qurilmasi tezligida ishlaydi. Ushbu tezlikni oshirishning deyarli yagona usuli bu — operativ xotiradagi ma'lumotlarni buferlashdir. Bundan tashqari, agar operatsion tizim butun tizimda buferlashni amalga oshirsa ham (UNIX operatsion tizimi), juda ko'p ma'lumotlarga ega bo'lgan ma'lumotlar bazasi uchun bu yetarli bo’lmaydi. Shuning uchun rivojlangan MBBTlar buferlarni o’z nizomiga ega buferlar bilan almashtirish imkoniyatiga ega.
Tranzaksiyalarni boshqarish. Tranzaksiya — bu MBBT tomonidan ko'rib chiqiladigan ma'lumotlar bazasi bo'yicha operatsiyalarning ketma-ketligidir. Yoki tranzaksiya muvaffaqiyatli amalga oshiriladi va MBBT ma'lumotlar bazasida ushbu operatsiyani tashqi xotirada o'zgartiradi yoki bu o'zgarishlarning hech biri ma'lumotlar bazasining holatiga hech qanday ta'sir qilmaydi. Tranzaksiya tushunchasi ma'lumotlar bazasining mantiqiy yaxlitligini saqlash uchun zarurdir. Masalan, kadrlar bo'limining axborot tizimida, yangi ishchi yollanganda, xodimlar faylida ham, hamda ushbu xodim qabul qilingan bo'limning faylida ham yangi ma'lumotlar talab qilinadi. Bunday holda, yangi xodimni ishga qabul qilish operatsiyasini bajarishda ma'lumotlar bazasi yaxlitligini buzmaslikning yagona usuli bu XODIMLAR va BO'LIMLAR fayllaridagi elementar operatsiyalarni bitta operatsiyaga birlashtirishdir.
Qaydlash. Tashqi xotirada ma’lumotlarni ishonchli saqlash MBBT uchun asosiy talablardan biridir. Ishonchlilik deganda, har qanday apparat yoki dasturiy ta'minot ishlamay qolgandan so'ng, MBBT ma'lumotlar bazasida so'nggi o’zgartirishlarni tiklay olishi tushuniladi. Apparat buzilishi mumkin bo'lgan ikki holat odatda ko'rib chiqiladi:
Yumshoq nosozliklar – bu kompyuterning to'satdan o'chishi (masalan, favqulodda chiroqnong o'chib qolishi).
Qattiq nosozliklar – bu tashqi xotira vositalarida ma'lumotni yo'qotish.
Dasturiy ta'minotning ishdan chiqishiga: MBBT yoki foydalanuvchi dasturining avariyaviy tugatilishi natijasida ba'zi bir tranzaksiyalar tugallanmay qoladi. Birinchi vaziyatni yumshoq turdagi apparat buzilishining o'ziga xos turi sifatida ko'rish mumkin; ikkinchisi esa sodir bo'lganda, faqat bitta tranzaksiya oqibatlarini bartaraf etish talab qilinadi.
Ma'lumotlar bazasini tiklash uchun har qanday holatda qo'shimcha ma'lumotlarga ega bo'lishingiz kerakligi aniq. Boshqacha qilib aytganda, ma'lumotlar bazasida ma'lumotlarni saqlashning ishonchliligi ortiqcha ma’lumot saqlash talab qiladi va qayta tiklash uchun ishlatiladigan ma'lumotlarning ushbu qismi ayniqsa ishonchli saqlanishi lozim. Bunday ortiqcha ma'lumotni saqlashning eng keng tarqalgan usuli bu ma'lumotlar bazasini qaydlar jurnalini yuritishdir.
Jurnal - bu ma'lumotlar bazasining maxsus qismi bo’lib, foydalanuvchilar kirishiga imkon bo’lmagan va juda ehtiyotkorlik bilan saqlanadigan ma'lumotlar bazasining asosiy qismidagi barcha o'zgarishlarning yozuvlarini o’z ichiga oladi. Turli xil ma'lumotlar MBBT bazasining o'zgarishiga qarab har xil darajada qayd qilinadi: ba'zida jurnal yozuvlari ma'lumotlar bazasini o'zgartirishning ba'zi mantiqiy operatsiyalariga mos keladi (masalan, ma'lumotlar bazasining relyatsion jadvalidan qatorni o'chirish operatsiyalari), ba'zan - tashqi xotira sahifasini o'zgartirishning minimal ichki operatsiyasi; ba'zi tizimlar bir vaqtning o'zida ikkala yondashuvdan foydalanadilar.
Qayta tiklashning eng oddiy holati - bu tranzaksiyaning individual qaytarilishi. Bu tizim bo'yicha ma'lumotlar bazasini o'zgartirish jurnalini talab qilmaydi. Har bir tranzaksiya uchun ushbu operatsiyada bajarilgan ma'lumotlar bazasini o'zgartirish operatsiyalarining lokal jurnalini yuritish va lokal jurnalning oxiridan boshlab teskari operatsiyalarni bajarish orqali uni orqaga qaytarish kifoya.
|
| |