Ma‘lumotlar bazasini normallashtirish

Ma‘lumotlar bazasini normallashtirish
Normallashtirish – bu ma‘lumotlarni qo‘shishda, o‘zgartirishda va o‘chirishda eng yaxshi xususiyatlarga ega ikki yoki undan ortiq bo‘laklarga jadvalni bo‘lish. Normallashtirishning asosiy maqsadi ma’lumotlar bazasini olishga qaratilganki, unda har bir dalil (fakt) faqat bir joyda uchraydi, ya’ni ma‘lumotlar ortib ketmaydi. Bu faqat xotiradan tejam foydalanlish maqsadida qilinmay, balki saqlanayotgan ma‘lumotlar orasida qaramaqarshiliklarni bartaraf qilish uchundir.
Har bir jadval relyatsion ma‘lumotlar bazasida shunday shartlarni qoniqtiradiki, unga ko’ra jadvalning har bir ustun va satrining kesishish joyida har doim yagona atomar qiymat joylashadi va hech qachon ko‘p miqdorda xuddi shunday qiymatlar bo‘lishi mumkin emas. Shu shartni qoniqtiruvchi har qanday jadval normallashgan deyiladi. Umuman olganda normallashmagan jadvallar, ya’ni takrorlanuvchi ma‘lumotlar guruhiga ega jadvallar relatsion ma‘lumotlar bazasiga kiritilmaydi.
Har qanday normallashgan jadval avtomat ravishda birinchi normal formada, qisqacha 1NF, deb hisoblanadi. Shunday qilib, umuman olganda, “normallashtirilgan” va “1NF da joylashgan ” bitta ma’noni anglatadi. Lekin amaliyotda “normallashtirilgan” atamasi ko‘proq tor ma‘noda islatiladi – “to‘liq normallashtirilgan”, ya‘ni proyektda normallashtirishning hech qaysi prinsipi buzilmayapti degan ma‘noda.
Keyingi pog‘onadagi normallashtirishlarni ko‘rib chiqamiz – ikkinchi normal forma (2NF), uchinchi normal forma (3NF) va hokazo. Umuman olganda, jadval 1NF da bo‘lsa va undan tashqari yana bir qo’shimcha shartni qoniqtirsa, uning ma’nosi keyinroq ko‘rib o‘tiladi. Jadval 3NF da deyiladi, qachonki u 2NF dab o’lsa va yana bir qo‘shimcha shartni qoniqtirsa va hokazo.
Har bir normal forma qandaydir ma’noda oldingisiga qaraganda ancha chegaralangan, lekin ma’qulroqdir. Bu shunga bog‘liqki, “N-chi normal forma” ega bo‘lgan ba’zi yoqimsiz tomonlariga “(N+1)-chi normal forma” ega emas. N-chi normal forma ga qarab (N+1)-chi normal formaga qo‘yilgan qo‘shimcha shartning umumiy ma’nosi ana shunday yoqimsiz tomonlarni yo‘qotishdan iborat.
Normallashtirish nazariyasi jadval maydonlari orasidagi u yoki bu bog’liqlikning borligiga asoslanadi. Bunday bog‘liqliklarning ikki turi aniqlangan:
"Relyatsion ma'lumotlar bazasi" atamasi tomonidan ixtiro qilingan E. F. Kodd da IBM 1970 yilda Kodd ushbu atamani "Katta ma'lumot almashadigan yirik banklar uchun ma'lumotlarning relyatsion modeli" ilmiy maqolasiga kiritdi.Ushbu maqolada va keyingi ishlarda u "munosabat" deganda nimani nazarda tutganini aniqladi. Ma'lumotlar bazasining relyatsion tizimini tashkil etadigan taniqli ta'riflardan biri Codd's 12 qoidalari. Biroq, relyatsion modelni hech qanday tijorat amaliyoti Coddning barcha qoidalariga mos kelmaydi, shuning uchun bu atama asta-sekin ma'lumotlar bazasi tizimining kengroq sinfini tavsiflash uchun keldi, bu kamida:
Ma'lumotlarni foydalanuvchiga quyidagicha taqdim eting munosabatlar (jadval shaklida taqdimot, ya'ni to'plam ning jadvallar qatorlar va ustunlar to'plamidan iborat har bir jadval bilan);
Ma'lumotlarni jadval shaklida boshqarish uchun relyatsion operatorlarni taqdim eting.
1974 yilda IBM rivojlana boshladi Tizim R, RDBMS prototipini yaratish bo'yicha tadqiqot loyihasi.RDBMS sifatida sotilgan birinchi tizim edi Multics Relational Data do'koni (1976 yil iyun).[iqtibos kerak ] Oracle 1979 yilda Relational Software tomonidan chiqarilgan Oracle korporatsiyasi.Ingres va IBM BS12 ergashdi. RDBMSning boshqa misollariga quyidagilar kiradi DB2, SAP Sybase ASE va Informiks. 1984 yilda Macintosh uchun birinchi RDBMS ishlab chiqila boshlandi, u "Silver Surfer" kodi bilan nomlandi, keyinchalik 1987 yilda chiqarildi 4-o'lchov va bugungi kunda 4D sifatida tanilgan.
Relatsion modelning nisbatan sodda tatbiq etilishi bo'lgan birinchi tizimlar quyidagilardir:
Michigan universiteti - Mikro ma'lumotlar bazasi (1969)[iqtibos kerak ]
Massachusets texnologiya instituti (1971)
Piterlidagi IBM UK ilmiy markazi - IS1 (1970-72) va uning vorisi, PRTV (1973–79)
RDBMS-ning eng keng tarqalgan ta'rifi, bu ma'lumotlarga qat'iy asoslanmagan bo'lsa ham, qatorlar va ustunlar to'plami sifatida ko'rinishni taqdim etadigan mahsulotdir. munosabat nazariyasi. Ushbu ta'rifga ko'ra, RDBMS mahsulotlari odatda Codd ning 12 qoidalarining bir nechtasini amalga oshiradi, ammo barchasini emas.
Ikkinchi fikr maktabining ta'kidlashicha, agar ma'lumotlar bazasi Coddning barcha qoidalarini bajarmasa (yoki munosabat modelidagi hozirgi tushunchani Kristofer J. Sana, Xyu Darven va boshqalar), bu aloqador emas. Ko'pgina nazariyotchilar va Codd printsiplariga qat'iy rioya qilganlar tomonidan bildirilgan ushbu fikr ko'pgina DBMS-larni aloqador emas deb diskvalifikatsiya qiladi. Tushuntirish uchun ular ko'pincha ba'zi RDBMS-larga murojaat qilishadi ma'lumotlar bazasini boshqarish tizimlari (TRDBMS), boshqalarni nomlash ma'lumotlar bazasini psevdo-relyatsion boshqarish tizimlari (PRDBMS).
2009 yilga kelib, ko'pgina tijorat aloqador DBMSlar ishlaydi SQL ularnikidek so'rovlar tili.
Muqobil so'rovlar tillari taklif qilingan va amalga oshirilgan, xususan 1996 yilgacha amalga oshirilgan Ingres QUEL.
Relyatsion model
Asosiy maqola: Relyatsion model
Ushbu model ma'lumotlarni bir yoki bir nechta tartibga soladi jadvallar (yoki "munosabatlar") ning ustunlar va qatorlar, har bir qatorni aniqlaydigan noyob kalit bilan. Qatorlar ham deyiladi yozuvlar yoki koreyslar.Ustunlar atributlar deb ham ataladi. Odatda, har bir jadval / munosabat bitta "korxona turi" ni (masalan, mijoz yoki mahsulot) ifodalaydi. Qatorlar ushbu turdagi tashkilot misollarini (masalan, "Li" yoki "stul") va ushbu misolga tegishli qiymatlarni (masalan, manzil yoki narx) aks ettiruvchi ustunlarni aks ettiradi.
Masalan, sinf jadvalining har bir qatori sinfga, sinf esa bir nechta o'quvchiga to'g'ri keladi, shuning uchun sinf jadvali va talabalar jadvali o'rtasidagi munosabatlar "birdan ko'pgacha"
Jadvalning har bir satrida o'ziga xos kalit mavjud. Jadvaldagi qatorlarni boshqa jadvallardagi qatorlarga bog'langan satrning noyob kaliti uchun ustun qo'shib bog'lash mumkin (bunday ustunlar quyidagicha tanilgan: chet el kalitlari ). Kodd o'zboshimchalik bilan murakkablikdagi ma'lumotlar aloqalarini oddiy tushunchalar to'plami bilan ifodalash mumkinligini ko'rsatdi.[iqtibos kerak ]
Ushbu ishlov berishning bir qismi doimiy ravishda jadvaldagi bitta va bitta qatorni tanlash yoki o'zgartirish imkoniyatiga ega bo'lishni o'z ichiga oladi. Shuning uchun, aksariyat jismoniy dasturlarning o'ziga xos xususiyati bor asosiy kalit (PK) jadvaldagi har bir satr uchun. Jadvalga yangi qator yozilganda, asosiy kalit uchun yangi noyob qiymat hosil bo'ladi; bu tizim birinchi navbatda jadvalga kirish uchun foydalanadigan kalit. Tizimning ishlashi PK uchun optimallashtirilgan. Boshqalar, ko'proq tabiiy kalitlar sifatida aniqlanishi va belgilanishi mumkin muqobil kalitlar (AK). AK hosil qilish uchun ko'pincha bir nechta ustunlar kerak bo'ladi (bu bitta tamsayı ustun odatda PK bo'lishining bir sababi). Ikkala PK va AK ham jadval ichidagi qatorni noyob tarzda aniqlash qobiliyatiga ega. Dunyo bo'ylab noyob identifikatorni ta'minlash uchun qo'shimcha texnologiyalar qo'llanilishi mumkin, a global noyob identifikator, kengroq tizim talablari mavjud bo'lganda.
Ma'lumotlar bazasi ichidagi asosiy kalitlar jadvallar o'rtasidagi munosabatlarni aniqlash uchun ishlatiladi. PK boshqa jadvalga o'tganda, u boshqa jadvalda chet el kalitiga aylanadi. Har bir katak faqat bitta qiymatdan iborat bo'lishi va PK odatiy jadvalga o'tishi bilan, ushbu dizayn namunasi a ni ifodalashi mumkin bittadan yoki birdan ko'pga munosabatlar. Ma'lumotlar bazasining ko'pgina dizaynlari hal qilinadi ko'p-ko'p ikkala boshqa jadval jadvallaridan PKlarni o'z ichiga olgan qo'shimcha jadval yaratish orqali aloqalar - munosabatlar mavjudlikka aylanadi; keyinchalik rezolyutsiya jadvali mos ravishda nomlanadi va ikkita FK birlashtirilib PK hosil bo'ladi. PKlarning boshqa jadvallarga ko'chishi, tizim tomonidan tayinlangan butun sonlarning normal ravishda PK sifatida ishlatilishining ikkinchi asosiy sababi; Boshqa turdagi ustunlarni ko'chirishda odatda na samaradorlik va na aniqlik mavjud.
|