Relyatsion ma'lumotlar bazasining asosiy tushunchalari
Ma'lumotlar omborini boshqarish tizimining asosiy tushunchalaridan va relyatsion ma'lumotlar bazalari nazariyasiga qisqacha kirishdan boshlaylik - bugungi kunda ma'lumotlarni saqlashning eng mashhur usuli.
Ma'lumotlarning o'zaro bog'liqlik modeli
Ma'lumotlarning o'zaro bog'liqlik modeli Ma'lumotlar bazasini taniqli tadqiqotchi doktor E.F.Kodd tomonidan 1969 yilda IBMda bo'lganida taklif qilingan. Bu modelning asosiy kontseptsiyalari birinchi marta 1970 yilda nashr etilgan (Katta ma'lumotli banklar uchun ma'lumotlarning o'zaro bog'liq modeli, CACM, 1970, 13 N 6).
Relyatsion ma'lumotlar bazasi-bu ikki o'lchovli jadvallar to'plamini o'z ichiga olgan ma'lumotlar ombori. Bunday omborni boshqarish uchun vositalar to'plami deyiladi Ma'lumotlar bazasini boshqarish tizimi (RDBMS)... RDBMSda yordamchi dasturlar, xizmatlar, kutubxonalar, ilovalar yaratish vositalari va boshqa komponentlar bo'lishi mumkin.
Ma'lumotlar bazasining har qanday jadvali quyidagilardan iborat torlar(ham deyiladi yozuvlar) va ustunlar(ham deyiladi chegaralar). Ushbu tsiklda biz ikkala juft atamani ishlatamiz.
Jadval satrlarida unda keltirilgan faktlar (yoki hujjatlar, yoki odamlar, bir so'z bilan aytganda, bir xil turdagi ob'ektlar) haqidagi ma'lumotlar mavjud. Ustun va qatorning kesishmasida jadvalda keltirilgan ma'lumotlarning aniq qiymatlari mavjud.
Jadvaldagi ma'lumotlar quyidagi printsiplarga mos keladi:
Qator va ustun kesishmasidagi har bir qiymat bo'lishi kerak atomik(ya'ni uni bir necha qiymatlarga bo'lish mumkin emas).
Xuddi shu ustundagi ma'lumotlar qiymatlari berilgan DBMSda foydalanish uchun bir xil turdagi bo'lishi kerak.
Jadvaldagi har bir yozuv o'ziga xosdir, ya'ni uning maydonlari uchun mutlaqo bir xil qiymatlar to'plamiga ega bo'lgan ikkita yozuv yo'q.
Har bir maydon o'ziga xos nomga ega.
Jadvaldagi maydonlar ketma -ketligi muhim emas.
Yozuvlar ketma -ketligi ham ahamiyatsiz.
Jadval satrlari tartiblanmagan deb hisoblansa -da, ma'lumotlar bazasini boshqarishning har qanday tizimi siz tanlagan satr va ustunlarni foydalanuvchi xohlagan tarzda saralash imkonini beradi.
Jadvaldagi ustunlar ketma -ketligi ahamiyatsiz bo'lgani uchun, ularga ism bilan havola qilinadi va bu nomlar berilgan jadval uchun noyobdir (lekin butun ma'lumotlar bazasida yagona bo'lishi shart emas).
Endi biz bilamizki, relyatsion ma'lumotlar bazalari jadvallardan iborat. Ba'zi nazariy tushunchalarni tasvirlash va misollar yaratish uchun biz qandaydir ma'lumotlar bazasini tanlashimiz kerak. "G'ildirakni qaytadan kashf qilmaslik" uchun biz Microsoft -ga kiritilgan NorthWind ma'lumotlar bazasidan foydalanamiz SQL server va Microsoft Access.
Endi jadvallar orasidagi munosabatlarni ko'rib chiqaylik.
Kalitlar va havolalar
Keling, NorthWind ma'lumotlar bazasidan mijozlar jadvalining parchasini ko'rib chiqaylik (biz undan jadvallar orasidagi munosabatlarni ko'rsatish uchun ahamiyatsiz bo'lgan maydonlarni olib tashladik).
Jadvaldagi qatorlar tartibsiz bo'lgani uchun, har bir satrni alohida aniqlash uchun bizga ustun (yoki bir nechta ustunlar to'plami) kerak bo'ladi. Bunday ustun (yoki ustunlar to'plami) deyiladi asosiy kalit (asosiy kalit). Har qanday jadvalning asosiy kaliti har bir satr uchun yagona bo'sh bo'lmagan qiymatlarni o'z ichiga olishi kerak.
Agar asosiy kalitda bir nechta ustun bo'lsa, u chaqiriladi kompozit asosiy kalit (kompozit asosiy kalit).
Odatda, ma'lumotlar bazasi bir nechta tegishli jadvallardan iborat. Buyurtmalar jadvalining bo'lagi.
Ushbu jadvaldagi CustomerID maydonida buyurtma bergan mijozning identifikatori mavjud. Agar biz buyurtma bergan kompaniyaning nomini bilishimiz kerak bo'lsa, biz mijozlar jadvalining CustomerID maydonidan bir xil mijoz identifikatori qiymatini qidirishimiz va topilgan qatorda CompanyName maydonining qiymatini o'qishimiz kerak. Boshqacha qilib aytganda, biz ikkita jadvalni, mijozlar va buyurtmalarni, CustomerID maydoniga bog'lashimiz kerak. Bu yozuv bilan bog'liq boshqa jadvaldagi yozuvni ko'rsatuvchi ustun deyiladi tashqi kalit (tashqi kalit). Ko'rib turganingizdek, Buyurtmalar jadvalida tashqi kalit - bu CustomerID ustuni (1 -rasm).
Boshqacha qilib aytganda, chet el kaliti - bu ustun yoki ustunlar to'plami, ularning qiymatlari boshqa jadvalning asosiy kalit qiymatlariga mos keladi.
Jadvallar orasidagi bu munosabatlar deyiladi aloqa (munosabatlar). Ikkala jadval o'rtasidagi munosabatlar bir jadvalning tashqi kalit qiymatlarini boshqasining asosiy kalit qiymatlariga berish orqali o'rnatiladi.
Agar xaridorlar jadvalidagi har bir xaridor faqat bitta buyurtma bera oladigan bo'lsa, ikkita jadval o'zaro bog'liq deb aytiladi bittadan biriga (yakka munosabatlar). Agar xaridorlar jadvalidagi har bir xaridor nol, bitta yoki ko'p buyurtma bera oladigan bo'lsa, ikkita jadval o'zaro bog'liqligi aytiladi birdaniga (ko'pdan-ko'p munosabat) yoki munosabatlar usta tafsiloti... Jadvallar o'rtasidagi o'xshash munosabatlar ko'pincha ishlatiladi. Bunday holda, tashqi kalitni o'z ichiga olgan jadval chaqiriladi batafsil jadval va mumkin bo'lgan xorijiy kalit qiymatlarini belgilaydigan asosiy kalitni o'z ichiga olgan jadval chaqiriladi asosiy stol.
Tegishli jadvallar guruhi deyiladi sxema Ma'lumotlar bazasi ( ma'lumotlar bazasi sxemasi). Jadvallar, ularning ustunlari (ismlar, ma'lumotlar turi, maydon uzunligi), asosiy va chet el kalitlari, shuningdek ma'lumotlar bazasining boshqa ob'ektlari haqidagi ma'lumotlar deyiladi. metadata (metadata).
Ma'lumotlar bazasidagi har qanday manipulyatsiyalar, masalan, ma'lumotlarni tanlash, kiritish, o'chirish, yangilash, metadatani o'zgartirish yoki tanlash. so'rov bo'yicha ma'lumotlar bazasiga ( so'rov). Odatda, so'rovlar har xil DBMS uchun standart yoki ma'lum bir DBMS uchun xos bo'lgan tilda tuziladi.
Yo'naltiruvchi yaxlitlik
Yuqorida aytganimizdek, har qanday jadvalning asosiy kaliti bu jadval uchun yagona bo'sh bo'lmagan qiymatlarni o'z ichiga olishi kerak. Bu bayonot qoidalardan biridir mos yozuvlar yaxlitligi (mos yozuvlar yaxlitligi). Ba'zi (lekin hammasi emas) DBMSlar asosiy kalitlarning o'ziga xosligini boshqarishi mumkin. Agar DBMS birlamchi kalitlarning o'ziga xosligini nazorat qilsa, u holda kalitni boshqa yozuvda bo'lgan qiymatga belgilashga harakat qilganda, DBMS odatda iborani o'z ichiga olgan diagnostika xabarini ishlab chiqaradi. asosiy kalit buzilishi... Keyin bu xabarni ilovaga yuborish mumkin, uning yordamida oxirgi foydalanuvchi ma'lumotlarni o'zgartiradi.
Agar ikkita jadval o'zaro bog'liq bo'lsa usta tafsiloti, tashqi kalit batafsil- jadvallar faqat asosiy kalit qiymatlari orasida mavjud bo'lgan qiymatlarni o'z ichiga olishi kerak usta- jadvallar. Agar chet el kalitlari qiymatlarining to'g'riligi VBB tomonidan nazorat qilinmasa, biz ma'lumotlarning yaxlitligini buzish haqida gapirishimiz mumkin. Bunday holda, agar biz xaridorlar jadvalidan hech bo'lmaganda bittasi bilan bog'liq bo'lgan yozuvni o'chirib tashlasak batafsil-"Buyurtmalar" jadvalidagi yozuv, bu "Buyurtmalar" jadvalida noma'lum kimsa tomonidan berilgan buyurtmalar yozuvlari bo'lishiga olib keladi. Agar DBMS chet el kalitlari qiymatlarining to'g'riligini nazorat qilsa, u holda chet el kalitiga asosiy jadvalning asosiy kalitlari qiymatlarida bo'lmagan qiymatni belgilashga urinishda yoki asosiy yozuvlarni o'chirish yoki o'zgartirish paytida. ma'lumotlarning yaxlitligi buzilishiga olib keladigan jadval, ma'lumotlar bazasi diagnostika xabarini yaratadi, odatda bu iborani o'z ichiga oladi tashqi kalitlarning buzilishi, keyinchalik uni foydalanuvchi ilovasiga o'tkazish mumkin.
Microsoft Access 97, Microsoft Access 2000 va boshqalar kabi eng zamonaviy DBMSlar Microsoft SQL Server 7.0, agar ma'lumotlar bazasida tasvirlangan bo'lsa, mos yozuvlar yaxlitligi qoidalarini bajarishga qodir. Shu maqsadda bunday DBMSlar ma'lumotlar bazasining turli ob'ektlaridan foydalanadi (ular haqida biroz keyinroq gaplashamiz). Bunday holda, ma'lumotlarning yaxlitligi qoidalarini buzishga bo'lgan barcha urinishlar bir vaqtning o'zida diagnostik xabarlar yoki istisnolarni yaratish bilan bostiriladi ( ma'lumotlar bazasi istisnolari).
Ma'lumotni normallashtirishga kirish
Ma'lumotni loyihalash jarayoni - bu kelajakdagi ma'lumotlar bazasi qo'llaniladigan axborot tizimining maqsadlariga muvofiq metadata ta'rifi. Domen tahlilini qanday o'tkazish, shaxs-munosabatlar diagrammasini tuzish bo'yicha tafsilotlar ( ERD - shaxs -munosabatlar diagrammasi) va ma'lumotlar modellari ushbu tsikl doirasidan tashqarida. Bu savollarga qiziquvchilar, masalan, C.J.Date "Ma'lumotlar bazasi tizimlariga kirish" ("Dialektika", Kiev, 1998) kitobiga murojaat qilishlari mumkin.
Ushbu maqolada biz faqat ma'lumotlar dizaynining asosiy tamoyillaridan biri - printsipni muhokama qilamiz normallashtirish.
Do'stlaringiz bilan baham: |