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.
Saqlangan protseduralar odatda umumiy vazifalarni bajarishda ishlatiladi (masalan, balans balansi). Ularda argumentlar, qaytish qiymatlari, xato kodlari va ba'zan qatorlar va ustunlar to'plamlari bo'lishi mumkin (ba'zida ma'lumotlar to'plami deb ataladi). Biroq, protseduraning ikkinchi turi barcha DBMSlar tomonidan qo'llab -quvvatlanmaydi.
Triggerlar ham bajariladigan kodni o'z ichiga oladi, lekin protseduralardan farqli o'laroq, ularni mijoz ilovasi yoki saqlangan protseduradan chaqirib bo'lmaydi. Trigger har doim ma'lum bir jadval bilan bog'liq va bu jadvalni tahrirlashda u bilan bog'liq bo'lgan voqea sodir bo'lganda (masalan, yozuvni kiritish, o'chirish yoki yangilash) bajariladi.
Triggerlarni qo'llab -quvvatlaydigan ko'pgina DBMS -larda siz bir xil voqea sodir bo'lganda bajariladigan bir nechta tetiklarni belgilashingiz va bajarilish tartibini aniqlashingiz mumkin.
Birlamchi kalitlarni yaratish uchun ob'ektlar
Ko'pincha, asosiy kalitlarni DBMS o'zi yaratadi. Bu ularni mijoz dasturida yaratishdan ko'ra qulayroqdir, chunki ko'p foydalanuvchilarli ishda, DBMS yordamida kalitlarni takrorlashning oldini olish va ularning izchil qiymatlarini olishning yagona yo'li.
Turli DBMSlar kalitlarni yaratish uchun turli xil ob'ektlardan foydalanadi. Ushbu ob'ektlarning ba'zilari butun sonni va keyingi qiymatni yaratish qoidalarini, odatda, tetiklar yordamida saqlaydi. Bunday ob'ektlar, masalan, Oracle (bu holda ular ketma -ketlik deb ataladi) va IB ma'lumotlar bazasida (bu holda ular generatorlar deb ataladi) qo'llab -quvvatlanadi.
Ba'zi DBMSlar asosiy kalitlar uchun maxsus turdagi maydonlarni qo'llab -quvvatlaydi. Yozuvlarni qo'shganda, bunday maydonlar avtomatik ravishda ketma -ket qiymatlar bilan to'ldiriladi (odatda butun sonlar). Microsoft Access va Microsoft SQL Serverda bunday maydonlar Identity maydonlari, Corel Paradox uchun esa Autoincrement maydonlari deb ataladi.
Foydalanuvchilar va rollar
Ma'lumotlarga ruxsatsiz kirishni oldini olish - hal qilinayotgan asosiy masala har xil yo'llar... Eng oddiy - bu butun jadvalni yoki uning ba'zi maydonlarini parol bilan himoya qilish (bu mexanizm, masalan, Corel Paradox -da qo'llab -quvvatlanadi).
Hozirgi vaqtda ma'lumotlarni himoya qilishning yana bir usuli mashhurroq - foydalanuvchilar (foydalanuvchilar) ismlari va parollari (parollari) bo'lgan foydalanuvchilar ro'yxatini tuzish. Bunday holda, har qanday ma'lumotlar bazasi ob'ekti ma'lum bir foydalanuvchiga tegishli bo'lib, bu foydalanuvchi boshqa foydalanuvchilarga ushbu ob'ektdan ma'lumotlarni o'qish yoki o'zgartirish yoki ob'ektni o'zi o'zgartirish huquqini beradi. Bu usul barcha serverlarda va ba'zi ish stoli ma'lumotlar bazasida (masalan, Microsoft Access) qo'llaniladi.
Ba'zi DBMS, asosan server tomonida, nafaqat foydalanuvchilar ro'yxatini, balki rollarni ham qo'llab-quvvatlaydi. Rol - bu imtiyozlar to'plami. Agar ma'lum bir foydalanuvchi bir yoki bir nechta rolni olsa va ular bilan bu rol uchun belgilangan barcha imtiyozlar.
Ma'lumotlar bazasi so'rovlari
Ma'lumotlarni o'zgartirish va tanlash, metadatani o'zgartirish va boshqa ba'zi operatsiyalar so'rovlar yordamida amalga oshiriladi. Ko'pgina zamonaviy DBMS (va ba'zi dasturlarni ishlab chiqish vositalari) bunday so'rovlarni ishlab chiqarish vositalarini o'z ichiga oladi.
Ma'lumotlar bilan ishlashning bir usuli "namuna bo'yicha so'rovlar" (QBE) deb nomlanadi. QBE - bu jadvallarni vizual tarzda bog'lash va so'rov natijasida ko'rsatiladigan maydonlarni tanlash vositasi.
Ko'pgina DBMSlarda (ba'zi ish stoli bundan mustasno), QBE yordamida so'rovni vizual tuzish maxsus so'rovlar tili SQL (Strukturalangan so'rovlar tili) yordamida so'rov matnini yaratishga olib keladi. Siz so'rovingizni to'g'ridan -to'g'ri SQL -da yozishingiz mumkin.
Kursorlar
Ko'pincha so'rov natijasi qatorlar va ustunlar to'plamidir (ma'lumotlar bazasi). Relyatsion jadvaldan farqli o'laroq, bunday qatorlar qatori buyurtma qilinadi va ularning tartibi asl so'rov (va ba'zida indekslar mavjudligi) bilan belgilanadi. Shuning uchun, biz shunday qatordagi joriy qatorni va unga ko'rsatgichni aniqlashimiz mumkin, u kursor (kursor) deb ataladi.
Ko'pgina zamonaviy ma'lumotlar bazasi ikki tomonlama kursorlarni qo'llab-quvvatlaydi, bu sizga ma'lumotlar to'plami orqali oldinga va orqaga harakat qilish imkonini beradi. Biroq, ba'zi DBMSlar faqat bir yo'nalishli kursorlarni qo'llab -quvvatlaydi, ular faqat ma'lumotlar to'plami orqali oldinga siljiydi.
SQL tili
Strukturalangan so'rovlar tili (SQL)-ko'pgina zamonaviy ma'lumotlar bazalarida ma'lumotlar bazasi so'rovlarini shakllantirish uchun ishlatiladigan protsessual bo'lmagan til va hozirda sanoat standarti hisoblanadi.
Tilning protsessual bo'lmaganligi shuni anglatadiki, siz unda ma'lumotlar bazasi bilan nima qilish kerakligini belgilashingiz mumkin, lekin siz bu jarayonning algoritmini tasvirlay olmaysiz. SQL so'rovlarini qayta ishlashning barcha algoritmlari DBMSning o'zi tomonidan ishlab chiqariladi va foydalanuvchiga bog'liq emas. SQL tili bir nechta toifalarga bo'linadigan operatorlar to'plamidan iborat:
Ma'lumotlarni aniqlash tili (DDL) - ma'lumotlar bazasida ob'ektlarni yaratish, o'chirish va o'zgartirish imkonini beruvchi ma'lumotlar ta'rifi tili.
Ma'lumotlarni boshqarish tili (DML) - bu ma'lumotlar bazasini boshqarish tili bo'lib, u mavjud ma'lumotlar bazasi ob'ektlaridagi ma'lumotlarni o'zgartirish, qo'shish va o'chirish imkonini beradi.
Ma'lumotlarni boshqarish tillari (DCL) - foydalanuvchi imtiyozlarini boshqarish uchun ishlatiladigan til
Tranzaktsiyalarni boshqarish tili (TCL) - operatorlar guruhlari tomonidan kiritilgan o'zgarishlarni boshqarish tili
Kursorni boshqarish tili (CCL) - kursorni aniqlash, SQL bayonotlarini bajarishga tayyorlash va boshqa operatsiyalar.
SQL tili haqida ko'proq ma'lumotni ushbu turkumdagi keyingi maqoladan bilib olasiz.
Foydalanuvchi tomonidan belgilangan funktsiyalar
Ba'zi DBMSlar foydalanuvchi tomonidan belgilangan funktsiyalarni (UDF-User-Defined Functions) ishlatishga ruxsat beradi. Bu funktsiyalar odatda tashqi kutubxonalarda saqlanadi va ma'lumotlar bazasida ro'yxatdan o'tkazilishi kerak, shundan so'ng ular so'rovlar, tetiklar va saqlangan protseduralarda ishlatilishi mumkin.
Foydalanuvchi tomonidan belgilangan funktsiyalar kutubxonalarda bo'lgani uchun, ularni har qanday ishlab chiqish vositasi yordamida tuzish mumkin, bu sizga berilgan ma'lumotlar bazasi boshqaruv tizimi ishlaydigan platforma uchun kutubxonalar yaratishga imkon beradi.
Tranzaksiyalar
Tranzaksiya - bu bir vaqtning o'zida bajariladigan yoki birgalikda bekor qilinadigan ma'lumotlar bo'yicha operatsiyalar guruhi.
Bitimning bajarilishi (majburiyat) - bu bitimga kiritilgan barcha operatsiyalar muvaffaqiyatli bajarilganligini va ularning ish natijalari ma'lumotlar bazasida saqlanishini bildiradi.
Tranzaktsiyani qaytarish shuni anglatadiki, tranzaktsiyaning bir qismi bo'lgan bajarilgan barcha operatsiyalar orqaga qaytariladi va bu operatsiyalar ta'sir ko'rsatadigan ma'lumotlar bazasi ob'ektlari asl holatiga qaytariladi. Tranzaktsiyalarni qaytarish qobiliyatini amalga oshirish uchun, ko'p DBMS log fayllarini yozishni qo'llab -quvvatlaydi, bu sizga qaytarish paytida asl ma'lumotlarni tiklash imkonini beradi.
Bitim bir nechta ichki bitimlardan iborat bo'lishi mumkin.
Ba'zi DBMSlar ikki bosqichli majburiyatni qo'llab-quvvatlaydi, bu jarayon bir xil ma'lumotlar bazasiga tegishli bo'lgan bir nechta ma'lumotlar bazalarida operatsiyalarni bajarishga imkon beradi.
Tarqatilgan tranzaktsiyalarni qo'llab -quvvatlash uchun (ya'ni, turli DBMSlar tomonidan boshqariladigan ma'lumotlar bazalari bo'yicha operatsiyalar) maxsus vositalar tranzaksiya monitorlari deb ataladi.
Xulosa
Ushbu maqolada biz relyatsion DBMS tuzishning asosiy tushunchalarini, ma'lumotlarni loyihalashtirishning asosiy tamoyillarini muhokama qildik, shuningdek ma'lumotlar bazasida qanday ob'ektlarni yaratish mumkinligi haqida gaplashdik.
Keyingi maqolada biz o'quvchilarimizni ish stolidagi eng mashhur DBMSlar bilan tanishtiramiz: dBase, Paradox, Access, Visual FoxPro, Works va ularning asosiy xususiyatlarini muhokama qilamiz.
Kompyuter bosing 3 "2000
Do'stlaringiz bilan baham: |