Mavzu:№7 Malumotlar bazasini boshqarish tizimlarining asosiy turlari. Malumotlar bazasi va malumotlar bazasini boshqarish tizimlari
Download 109.07 Kb.
|
mavzular informatika.doc
Normallashtirish jadvallarni ma'lumotlarni izchil va to'g'ri tahrir qilish imkonini beradigan shaklga keltirish maqsadida, takrorlanadigan guruhlarni va ma'lumotlarni saqlashdagi boshqa qarama -qarshiliklarni bartaraf etish orqali ma'lumotlarni qayta tashkil etish jarayonidir.
Normallashtirish nazariyasi normal shakllar tushunchasiga asoslanadi. Agar jadval ma'lum talablarga javob bersa, u berilgan normal shaklda deyiladi. Nazariy jihatdan beshta oddiy shakl mavjud, lekin amalda odatda faqat dastlabki uchtasi ishlatiladi. Bundan tashqari, dastlabki ikkita oddiy shakl - bu ma'lumotlar bazasini uchinchi oddiy shaklga o'tkazish uchun oraliq bosqichlar.
Birinchi oddiy shakl Normallashtirish jarayonini NorthWind ma'lumotlar bazasi ma'lumotlaridan foydalanib misol bilan tasvirlaylik. Aytaylik, biz buyurtma qilingan barcha mahsulotlarni quyidagi jadvalda ro'yxatdan o'tkazamiz. Bu jadvalning tuzilishi quyidagicha (2 -rasm). Jadval birinchi normal shaklga mos kelishi uchun uning barcha maydon qiymatlari atom va bo'lishi kerak barcha yozuvlar o'ziga xosdir. Shunday qilib, har qanday munosabatlar jadvali, shu jumladan OrderedProducts jadvali, ta'rifi bo'yicha, birinchi oddiy shaklda. Biroq, bu jadvalda ortiqcha ma'lumotlar mavjud, masalan, har bir buyurtma qilingan mahsulot uchun rekordda bir xil xaridor ma'lumotlari takrorlanadi. Ma'lumotlarning ko'payishi modifikatsiyadagi anomaliyalarga olib keladi ma'lumotlar bilan bog'liq muammolar yozuvlarni qo'shish, o'zgartirish yoki o'chirish paytida paydo bo'ladi. Masalan, OrderedProducts jadvalidagi ma'lumotlarni tahrirlashda quyidagi muammolar paydo bo'lishi mumkin: Ma'lum bir xaridorning manzili faqat xaridor kamida bitta mahsulotga buyurtma berganida ma'lumotlar bazasida bo'lishi mumkin. Buyurtma qilingan mahsulot uchun yozuvni o'chirish bir vaqtning o'zida buyurtmaning o'zi va uni joylashtirgan xaridor haqidagi ma'lumotlarni o'chirib tashlaydi. Agar, Xudo ko'rsatmasin, xaridor manzilni o'zgartirgan bo'lsa, unga buyurtma qilingan mahsulotlarning barcha yozuvlarini yangilashga to'g'ri keladi. Ushbu muammolarning ba'zilari ma'lumotlar bazasini konvertatsiya qilish orqali hal qilinadi ikkinchi oddiy shakl.
Ikkinchi oddiy shakl Aytishlaricha, munosabatlar jadvali ikkinchi oddiy shakl agar u birinchi oddiy shaklda va uning kalit bo'lmagan maydonlarida bo'lsa butunlay qaram butun asosiy kalitdan. OrderedProducts jadvali birinchi, lekin ikkinchi oddiy shaklda emas, chunki CustomerID, Address va OrderDate maydonlari faqat birlamchi kalit kalitining (OrderID, ProductID) bir qismi bo'lgan OrderID maydoniga bog'liq. Birinchi oddiy formadan ikkinchisiga o'tish uchun siz quyidagi amallarni bajarishingiz kerak: Asosiy kalitni qaysi qismlarga bo'lish mumkinligini aniqlang, shunda ba'zi kalit bo'lmagan maydonlar ushbu qismlardan biriga bog'liq bo'ladi ( bu qismlar bitta ustunda bo'lishi shart emas!). Kalitning har bir qismi va unga bog'liq bo'lgan maydonlar guruhi uchun yangi jadval yarating va ularni shu jadvalga o'tkazing. Avvalgi asosiy kalitning qismi yangi jadvalning asosiy kalitiga aylanadi. Jadvaldan chet el kalitlari bo'lmagan jadvallarga ko'chirilgan maydonlarni olib tashlang. Masalan, OrderedProducts jadvalini ikkinchi normal shaklga keltirish uchun, CustomIDID, Manzil va OrderDate maydonlarini yangi jadvalga o'tkazamiz (buni OrdersInfo deb ataymiz), OrderID maydonini yangi jadvalning asosiy kaliti qilib qo'yamiz (3 -rasm). . Natijada, yangi jadvallar shunday ko'rinishga ega bo'ladi. Biroq, ikkinchi, lekin uchinchi oddiy bo'lmagan jadvallar hali ham ma'lumotlarni o'zgartirish anomaliyalarini o'z ichiga oladi. Bu, masalan, OrdersInfo jadvali uchun: Ma'lum bir xaridorning manzili, agar xaridor kamida bitta mahsulotga buyurtma bergan bo'lsa, ma'lumotlar bazasida bo'lishi mumkin. OrdersInfo jadvalidagi buyurtma yozuvini o'chirish mijozning o'zi uchun yozuvni o'chirib tashlaydi. Agar mijoz manzilni o'zgartirgan bo'lsa, bir nechta yozuvlarni yangilash kerak bo'ladi (garchi, qoida tariqasida, ular oldingi holatga qaraganda kamroq). Siz borib, bu anomaliyalarni bartaraf etishingiz mumkin uchinchi oddiy shakl.
Uchinchi oddiy shakl Aytishlaricha, munosabatlar jadvali uchinchi oddiy shakl agar u ikkinchi oddiy shaklda bo'lsa va uning barcha kalit bo'lmagan maydonlari faqat birlamchi kalitga bog'liq bo'lsa. OrderDetails jadvali allaqachon uchinchi oddiy shaklda. Kalit bo'lmagan Miqdor maydoni butunlay birlamchi kalitga bog'liq (OrderID, ProductID). Biroq, OrdersInfo jadvali uchinchi oddiy shaklda emas, chunki unda kalit bo'lmagan maydonlar orasidagi bog'liqlik mavjud (u shunday nomlanadi) tranzit qaramlik- o'tuvchi bog'liqlik) - Manzil maydoni CustomerID maydoniga bog'liq. Ikkinchi oddiy formadan uchinchisiga o'tish uchun siz quyidagi bosqichlarni bajarishingiz kerak: Boshqa maydonlar bog'liq bo'lgan barcha maydonlarni (yoki maydon guruhlarini) aniqlang. Har bir shunday maydon (yoki maydonlar guruhi) va unga bog'liq bo'lgan maydonlar guruhi uchun yangi jadval yarating va ularni shu jadvalga o'tkazing. Boshqa barcha ko'chirilgan maydonlar bog'liq bo'lgan maydon (yoki maydonlar guruhi) yangi jadvalning asosiy kalitiga aylanadi. Ko'chirilgan maydonlarni asl jadvaldan olib tashlang, faqat chet el kalitlari bo'ladi. OrdersInfo jadvalini uchinchi oddiy shaklga keltirish uchun yangi mijozlar jadvalini yarating va unga CustomerID va manzil maydonlarini ko'chiring. Dastlabki jadvaldan Manzil maydonini o'chirib tashlaymiz va CustomerID maydonini tark etamiz - endi bu tashqi kalit (4 -rasm). Shunday qilib, dastlabki jadvalni uchinchi oddiy shaklga o'tkazgandan so'ng, uchta jadval mavjud - mijozlar, buyurtmalar va OrderDetails.
Normallashtirishning afzalliklari Normallashtirish ma'lumotlarning ortiqcha miqdorini yo'q qiladi, bu sizga saqlangan ma'lumotlarning miqdorini kamaytirish va yuqorida tavsiflangan anomaliyalardan xalos bo'lish imkonini beradi. Masalan, yuqorida muhokama qilingan ma'lumotlar bazasini uchinchi oddiy shaklga o'tkazgandan so'ng, quyidagi yaxshilanishlar aniq bo'ladi: Mijozlar manzili ma'lumotlari ma'lumotlar bazasida saqlanishi mumkin potentsial mijoz hali hech qanday buyurtma bermaganlar. Xaridor va buyurtma ma'lumotlarini yo'q qilishdan qo'rqmasdan buyurtma qilingan mahsulot ma'lumotlarini o'chirib tashlashingiz mumkin. Xaridorning manzilini yoki buyurtmani ro'yxatdan o'tkazish sanasini o'zgartirish endi faqat bitta yozuvni o'zgartirishni talab qiladi.
Ma'lumotlar bazasi qanday yaratilgan Odatda, zamonaviy DBMSlar jadval va kalitlarni yaratishga imkon beradigan vositalarni o'z ichiga oladi. Jadvallar, kalitlar va havolalarni yaratishga imkon beradigan, shuningdek, DBMS dan alohida ta'minlangan (va hatto bir vaqtning o'zida bir nechta DBMSga xizmat ko'rsatadigan) yordamchi dasturlar mavjud. Ma'lumotlar bazasida jadvallar, kalitlar va aloqalarni yaratishning yana bir usuli-ma'lumotlarni aniqlash tili (DDL) deb nomlangan skriptni yozish; bu haqda biroz keyinroq gaplashamiz. Nihoyat, tobora ommalashib borayotgan yana bir usul-bu CASE asboblari (CASE-kompyuter yordamida tizim muhandisligi) degan maxsus vositalardan foydalanish. CASE asboblarining bir nechta turlari mavjud, lekin ma'lumotlar bazalarini yaratish uchun eng ko'p ob'ekt-munosabatlar diagrammasi (E / R diagrammasi) ishlatiladi. Bu vositalar yordamida, deb atalmish mantiqiy unda qayd etiladigan faktlar va ob'ektlarni tavsiflovchi ma'lumotlar modeli (bunday modellarda jadvallarning prototiplari ob'ektlar, maydonlar esa ularning atributlari deb ataladi. Ob'ektlar o'rtasidagi munosabatlarni o'rnatgandan so'ng, atributlarni aniqlab, normallashtirishni amalga oshirgandan so'ng. jismoniy barcha jadvallar, maydonlar va boshqa ma'lumotlar bazasi ob'ektlarini aniqlaydigan ma'lumotlar bazasiga xos ma'lumotlar modeli. Shundan so'ng, ma'lumotlar bazasini o'zi yoki uni yaratish uchun DDL skriptini yaratish mumkin. Hozirgi vaqtda eng mashhur CASE vositalari ro'yxati. Jadvallar va maydonlar Jadvallar barcha o'zaro bog'liq DBMSlar tomonidan qo'llab -quvvatlanadi va ma'lumotlar o'z maydonlarida saqlanishi mumkin har xil turlari... Ma'lumotlarning eng keng tarqalgan turlari.
Indekslar Avvalroq, biz asosiy va tashqi kalitlarning roli haqida gapirgan edik. Ko'pgina relyatsion DBMSlarda kalitlar indeks deb nomlangan ob'ektlar yordamida amalga oshiriladi, ularni qaysi tartibda ochilishini ko'rsatuvchi rekord raqamlar ro'yxati sifatida aniqlash mumkin. Biz bilamizki, relyatsion jadvallardagi yozuvlar tartiblanmagan. Shunga qaramay, har qanday yozuv ma'lum bir vaqtda ma'lumotlar bazasi faylida aniq joylashtirilgan joylashuvga ega, garchi u ma'lumotlarni tahrirlash paytida yoki DBMSning "ichki faoliyati" natijasida o'zgarishi mumkin. Aytaylik, xaridorlar jadvalidagi yozuvlar shu tartibda saqlangan. Aytaylik, biz bu ma'lumotlarni CustomerID maydoniga buyurtma berishni xohlaymiz. Texnik tafsilotlarni e'tiborsiz qoldirib, aytishimiz mumkinki, bu maydon indeksi - bu ko'rsatilishi kerak bo'lgan rekord raqamlar ketma -ketligi, ya'ni: 1,6,4,2,5,3 Agar biz yozuvlarni Manzil maydoniga buyurtma qilmoqchi bo'lsak, yozuvlar sonining ketma -ketligi boshqacha bo'ladi: 5,4,1,6,2,3 Indekslarni saqlash jadvalning har xil tartiblangan versiyalarini saqlashga qaraganda ancha kam joy talab qiladi. Agar mijoz identifikatori "BO" harfidan boshlanadigan mijozlar haqidagi ma'lumotlarni topishimiz kerak bo'lsa, biz bu yozuvlarning joylashuvini aniqlash uchun indeksdan foydalanishimiz mumkin (bu holda 2 va 5 (indeksda bu yozuvlarning raqamlari satr), so'ngra butun jadvalni o'qish o'rniga ikkinchi va beshinchi yozuvlarni o'qing, shuning uchun indekslardan foydalanish ma'lumotlarni olish vaqtini qisqartiradi. Biz yuqorida yozdikki, foydalanuvchilar tomonidan ma'lumotlarni tahrirlash jarayonida, shuningdek, ma'lumotlar bazasi fayllari bilan ma'lumotlar bazasi fayllari (masalan, ma'lumotlarni siqish, axlat) manipulyatsiyasi natijasida yozuvlarning joylashuvi o'zgarishi mumkin. yig'ish va boshqalar). Agar bir vaqtning o'zida indeksda tegishli o'zgarishlar bo'lsa, u deyiladi qo'llab -quvvatlanadi va bunday indekslar ko'pchilik zamonaviy DBMSlarda ishlatiladi. Bunday indekslarning amalga oshirilishi, jadvaldagi ma'lumotlarning har qanday o'zgarishi, u bilan bog'liq bo'lgan indekslarning o'zgarishiga olib keladi va bu, O'BT tomonidan bunday operatsiyalarni bajarish uchun zarur bo'lgan vaqtni oshiradi. Shuning uchun, bunday DBMS -dan foydalanganda, siz haqiqatan ham kerakli indekslarni yaratishingiz va qaysi so'rovlar tez -tez uchrab turishini boshqarishingiz kerak.
Cheklovlar va qoidalar Ko'pgina zamonaviy serverlar ma'lumotlar bazalarida maxsus ob'ektlar mavjud cheklovlar(cheklovlar) yoki qoidalar(qoidalar). Bu ob'ektlar maydonlarning mumkin bo'lgan qiymatlariga qo'yilgan cheklovlar haqida ma'lumotni o'z ichiga oladi. Masalan, bunday ob'ekt yordamida siz berilgan maydon uchun maksimal yoki minimal qiymatni belgilashingiz mumkin va shundan so'ng, DBMS ma'lumotlar bazasida bu shartga mos kelmaydigan yozuvni saqlashga ruxsat bermaydi. Ma'lumotlar o'zgarishi diapazonini belgilash bilan bog'liq cheklovlarga qo'shimcha ravishda, mos yozuvlar cheklovlari ham mavjud (masalan, xaridorlar va buyurtmalar jadvallari o'rtasidagi asosiy tafsilot aloqasi CustomerId maydonining qiymatini talab qiladigan cheklov sifatida amalga oshirilishi mumkin. Tashqi kalit) Buyurtmalar jadvalida mijozlar jadvalining CustomerId maydonining mavjud qiymatlaridan biri bo'lishi kerak. E'tibor bering, barcha DBMS cheklovlarni qo'llab -quvvatlamaydi. Bunday holda, qoidalarning o'xshash funktsiyalarini amalga oshirish uchun siz boshqa ob'ektlardan foydalanishingiz mumkin (masalan, tetiklar) yoki ushbu qoidalarni ushbu ma'lumotlar bazasi bilan ishlaydigan mijoz ilovalarida saqlashingiz mumkin.
Vakillik Deyarli barcha DBMSlar qarashlarni qo'llab -quvvatlaydi. Bu ob'ekt bir yoki bir nechta haqiqiy jadvallardan ma'lumotlarni taqdim etadigan virtual jadvaldir. Aslida, u hech qanday ma'lumotni o'z ichiga olmaydi, faqat ularning manbasini tasvirlaydi. Ko'pincha bunday ob'ektlar ma'lumotlar bazalarida murakkab so'rovlarni saqlash uchun yaratiladi. Aslida, ko'rinish saqlangan so'rovdir. Ko'pgina zamonaviy ma'lumotlar bazalarida ko'rinishni yaratish maxsus vizual vositalar yordamida amalga oshiriladi, bu sizga kerakli jadvallarni ekranda ko'rsatish, ular o'rtasida aloqa o'rnatish, ko'rsatilgan maydonlarni tanlash, yozuvlarga cheklovlar qo'yish va h.k. Ko'pincha, bu ob'ektlar ma'lumotlar xavfsizligini ta'minlash uchun ishlatiladi, masalan, jadvallarga to'g'ridan -to'g'ri kirishni ta'minlamasdan, ular bilan ma'lumotlarni ko'rishga ruxsat berish orqali. Bundan tashqari, ob'ektlarning ba'zi ko'rinishlari, masalan, foydalanuvchi nomiga qarab, har xil ma'lumotlarni qaytarishi mumkin, bu unga faqat qiziqish haqidagi ma'lumotlarni olish imkonini beradi.
Triggerlar va saqlangan protseduralar Ishlab chiqariladigan kodni saqlash uchun ko'pgina zamonaviy serverlar ma'lumotlar bazasida qo'llab -quvvatlanadigan tetikler va saqlangan protseduralar qo'llaniladi. Saqlangan protsedura - bu ma'lumotlar bazasi serveri tomonidan bajariladigan maxsus protsedura turi. Saqlangan protseduralar protsessual tilda yozilgan bo'lib, u o'ziga xos DBMSga bog'liq. Ular bir -biriga qo'ng'iroq qilishlari, jadvallardagi ma'lumotlarni o'qishlari va o'zgartirishlari mumkin, va ularni ma'lumotlar bazasi bilan ishlaydigan mijoz dasturidan chaqirish mumkin. Download 109.07 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling