Relyatsion ma'lumotlar bazalari. Asosiy tushunchalar, aloqa xossalari, ma’lumotlar modeli, relyatsion operatsiyalar va hisoblash

Bosh sahifa > Ma'ruza

Ma'ruza DB 2-bob ARASLI MA'LUMOT BAZALARI 2.1. Shartlar va ta'riflar Relyatsion ma'lumotlar bazalarini ishlab chiqish 1960-yillarning oxirida, ma'lumotlarni jadval shaklida taqdim etishni rasmiylashtirish uchun mutaxassislarga tanish bo'lgan usullarni qo'llash imkoniyatlarini muhokama qilgan birinchi ishlar paydo bo'lganda boshlandi. Ba'zi ekspertlar ma'lumotni qaror qabul qilish jadvallarini taqdim etishning ushbu usulini, boshqalari - jadvalli algoritmlar deb atashadi. Relyatsion ma'lumotlar bazalari nazariyotchilari ma'lumotni taqdim etishning jadval usulini datalogik modellar deb atashgan. Relyatsion ma'lumotlar bazalari nazariyasi asoschisi 1970 yil 6 iyunda "Katta umumiy ma'lumotlar banklari uchun ma'lumotlarning relyatsion modeli" maqolasini nashr etgan IBM xodimi doktor E. F. Kodd hisoblanadi. Ushbu maqolada birinchi marta relyatsion ma'lumotlar bazasining boshlanishini belgilovchi "relyatsion ma'lumotlar modeli" atamasi ishlatilgan. Relyatsion ma'lumotlar bazasi nazariyasi 1970-yillarda ishlab chiqilgan. AQShda doktor E.F.Kodd tomonidan to'plamlar nazariyasining matematik apparatiga tayangan. U har qanday ma'lumotlar to'plamini ikki o'lchovli jadvallar shaklida tasvirlash MUMKINligini isbotladi maxsus turi, matematikada munosabatlar sifatida tanilgan. Kimdan Inglizcha so'z"munosabat" "munosabatlar") va "relational ma'lumotlar modeli" nomi paydo bo'ldi. Hozirgi vaqtda ma'lumotlar bazalarini (MB) loyihalashning nazariy asosi relyatsion algebraning matematik apparati hisoblanadi (1.2-kichik bo'limga qarang). Shunday qilib, relyatsion ma'lumotlar bazasi - bu ikki o'lchovli massivlar - jadvallar ko'rinishida taqdim etilgan, muayyan ulanishlar bilan birlashtirilgan ob'ektlar haqidagi ma'lumotlar (ma'lumotlar). Ma'lumotlar bazasi bitta jadvaldan ham iborat bo'lishi mumkin. Relyatsion ma'lumotlar bazalarini qo'shimcha o'rganishni davom ettirishdan oldin, keling, nazariya va amaliyotda qo'llaniladigan atamalar va ta'riflarni ko'rib chiqaylik. Ma'lumotlar bazasi jadvali- ob'ektlarning bir sinfi haqidagi ma'lumotlarni o'z ichiga olgan ikki o'lchovli massiv. Relyatsion algebra nazariyasida ikki o'lchovli massiv (jadval) deyiladi munosabat. Jadval quyidagi elementlardan iborat: maydon, katak, yozuv (2.1-rasm). Maydon ma'lumotlar bazasi ob'ektlarini tavsiflovchi atributlardan birining qiymatlarini o'z ichiga oladi. Jadvaldagi maydonlar soni ma'lumotlar bazasi ob'ektlarini tavsiflovchi atributlar soniga mos keladi. 22 Hujayra tegishli maydonning o'ziga xos qiymatini o'z ichiga oladi (bitta ob'ektning atributi). Yozib olish- stol qatori. U bitta ob'ektni tavsiflovchi barcha xususiyatlarning qiymatlarini o'z ichiga oladi. Yozuvlar (satrlar) soni jadvaldagi ma'lumotlar mavjud bo'lgan ob'ektlar soniga mos keladi. Ma'lumotlar bazasi nazariyasida atama yozib olish tushunchasiga mos keladi yadro- AND munosabati bilan o'zaro bog'langan atributlar ketma-ketligi. Grafik nazariyasida kortej yo'naltirilgan grafikning oddiy novdasi - daraxtni bildiradi. Jadvalda 2.1 relyatsion ma'lumotlar bazalarini ishlab chiqish nazariyasi va amaliyotida qo'llaniladigan atamalarni ko'rsatadi. Relyatsion ma'lumotlar bazalarining optimal tuzilmasini yaratish uchun zarur bo'lgan muhim tushunchalardan biri bu kalit yoki asosiy maydon tushunchasi. Kalit Qiymatlari jadvaldagi barcha boshqa maydonlarning qiymatlarini yagona tarzda aniqlaydigan maydon hisoblanadi. Masalan, "Pasport raqami" yoki "Soliq to'lovchining identifikatsiya raqami (TIN)" maydoni har qanday shaxsning xususiyatlarini aniq belgilaydi. individual(korxonaning kadrlar bo'limi yoki buxgalteriya bo'limlari uchun tegishli ma'lumotlar bazasi jadvallarini tuzishda).
23

Jadvalning kaliti bitta emas, balki bir nechta maydon bo'lishi mumkin. Bunday holda, maydonlar to'plami faqat ikkita vaqtga bog'liq bo'lmagan shartlar bajarilgan taqdirdagina mumkin bo'lgan jadval kaliti bo'lishi mumkin: o'ziga xoslik va minimallik. Birlamchi kalitning bir qismi bo'lmagan har bir maydon jadvalning kalit bo'lmagan maydoni deb ataladi.

O'ziga xoslik kalit har qanday vaqtda ma'lumotlar bazasi jadvali bir xil kalit maydon qiymatlariga ega bo'lgan ikkita turli yozuvni o'z ichiga olmaydi. Yagonalik shartini bajarish majburiydir. Vaziyat minimalizm kalit maydonlar faqat tanlangan maydonlar qiymatlarining kombinatsiyasi ma'lumotlar bazasi jadvali yozuvlarining o'ziga xosligi talablariga javob berishini anglatadi. Bu shuningdek, kalitga kiritilgan maydonlarning hech biri noyoblikni buzmasdan undan chiqarib tashlanishi mumkin emasligini anglatadi. Bir nechta maydonlardan iborat bo'lgan ma'lumotlar bazasi jadvali uchun kalitni yaratishda siz quyidagi qoidalarga amal qilishingiz kerak: siz kalit jadvalga qiymatlari jadvaldagi yozuvlarni o'ziga xos tarzda aniqlaydigan maydonlarni kiritmasligingiz kerak. Masalan, "pasport raqami" va "soliq to'lovchining identifikatsiya raqami" maydonlarini o'z ichiga olgan kalit yaratmasligingiz kerak, chunki bu atributlarning har biri jadvaldagi yozuvlarni alohida aniqlashi mumkin; Kalitga noyob bo'lmagan maydonni, ya'ni qiymatlari jadvalda takrorlanishi mumkin bo'lgan maydonni kirita olmaysiz. Har bir jadval sifatida tanlangan kamida bitta mumkin bo'lgan kalit bo'lishi kerak asosiy kalit. Agar jadvalda har birining qiymatlari yozuvlarni alohida aniqlaydigan maydonlar mavjud bo'lsa, bu maydonlar sifatida qabul qilinishi mumkin. muqobil kalitlar. Misol uchun, agar siz soliq to'lovchining identifikatsiya raqamini asosiy kalit sifatida tanlasangiz, u holda pasport raqami muqobil kalit bo'ladi. 2.2. Relyatsion ma'lumotlar bazasi jadvallarini normallashtirish Relyatsion ma'lumotlar bazasi - bu o'zaro bog'langan jadvallar to'plami. Bitta fayl yoki bitta ma'lumotlar bazasidagi jadvallar soni ko'plab omillarga bog'liq bo'lib, ularning asosiylari: ma'lumotlar bazasi foydalanuvchilarining tarkibi, ma'lumotlarning yaxlitligini ta'minlash (ayniqsa, ko'p foydalanuvchilarda muhim ahamiyatga ega) axborot tizimlari ah), kerakli xotiraning eng kichik hajmini va ma'lumotlarni qayta ishlashning minimal vaqtini ta'minlash. 24

Relyatsion ma'lumotlar bazalarini loyihalashda ushbu omillarni hisobga olish jadvallarni normallashtirish va ular o'rtasida aloqalarni o'rnatish usullari bilan amalga oshiriladi.

Jadvallarni normallashtirish bir ma'lumotlar bazasi jadvalini odatda yuqorida sanab o'tilgan talablarga javob beradigan bir nechta jadvallarga bo'lish usullarini ifodalaydi. Jadvalni normallashtirish - jadval tuzilmasini normallashtirishning oxirgi shakli talablarini qondirmaguncha ketma-ket o'zgarishi. Hammasi bo'lib normalizatsiyaning oltita shakli mavjud:
    birinchi normal shakl (Birinchi Oddiy shakl - 1NF); ikkinchi normal shakl (Ikkinchi Oddiy shakl - 2NF); uchinchi normal shakl (Uchinchi normal shakl - ZNF); Brice - Codd Oddiy shakli -BCNF; to'rtinchi normal shakl (To'rtinchi Oddiy shakl - 4NF); beshinchi normal shakl yoki proyeksiya-tushish normal shakli (Beshinchi normal shakl - 5NF yoki PJ/NF ).
Oddiy shakllarni tavsiflashda quyidagi tushunchalar qo'llaniladi: "maydonlar orasidagi funktsional bog'liqlik"; "maydonlar orasidagi to'liq funktsional bog'liqlik"; "maydonlar orasidagi ko'p qiymatli funktsional bog'liqlik"; "maydonlar orasidagi o'tishli funktsional bog'liqlik"; "sohalar o'rtasidagi o'zaro mustaqillik". Funktsional bog'liqlik A va B maydonlari o'rtasidagi munosabatlar vaqtning istalgan nuqtasida A ning har bir qiymati barcha mumkin bo'lganlarning yagona B qiymatiga mos keladi. Soliq to'lovchining identifikatsiya raqami va uning pasporti raqami o'rtasidagi bog'liqlik funktsional munosabatlarga misol bo'ladi. To'liq funktsional bog'liqlik kompozit maydon A va B maydoni o'rtasidagi bog'liqlik bo'lib, B maydoni funktsional jihatdan A maydoniga bog'liq va funktsional jihatdan A maydonining biron bir kichik to'plamiga bog'liq emas. Ko'p qiymatli funktsional bog'liqlik maydonlar orasida quyidagicha aniqlanadi. A maydoni ko'p qiymatli B maydonini belgilaydi, agar A maydonining har bir qiymati uchun B maydonining mos qiymatlarining "yaxshi belgilangan to'plami" mavjud bo'lsa. Masalan, maydonlarni o'z ichiga olgan maktabdagi o'quvchilarning faoliyati jadvalini ko'rib chiqsak. "Mavzu" (A maydoni) va "Baholash" (B maydoni), keyin B maydonida maqbul qiymatlarning "yaxshi belgilangan to'plami" mavjud: 1, 2, 3, 4, 5, ya'ni "Element" maydonining har bir qiymati uchun "Baholash" maydoni uchun ko'p qiymatli "yaxshi belgilangan" qiymatlar to'plami mavjud. Transitiv funktsional bog'liqlik A va C maydonlari o'rtasida C maydoni funktsional jihatdan 25 B maydoniga va B maydoni funktsional jihatdan A maydoniga bog'liq bo'lsa mavjud; bu holda A maydonining B maydoniga funktsional bog'liqligi yo'q. Sohalar o'rtasidagi o'zaro mustaqillik quyidagicha aniqlanadi. Agar ularning hech biri funktsional jihatdan boshqasiga bog'liq bo'lmasa, bir nechta sohalar o'zaro mustaqildir. Birinchi oddiy shakl. Jadval birinchi oddiy shaklda bo'ladi, agar maydonlarning hech birida bir nechta qiymat bo'lmasa va kalit maydoni bo'sh bo'lmasa. Birinchi normal shakl relyatsion ma'lumotlar modelining asosidir. Relyatsion ma'lumotlar bazasidagi har qanday jadval avtomatik ravishda birinchi oddiy shaklda bo'ladi; aks holda, ta'rifga ko'ra, bu shunchaki mumkin emas. Bunday jadvalda bir nechta maydonlarga (atributlarga) bo'linadigan maydonlar (atributlar) bo'lmasligi kerak. Normallashtirilmagan jadvallar, qoida tariqasida, ular tarkibidagi ma'lumotlarni kompyuterda qayta ishlash uchun mo'ljallanmagan jadvallardir. Masalan, jadvalda. 2.2-rasmda Metall kesish mashinalari eksperimental tadqiqot instituti (ENIMS) tomonidan nashr etilgan "Universal metall kesish dastgohlari" ma'lumotnomasidan jadvalning bir qismi ko'rsatilgan. Ushbu jadval quyidagi sabablarga ko'ra normallashtirilmagan. 1. U bitta katakdagi bitta maydonning bir nechta qiymatlariga ega bo'lgan qatorlarni o'z ichiga oladi: "Eng katta ishlov berish diametri, mm" va "Spindel aylanish tezligi, rpm". 2. Bitta maydon - "Galbal o'lchamlar (uzunlik x kenglik x balandlik), mm" uchta maydonga bo'linishi mumkin: "Uzunlik, mm", "Eng, mm" va "Balandlik, mm". Bunday bo'linishning maqsadga muvofiqligi maydonlarni yoki ishg'ol qilingan hajmlarni keyingi hisoblash zarurati bilan oqlanishi mumkin. Manba jadvali birinchi oddiy shaklga aylantirilishi kerak. Buning uchun sizga kerak: "Eng katta ishlov berish diametri, mm" va "Miq aylanish tezligi, rpm" maydonlarini bitta katakdagi qiymatlar soniga muvofiq bir nechta maydonlarga bo'ling;
26

"Umumiy o'lchamlar (uzunlik x kenglik x balandlik), mm" maydoni uchta maydonga bo'linadi: "Uzunlik, mm", "Eng, mm", "Balandlik, mm". Ushbu jadvalning asosiy maydoni "Mashina modeli" yoki "Element raqami" maydoni bo'lishi mumkin. Jadvalda oddiy shakl turi mavjud. 2.3. Keling, yana bir misolni ko'rib chiqaylik. Shaklda. 2.2-rasmda test va imtihon varaqasi blankasining fragmenti ko'rsatilgan, avvalgi misoldagidek, dastlab kompyuterda ishlov berish uchun mo'ljallanmagan. Aytaylik, biz mos ravishda test va imtihon sessiyasi natijalarini avtomatlashtirilgan qayta ishlash uchun ma'lumotlar bazasini yaratmoqchimiz
27

test va imtihon varaqasi mazmuni bilan. Buning uchun forma mazmunini ma'lumotlar bazasi jadvallariga aylantiramiz. Maydonlar orasidagi funktsional bog'liqlik shartlariga rioya qilish zaruratidan kelib chiqqan holda, kamida ikkita jadval yaratish kerak (2.3-rasm) (har bir jadvaldagi asosiy maydonlar qalin harflar bilan ajratilgan). Birinchi jadvalda har bir talaba tomonidan ma'lum bir fan bo'yicha test (imtihon) topshirish natijalari mavjud. Ikkinchi jadvalda ma'lum bir fan bo'yicha ma'lum bir guruh talabalarining testini (imtihonini) topshirishning yakuniy natijalari mavjud. Birinchi jadvalda kalit maydoni "Talabaning ismi", ikkinchi jadvalda - "Intizom" maydoni. Jadvallar "Intizom" va "Guruh kodi" maydonlari orqali bir-biriga bog'langan bo'lishi kerak.

Taqdim etilgan jadval tuzilmalari birinchi oddiy shakl talablariga to'liq javob beradi, ammo quyidagi kamchiliklari bilan tavsiflanadi: jadvallarga yangi ma'lumotlarni qo'shish barcha maydonlar uchun qiymatlarni kiritishni talab qiladi; Har bir jadvalning har bir qatorida "Intizom", "O'qituvchining to'liq ismi", "Guruh kodi" maydonlari uchun takroriy qiymatlarni kiritish kerak. Binobarin, jadvallarning bunday tarkibi va ularning tuzilishi bilan ma'lumotlarning aniq ortiqchaligi mavjud bo'lib, bu tabiiy ravishda qo'shimcha xotira hajmini talab qiladi. Ro'yxatdagi kamchiliklardan qochish uchun jadvallarni ikkinchi yoki uchinchi oddiy shaklga qisqartirish kerak. Ikkinchi normal shakl. Jadval ikkinchi normal shaklda bo'ladi, agar u birinchi normal shakl talablariga javob bersa va uning asosiy kalitga kiritilmagan barcha maydonlari funktsional jihatdan birlamchi kalitga to'liq bog'liq bo'lsa. 28

Agar jadvalda faqat bitta maydondan iborat oddiy asosiy kalit bo'lsa, u avtomatik ravishda ikkinchi normal shaklda bo'ladi.

Agar asosiy kalit kompozit bo'lsa, jadval ikkinchi normal shaklda bo'lishi shart emas. Keyin u ikki yoki undan ortiq jadvalga bo'linishi kerak, shunda asosiy kalit har qanday maydondagi qiymatni noyob tarzda aniqlaydi. Agar jadvalda birlamchi kalitga bog'liq bo'lmagan kamida bitta maydon bo'lsa, u holda asosiy kalitga qo'shimcha ustunlar kiritilishi kerak. Agar bunday ustunlar bo'lmasa, unda siz yangi ustun qo'shishingiz kerak. Ikkinchi normal shaklni belgilovchi ushbu shartlarga asoslanib, tuzilgan jadvallarning xarakteristikalari bo'yicha quyidagi xulosalar chiqarish mumkin (2.3-rasmga qarang). Birinchi jadvalda kalit maydon va "O'qituvchining ismi" maydoni o'rtasida to'g'ridan-to'g'ri bog'liqlik yo'q, chunki bitta fan bo'yicha test yoki imtihon turli o'qituvchilar tomonidan topshirilishi mumkin. Jadvalda faqat boshqa barcha sohalar va "Intizom" kalit maydoni o'rtasida to'liq funktsional bog'liqlik mavjud. Xuddi shunday, ikkinchi jadvalda kalit maydoni va "O'qituvchi nomi" maydoni o'rtasida to'g'ridan-to'g'ri bog'liqlik yo'q. Ma'lumotlar bazasini optimallashtirish, xususan, har bir yozuvda "Intizom" va "O'qituvchining ismi" maydonlarining qiymatlarini takrorlash zarurati tufayli kerakli xotira hajmini kamaytirish uchun ma'lumotlar bazasining tuzilishini o'zgartirish kerak. ma'lumotlar bazasi - asl jadvallarni ikkinchi oddiy shaklga o'tkazish. O'zgartirilgan ma'lumotlar bazasi tuzilmasidagi jadvallarning tarkibi rasmda ko'rsatilgan. 2.4. O'zgartirilgan ma'lumotlar bazasi tuzilmasi oltita jadvaldan iborat bo'lib, ulardan ikkitasi bir-biriga bog'langan (har bir jadvaldagi asosiy maydonlar qalin rang bilan ajratilgan). Barcha jadvallar ikkinchi normal shakl talablariga javob beradi. Beshinchi va oltinchi jadvallar o'z sohalarida takroriy qiymatlarga ega, ammo bu qiymatlar matnli ma'lumotlar o'rniga butun sonlar ekanligini hisobga olsak, ma'lumotni saqlash uchun zarur bo'lgan umumiy xotira hajmi dastlabki jadvallarga qaraganda sezilarli darajada kamroq (2.1-rasmga qarang). . Bundan tashqari, ma'lumotlar bazasining yangi tuzilmasi turli mutaxassislar (boshqaruv xizmatlari bo'linmalari) tomonidan jadvallarni to'ldirish imkoniyatini beradi. Ma'lumotlar bazasi jadvallarini yanada optimallashtirish ularni uchinchi oddiy shaklga olib keladi. Uchinchi normal shakl. Jadval uchinchi normal shaklda bo'ladi, agar u ikkinchi normal shaklning ta'rifiga javob bersa va uning kalit bo'lmagan maydonlarining hech biri boshqa biron bir kalit bo'lmagan maydonga funktsional jihatdan bog'liq bo'lmasa. 29

Jadval ikkinchi normal shaklda bo'lsa va har bir kalit bo'lmagan maydon birlamchi kalitga o'tish jihatdan bog'liq bo'lmasa, jadval uchinchi normal shaklda deb aytishingiz mumkin. Uchinchi normal shaklning talabi shundan iboratki, barcha kalit bo'lmagan maydonlar faqat birlamchi kalitga bog'liq va bir-biridan mustaqildir. Ushbu talablarga muvofiq, ma'lumotlar bazasi jadvallarining bir qismi sifatida (2.3-rasmga qarang), uchinchi normal shakl birinchi, ikkinchi, uchinchi va to'rtinchi jadvallarni o'z ichiga oladi. Beshinchi va oltinchi jadvallarni uchinchi normal shaklga keltirish uchun biz talabalar guruhlarida imtihonlar yoki testlar o'tkaziladigan fanlar tarkibi to'g'risidagi ma'lumotlarni o'z ichiga olgan yangi jadval tuzamiz. Kalit sifatida biz jadvaldagi rekord raqamni o'rnatadigan "Hisoblagich" maydonini yaratamiz, chunki har bir yozuv noyob bo'lishi kerak. o'ttiz

Natijada, biz rasmda ko'rsatilgan yangi ma'lumotlar bazasi tuzilmasini olamiz. 2.5 (har bir jadvaldagi asosiy maydonlar qalin rang bilan ajratilgan). Ushbu tuzilma uchinchi normal shakl talablariga javob beradigan etti jadvalni o'z ichiga oladi.

Boysning oddiy shakli - Codd. Jadval Boyce-Codd normal ko'rinishida bo'ladi, agar uning maydonlari orasidagi har qanday funktsional bog'liqlik mumkin bo'lgan kalitga to'liq funktsional bog'liqlikgacha kamaysa. Ushbu ta'rifga ko'ra, ma'lumotlar bazasi strukturasida (2.4-rasmga qarang) barcha jadvallar Boyce-Codd normal shakli talablariga javob beradi. Ma'lumotlar bazasi jadvallarini yanada optimallashtirish jadvallarni to'liq parchalanishi uchun qisqartirilishi kerak. Jadvalning to'liq parchalanishi ular proyeksiyalarining ixtiyoriy sonining bunday to'plamini chaqirishadi, ularning ulanishi jadval mazmuniga to'liq mos keladi. Proyeksiya - bu yangi jadvalning bir yoki bir nechta ustunlarini o'z ichiga olmaydigan jadvalning nusxasi. To'rtinchi normal shakl. To'rtinchi normal shakl beshinchi normal shaklning alohida holati bo'lib, to'liq parchalanish ikkita proektsiyaning birlashishi bo'lishi kerak.
31

To'rtinchi normal shaklda bo'ladigan, lekin beshinchi normal shaklning ta'rifini qoniqtirmaydigan jadvalni topish juda qiyin.

Beshinchi normal shakl. Jadval beshinchi normal shaklda bo'ladi, agar uning har bir to'liq parchalanishida barcha proyeksiyalar mumkin bo'lgan kalit bo'lsa. To'liq parchalanishga ega bo'lmagan jadval ham beshinchi normal shaklda. Amalda ma'lumotlar bazasi jadvallarini optimallashtirish uchinchi normal shakl bilan tugaydi. Jadvallarni to'rtinchi va beshinchi oddiy shakllarga qisqartirish, bizning fikrimizcha, faqat nazariy qiziqish uyg'otadi. Amalda bu muammoni yangi jadval yaratish uchun so'rovlarni ishlab chiqish orqali hal qilish mumkin. 2.3. Jadvallar orasidagi munosabatlarni loyihalash Manba ma'lumotlar bazasi jadvallarini normallashtirish jarayoni axborot tizimining optimal tuzilmasini yaratishga - eng kam xotira resurslarini talab qiladigan va natijada ma'lumotlar bazasini ishlab chiqishga imkon beradi. eng kam vaqt axborotga kirish. Shu bilan birga, bitta manba jadvalini bir nechtaga bo'lish axborot tizimlarini loyihalashning eng muhim shartlaridan birini bajarishni talab qiladi - ma'lumotlar bazasining ishlashi davomida ma'lumotlarning yaxlitligini ta'minlash. Yuqoridagi asl jadvallarni normallashtirish misolida (2.3-rasmga qarang), ikkita jadvaldan biz oxir-oqibat uchinchi va to'rtinchi oddiy shakllarga qisqartirilgan etti jadvalni oldik. Amaliyot shuni ko'rsatadiki, haqiqiy ishlab chiqarish va biznesda ma'lumotlar bazalari ko'p foydalanuvchili tizimlardir. Bu alohida jadvallardagi ma'lumotlarni yaratish va saqlashga ham, qaror qabul qilish uchun ma'lumotlardan foydalanishga ham tegishli. Yuqorida ko'rib chiqilgan misolda, universitet yoki kollejda haqiqatan ham ishlaydigan o'quv jarayonini boshqarish tizimida o'quv guruhlarini dastlabki shakllantirish kirish imtihonlari natijalariga ko'ra abituriyentlarni qabul qilishda qabul komissiyalari tomonidan amalga oshiriladi. Oliy o‘quv yurtlarida guruhlardagi talabalar tarkibi to‘g‘risidagi ma’lumotlarni keyingi yuritish dekanatlarga, kollejlarda esa o‘quv bo‘limlari yoki tegishli tuzilmalarga yuklangan. Guruhlardagi o'quv fanlarining tarkibi boshqa xizmatlar yoki mutaxassislar tomonidan belgilanadi. Kadrlar bo'limida professor-o'qituvchilar to'g'risidagi ma'lumotlar shakllantiriladi. Test va imtihon sessiyalari natijalari dekanat va kafedra mudirlari uchun, shu jumladan, 32 nafar muvaffaqiyatli talabalarga stipendiya berish yoki o‘ta olmagan talabalarni “stipendiyadan chetlashtirish” to‘g‘risida qaror qabul qilish uchun zarurdir. Ma'lumotlar bazasi jadvallarining har qanday o'zgarishi boshqa barcha jadvallardagi tegishli o'zgarishlarga mos kelishi kerak. Bu ma'lumotlar bazasi yaxlitligini ta'minlashning mohiyatidir. Amalda bu vazifa ma'lumotlar bazasi jadvallari orasidagi bog'lanishlarni o'rnatish orqali amalga oshiriladi. Keling, jadvallar o'rtasidagi munosabatlarni o'rnatishning asosiy qoidalarini tuzamiz. 1. Bog'langan ikkita jadvaldan asosiy va bo'ysunuvchi jadvallarni tanlang. 2. Har bir jadvalda kalit maydonini tanlang. Asosiy jadvalning kalit maydoni chaqiriladi asosiy kalit. Bo'ysunuvchi jadvalning kalit maydoni chaqiriladi xorijiy kalit. 3. Bog'langan jadval maydonlari bir xil turdagi ma'lumotlarga ega bo'lishi kerak. 4. Jadvallar o'rtasida quyidagi turdagi aloqalar o'rnatiladi: "birga"; "birdan ko'pga"; "ko'pdan ko'pga": asosiy jadvalning ma'lum bir qatori istalgan vaqtda bolalar jadvalining faqat bitta qatori bilan bog'langan hollarda bir-bir munosabat o'rnatiladi; Birdan ko'pga munosabat har qanday vaqtda asosiy jadvaldagi ma'lum bir qator bo'lganda o'rnatiladi
33 pastki jadvalning bir nechta qatorlari bilan bog'langan; bunda tobe jadvalning istalgan qatori faqat asosiy jadvalning bir qatori bilan bog`lanadi; Ko'p-ko'p munosabati asosiy jadvalning ma'lum bir qatori istalgan vaqtda bo'ysunuvchi jadvalning bir nechta qatorlari bilan bog'langan va bir vaqtning o'zida bo'ysunuvchi jadvalning bir qatori asosiy jadvalning bir necha qatorlari bilan bog'langan hollarda o'rnatiladi. stol. Asosiy jadvaldagi birlamchi kalitning qiymatini o'zgartirganda, bog'liq jadval uchun quyidagi xatti-harakatlar mumkin. Kaskadli. Asosiy jadvaldagi asosiy kalit ma'lumotlari o'zgarganda, bog'liq jadvaldagi mos keladigan tashqi kalit ma'lumotlari o'zgaradi. Barcha mavjud ulanishlar saqlanadi. Cheklov. Agar siz bog'liq jadvaldagi satrlarga ega bo'lgan asosiy kalitning qiymatini o'zgartirishga harakat qilsangiz, o'zgarishlar rad etiladi. Bog'liq jadval bilan aloqa o'rnatilmagan faqat asosiy kalit qiymatlarini o'zgartirishga ruxsat beriladi. Tashkil etish (aloqa). Asosiy kalit ma'lumotlari o'zgarganda, tashqi kalit NULL ga o'rnatiladi. Bog'liq jadvaldagi qatorlarning egaligi haqidagi ma'lumotlar yo'qoladi. Agar siz bir nechta asosiy kalit qiymatlarini o'zgartirsangiz, bog'liq jadval avval o'zgartirilgan kalitlar bilan bog'langan bir nechta qatorlar guruhini yaratadi. Shundan so'ng, qaysi qator qaysi asosiy kalit bilan bog'langanligini aniqlash mumkin emas. Shaklda. 2.6-rasmda rasmda keltirilgan ma'lumotlar bazasi jadvallari orasidagi ulanish diagrammalari ko'rsatilgan. 2.5. Nazorat savollari 1. Ma lumotlar bazasi jadvalining quyidagi elementlarini aniqlang: maydon, katak, yozuv. 2. “Kalit” va “asosiy maydon” tushunchalari nimani anglatadi? 3. Qaysi kalit sohasi birlamchi, qaysi biri tashqi kalit deb ataladi? 4. Ma'lumotlar bazasi jadvallarini normallashtirish jarayoni qanday? 5. Ma'lumotlar bazasi jadvallarining qanday beshta oddiy shakllarini bilasiz? 6. Ma'lumotlar bazasi jadvallari o'rtasidagi quyidagi munosabatlar turlarini belgilang: "birga bir"; "birdan ko'pga"; "ko'pdan ko'pga". relyatsion ma'lumotlar bazasining mantiqiy modeli relyatsion ma'lumotlar bazasi ob'ektlariga. Ushbu muammoni hal qilish uchun ma'lumotlar bazasi konstruktori quyidagilarni bilishi kerak: a) relyatsion ma'lumotlar bazasi printsipial jihatdan qanday ob'ektlarga ega; b) ma'lumotlar bazasini amalga oshirish uchun tanlangan maxsus ma'lumotlar bazasi ma'lumotlar bazasi qanday ob'ektlarni qo'llab-quvvatlaydi.

Shunday qilib, biz ma'lumotlar bazasini tanlash to'g'risidagi qaror IT loyihasi menejeri tomonidan allaqachon qabul qilingan va ma'lumotlar bazasi mijozi bilan kelishilgan deb taxmin qilamiz, ya'ni. DBMS belgilangan. Ma'lumotlar bazasi dizayneri tanlangan DBMS tomonidan qo'llab-quvvatlanadigan SQL dialektini tavsiflovchi hujjatlarni ko'rib chiqishi kerak. Ushbu ma'ruzada Oracle 9i ma'lumotlar bazasi tanlangan deb taxmin qilinadi, garchi materiallarning katta qismi har qanday sanoat relyatsion DBMSdagi ob'ektlarni qamrab oladi.

Izoh. DBMS tanlash haqida. DBMSni tanlash ko'p mezonli tanlash muammosi bo'lib, bu kursda muhokama qilinmaydi. Shuni esda tutish kerakki, DBMS odatda faqat bitta ma'lumotlar modelini qo'llab-quvvatlaydi: relyatsion, ierarxik, tarmoq, ko'p o'lchovli, ob'ektga yo'naltirilgan, ob'ektga aloqador. Istisno - ma'lumotlar bazalarining kichik soni. Masalan, ADABAS, Software AG (tarmoq va aloqador modellar) yoki Oracle 9i, Oracle Inc. (relyatsion va ob'ekt-munosabat modellari). Odatda, ma'lumotlar bazasini tanlashda, boshqa barcha imkoniyatlar teng bo'lgan holda, ular sanoat standarti bo'lgan ma'lumotlar bazasini yaratishga harakat qilishadi.

Relyatsion ma'lumotlar bazasi ob'ektlari ierarxiyasi SQL standartlarida, xususan, SQL-92 standartida belgilangan bo'lib, biz ushbu ma'ruzada materialni taqdim etishda e'tibor qaratamiz. Ushbu standart deyarli barcha zamonaviy DBMSlar, shu jumladan ish stoli kompyuterlari tomonidan qo'llab-quvvatlanadi. Relyatsion ma'lumotlar bazasi ob'ektlari ierarxiyasi quyidagi rasmda ko'rsatilgan.

Eng past darajada relyatsion ma'lumotlar bazasi ishlaydigan eng kichik ob'ektlar - ustunlar (ustunlar) va qatorlar. Ular, o'z navbatida, jadvallar va ko'rinishlarga guruhlangan.

Izoh. Ma'ruza mazmunida atributlar, ustunlar, ustunlar va maydonlar sinonimlar hisoblanadi. Xuddi shu narsa "qator", "rekord" va "tuple" atamalariga ham tegishli.

Ma'lumotlar bazasining mantiqiy tuzilishining fizik ko'rinishini ifodalovchi jadvallar va ko'rinishlar sxemaga yig'iladi. Bir nechta sxemalar kataloglarga to'planadi, keyinchalik ularni klasterlarga guruhlash mumkin. Shuni ta'kidlash kerakki, SQL-92 standartidagi ob'ektlar guruhining hech biri kompyuter xotirasida ma'lumotlarni jismoniy saqlash tuzilmalari bilan bog'liq emas.


Guruch. 8.1.

Rasmda ko'rsatilgan ob'ektlardan tashqari, relyatsion ma'lumotlar bazasida indekslar, triggerlar, hodisalar, saqlangan buyruqlar, saqlangan protseduralar va boshqa bir qancha narsalarni yaratish mumkin. Endi relyatsion ma'lumotlar bazasi ob'ektlarini aniqlashga o'tamiz.

Relyatsion ma'lumotlar bazasining asosiy ob'ektlari

Klasterlar, kataloglar va sxemalar standartning va shuning uchun relyatsion ma'lumotlar bazasi dasturiy muhitining talab qilinadigan elementlari emas.

Klaster - ma'lumotlar bazasi serveriga (DBMS dasturiy komponenti) bitta ulanish orqali kirish mumkin bo'lgan kataloglar guruhi.

Amalda protsedura katalog yaratish ma'lumotlar bazasini ma'lum bir operatsion platformada amalga oshirish bilan belgilanadi. Katalog deganda sxemalar guruhi tushuniladi. Amalda, katalog ko'pincha jismoniy fayllar to'plami sifatida jismoniy ma'lumotlar bazasi bilan bog'lanadi operatsion tizim, ular uning ismi bilan aniqlanadi.

Ma'lumotlar bazasi dizayneri uchun sxema to'liq ma'lumotlar bazasi munosabatlarining umumiy mantiqiy tasviridir. SQL termini bilan aytganda, sxema - bu jadvallar, ko'rinishlar va relyatsion ma'lumotlar bazasining boshqa tarkibiy elementlari uchun konteyner. Har bir sxemada ma'lumotlar bazasi elementlarini joylashtirish to'liq ma'lumotlar bazasi dizayneri tomonidan belgilanadi.

Jadvallar va ko'rinishlarni yaratish uchun sizga sxema kerak emas. Agar siz faqat bitta mantiqiy ma'lumotlar bazasini o'rnatishni rejalashtirmoqchi bo'lsangiz, unda siz sxemasiz qilishingiz mumkinligi aniq. Ammo agar siz bir nechta ma'lumotlar bazalarini qo'llab-quvvatlash uchun bir xil ma'lumotlar bazasidan foydalanishni rejalashtirmoqchi bo'lsangiz, ma'lumotlar bazasi ob'ektlarini sxemalarga to'g'ri tartibga solish ushbu ma'lumotlar bazalarini saqlashni ancha osonlashtirishi mumkin. Amalda, sxema ko'pincha jismoniy ma'lumotlar bazasida ma'lum bir foydalanuvchi ob'ektlari bilan bog'lanadi.

Keyinchalik, relyatsion ma'lumotlar bazasi ob'ektlari Oracle 9i relyatsion DBMS kontekstiga kiritiladi. Ushbu yondashuv dizayn, chunki qabul qilindi relyatsion ma'lumotlar bazasining fizik modeli muayyan amalga oshirish muhiti uchun amalga oshiriladi.

Oracle 9i-da Sxema atamasi foydalanuvchi tomonidan yaratilgan barcha ma'lumotlar bazasi ob'ektlarini tavsiflash uchun ishlatiladi. Har bir yangi foydalanuvchi uchun yangi sxema avtomatik ravishda yaratiladi.

Relyatsion ma'lumotlar bazalarining asosiy ob'ektlari jadval, ko'rinish va foydalanuvchini o'z ichiga oladi.

Jadval relyatsion ma'lumotlar bazasining asosiy tuzilishidir. U ma'lumotlarni saqlash birligini - munosabatni ifodalaydi. Jadval ma'lumotlar bazasida foydalanuvchi identifikatsiyasini o'z ichiga olgan noyob nomi bilan aniqlanadi. Jadval bo'sh bo'lishi yoki qatorlar to'plamidan iborat bo'lishi mumkin.

Ko'rinish - bu bir yoki bir nechta ma'lumotlar bazasi jadvallaridan nomlangan, dinamik ravishda saqlanadigan DBMS tanlovidir. Qabul qilish operatori foydalanuvchiga ko'rinadigan ma'lumotlarni cheklaydi. Odatda, DBMS ko'rinishning dolzarbligini kafolatlaydi - u ko'rinishdan har safar foydalanilganda hosil bo'ladi. Ba'zan ko'rinishlar chaqiriladi virtual jadvallar.

Foydalanuvchi - bu ma'lumotlar bazasining boshqa ob'ektlarini yaratish yoki ulardan foydalanish va seansni tashkil qilish, ma'lumotlar bazasi holatini o'zgartirish va h.k. kabi DBMS funktsiyalarini bajarishni so'rash qobiliyatiga ega bo'lgan ob'ekt.

Ob'ektlarni aniqlash va nomlashni osonlashtirish uchun ma'lumotlar bazasi sinonim, ketma-ketlik va kabi ob'ektlarni qo'llab-quvvatlaydi.

Sinonimi ( Sinonimi)- Bu Muqobil ism relyatsion ma'lumotlar bazasi ob'ekti (taxallus) ushbu ob'ektga kirish imkonini beradi. Sinonim umumiy yoki xususiy bo'lishi mumkin. Umumiy sinonim barcha ma'lumotlar bazasi foydalanuvchilariga mos keladigan ob'ektga o'z taxalluslari bilan murojaat qilish imkonini beradi. Sinonim ma'lumotlar bazasidagi ob'ektning to'liq malakasini oxirgi foydalanuvchilardan yashirishga imkon beradi.

Sequence - bu ko'p foydalanuvchili asinxron kirishda noyob raqamlar (raqamlar) ketma-ketligini yaratishga imkon beruvchi ma'lumotlar bazasi ob'ekti. Odatda, ketma-ketlik elementlari ma'lumotlarni o'zgartirish operatsiyalarida jadval elementlarini (satrlarini) yagona raqamlash uchun ishlatiladi.

Foydalanuvchi tomonidan belgilangan ma'lumotlar turlari (Foydalanuvchi tomonidan belgilangan ma'lumotlar turlari) ma'lumotlar bazasi bazasi qo'llab-quvvatlanadigan (o'rnatilgan) turlaridan farq qiluvchi foydalanuvchi tomonidan belgilangan atribut turlari (domenlar). Ular o'rnatilgan turlarga qarab belgilanadi. Foydalanuvchi tomonidan belgilangan ma'lumotlar turlari ob'ektga yo'naltirilgan paradigmaga muvofiq tashkil etilgan ma'lumotlar bazasi muhitining bir qismini tashkil qiladi.

Ma'lumotlarga samarali kirishni ta'minlash uchun relyatsion DBMS boshqa bir qator ob'ektlarni qo'llab-quvvatlaydi: indeks, jadval maydoni, klaster, bo'lim.

Indeks - bu ma'lumotlarni qidirish samaradorligini oshirish va birlamchi kalitning o'ziga xosligini nazorat qilish uchun yaratilgan ma'lumotlar bazasi ob'ekti (agar bitta jadval uchun ko'rsatilgan bo'lsa). To'liq indeksli jadvallar (indeks bo'yicha tashkil etilgan jadvallar) bir vaqtning o'zida ham jadval, ham indeks vazifasini bajaradi.

Jadval maydoni yoki hudud ( Jadval maydoni) jadvallar va indekslar uchun xotira ajratish uchun foydalaniladigan ma'lumotlar bazasining nomlangan qismidir. Oracle 9i da bu operatsion tizim jismoniy fayllarining mantiqiy nomi. Ma'lumotlarni saqlaydigan barcha ma'lumotlar bazasi ob'ektlari ba'zilariga mos keladi stol maydonlari. Ma'lumotlarni saqlamaydigan ko'pgina ma'lumotlar bazasi ob'ektlari TIZIM jadval maydonida joylashgan ma'lumotlar lug'atida joylashgan.

Klaster - bu bir nechta yoki bitta jadvalda ma'lumotlarni birgalikda saqlash usulini belgilaydigan ob'ekt. Klasterdan foydalanish mezonlaridan biri shundaki, bir nechta jadvallar bitta SQL buyrug'ida ishlatiladigan umumiy kalit maydonlariga ega. Odatda klasterli ustunlar yoki jadvallar ma'lumotlar bazasida shunday saqlanadi hash jadvallari(ya'ni maxsus tarzda).

Bo'lim - bu ma'lumotlar bazasi ob'ekti bo'lib, u turli xil sub'ektlarga tayinlangan sub'ektlar to'plami sifatida ob'ektni ma'lumotlar bilan ko'rsatishga imkon beradi. stol maydonlari. Shunday qilib, qismlarga ajratish bir nechta qattiq disklarda juda katta jadvallarni tarqatish imkonini beradi.

Ma'lumotlarni maxsus usulda qayta ishlash yoki amalga oshirish referent yaxlitligini qo'llab-quvvatlash ma'lumotlar bazasi ob'ektlaridan foydalaniladi: saqlangan protsedura, funksiya, buyruq, trigger, taymer va partiya (Oracle). Ushbu ma'lumotlar bazasi ob'ektlaridan foydalanib, siz ma'lumotlarni yozib olish deb ataladigan ishlov berishni amalga oshirishingiz mumkin. Ma'lumotlar bazasi ilovalari nuqtai nazaridan, qatorlarni qayta ishlash - bu ma'lumotlarni bir qatorda ketma-ket tanlash, ularni qayta ishlash va keyingi qatorni qayta ishlashga o'tish.

Ushbu relyatsion ma'lumotlar bazasi ob'ektlari dasturlardir, ya'ni. bajariladigan kod. Bu kod odatda server tomonidagi kod deb ataladi, chunki u relyatsion ma'lumotlar bazasi mexanizmi o'rnatilgan kompyuter tomonidan bajariladi. Bunday kodni rejalashtirish va ishlab chiqish relyatsion ma'lumotlar bazasi dizaynerining vazifalaridan biridir.

Saqlangan protsedura - ma'lumotlar bazasi ob'ekti bo'lib, SQL buyruqlari va/yoki ixtisoslashtirilgan ma'lumotlar bazasi dasturlash tillaridan (masalan, SQLWindows yoki PL/SQL) berilgan bayonotlar to'plamini ifodalaydi.

Funktsiya - bu SQL buyruqlari va/yoki ixtisoslashtirilgan ma'lumotlar bazasi dasturlash tili operatorlarining nomlangan to'plamini ifodalovchi ma'lumotlar bazasi ob'ekti bo'lib, ular bajarilganda qiymatni - hisob-kitob natijasini qaytaradi.

Buyruq oldindan kompilyatsiya qilingan va ma'lumotlar bazasida saqlanadigan nomlangan SQL bayonotidir. Buyruqlarni qayta ishlash tezligi mos keladigan SQL bayonotidan yuqori, chunki bosqichlari bajarilmaydi tahlil qilish va kompilyatsiya.

Trigger - bu maxsus saqlanadigan protsedura bo'lgan ma'lumotlar bazasi ob'ekti. Ushbu protsedura trigger hodisasi sodir bo'lganda avtomatik ravishda ishlaydi (masalan, jadvalga qator kiritishdan oldin).

Taymer triggerdan farq qiladi, chunki saqlangan protsedura uchun trigger hodisasi taymer hodisasidir.

Paket - o'zgaruvchilar, protseduralar va funktsiyalarning nomlangan, tuzilgan to'plamidan iborat ma'lumotlar bazasi ob'ekti.

Tarqalgan relyatsion ma'lumotlar bazasi maxsus ob'yektlariga ega: oniy tasvir va ma'lumotlar bazasi havolasi.

Snapshot (Snapshop) — jadval yoki soʻrov natijasini takrorlash (koʻpaytirish) uchun foydalaniladigan masofaviy maʼlumotlar bazasidagi jadvalning mahalliy nusxasi. Suratlar o'zgartirilishi yoki faqat o'qilishi mumkin.

Ma'lumotlar bazasi havolasi yoki masofaviy ma'lumotlar bazasi havolasi ma'lumotlar bazasi ob'ekti bo'lib, sizga masofaviy ma'lumotlar bazasidagi ob'ektlarga kirish imkonini beradi. Ma'lumotlar bazasi havolasi nomini, taxminan, masofaviy ma'lumotlar bazasi parametrlariga kirish uchun havola sifatida ko'rish mumkin.

Ma'lumotlarga kirishni boshqarishni samarali boshqarish uchun Oracle rol ob'ektini qo'llab-quvvatlaydi.

Rol - bu ma'lumotlar bazasi ob'ekti bo'lib, u foydalanuvchilarga, foydalanuvchilar toifalariga yoki boshqa rollarga tayinlanishi mumkin bo'lgan imtiyozlar to'plamidir.

Relyatsion ma'lumotlar bazalarining asosiy tushunchalari

Relyatsion ma'lumotlar bazalarining asosiy tushunchalari:

    ma'lumotlar turi

  • asosiy kalit va

    munosabat.

Boshlash uchun, keling, ushbu tushunchalarning ma'nosini HIZMAT munosabatlari misolida ko'rsatamiz,

4.1-rasm. EMPLOYEES ma'lumotlar bazasidagi tushunchalar ierarxiyasi

Ma'lumotlar turi

Relyatsion ma'lumotlar modelidagi ma'lumotlar turi tushunchasi dasturlash tillaridagi ma'lumotlar turi tushunchasiga to'liq mos keladi. Odatda, zamonaviy relyatsion ma'lumotlar bazalari belgilar, raqamli ma'lumotlar, bit satrlari, maxsus raqamli ma'lumotlar (masalan, pul), shuningdek, maxsus vaqtinchalik ma'lumotlarni (sana, vaqt, vaqt oralig'i) saqlashga imkon beradi.

Domen

Domen kontseptsiyasi ma'lumotlar bazalariga xosdir, garchi u ba'zi dasturlash tillarida kichik tiplar bilan o'xshashliklarga ega. O'zining eng umumiy ko'rinishida domen domen elementlari tegishli bo'lgan ba'zi asosiy ma'lumotlar turini va ma'lumotlar turi elementiga qo'llaniladigan ixtiyoriy mantiqiy ifodani ko'rsatish orqali aniqlanadi. Agar bu mantiqiy ifodaning bahosi rost bo'lsa, ma'lumotlar elementi domen elementi hisoblanadi. Domen kontseptsiyasining eng to'g'ri intuitiv talqini domenni ma'lum turdagi qiymatlarning ruxsat etilgan potentsial to'plami sifatida tushunishdir. Misol uchun, bizning misolimizdagi domen nomlari belgilar qatorlarining asosiy turi bo'yicha aniqlanadi, ammo uning qiymatlari faqat nomni ifodalashi mumkin bo'lgan satrlarni o'z ichiga olishi mumkin (xususan, bunday satrlar bilan boshlanmaydi). yumshoq belgi). Domen kontseptsiyasining semantik yukini ham ta'kidlash kerak: ma'lumotlar bir xil domenga tegishli bo'lsa, solishtirish mumkin deb hisoblanadi. Bizning misolimizda Skip Numbers va Group Numbers domenlarining qiymatlari butun son turiga ega, ammo solishtirish mumkin emas.

Aloqalar sxemasi, ma'lumotlar bazasi sxemasi

Aloqa sxemasi - bu nomli juftliklar to'plami atribut nomi, domen nomi(yoki domen kontseptsiyasi qo'llab-quvvatlanmasa yozing). Munosabatlar sxemasining darajasi yoki darajasi bu to'plamning kuchidir. XODIMLAR munosabatining darajasi to'rtta, ya'ni 4-ary. Agar bitta munosabatning barcha atributlari turli domenlarda aniqlangan bo'lsa, atributlarni nomlash uchun tegishli domenlarning nomlaridan foydalanish mantiqan to'g'ri keladi (albatta, bu shunchaki nomlashning qulay usuli ekanligini va o'rtasidagi farqni bartaraf etmasligini yodda tuting. domen va atribut tushunchalari). Ma'lumotlar bazasi sxemasi (tarkibiy ma'noda) - bu nomlangan munosabatlar sxemalari to'plami.

Tuple, munosabat

Berilgan munosabat sxemasiga mos keladigan kortej juftliklar to'plamidir atribut nomi, qiymati, bu munosabatlar sxemasiga tegishli bo'lgan har bir atribut nomining bitta takrorlanishini o'z ichiga oladi. Qiymat atributning domeni (yoki domen kontseptsiyasi qo'llab-quvvatlanmasa, ma'lumotlar turi) uchun haqiqiy qiymatdir. Shunday qilib, tuplening darajasi yoki aritmi, ya'ni. undagi elementlar soni mos keladigan munosabat sxemasining aritmiga to'g'ri keladi. Oddiy qilib aytganda, kortej ma'lum bir turdagi nomlangan qiymatlar to'plamidir. Aloqa - bu bitta munosabat sxemasiga mos keladigan kortejlar to'plami. Baʼzan chalkashmaslik uchun sxema munosabati va misol munosabati deyishadi, baʼzan munosabat sxemasi munosabat boshi, kortejlar toʻplami sifatidagi munosabat esa munosabat tanasi deb ataladi. Aslida, aloqa sxemasi tushunchasi dasturlash tillarida strukturaviy ma’lumotlar turi tushunchasiga eng yaqin. Aloqa sxemasini, keyin esa ushbu sxema bilan bir yoki bir nechta munosabatlarni alohida belgilashga ruxsat berish mantiqan to'g'ri bo'lar edi. Biroq, bu relyatsion ma'lumotlar bazalarida keng tarqalgan amaliyot emas. Bunday ma'lumotlar bazalaridagi munosabatlarning sxema nomi har doim tegishli misol munosabati nomi bilan bir xil bo'ladi. Klassik relyatsion ma'lumotlar bazalarida ma'lumotlar bazasi sxemasi aniqlangandan so'ng, faqat misol munosabatlari o'zgartiriladi. Ularda yangi kortejlar paydo bo'lishi mumkin va mavjud kortejlar o'chirilishi yoki o'zgartirilishi mumkin. Biroq, ko'pgina ilovalarda ma'lumotlar bazasi sxemasini o'zgartirish ham mumkin: yangi va o'zgaruvchan aloqa sxemalarini aniqlash. Bu odatda ma'lumotlar bazasi sxemasi evolyutsiyasi deb ataladi. Munosabatning odatiy kundalik tasviri jadval bo'lib, uning sarlavhasi munosabat sxemasi, qatorlar esa misol munosabati kortejlaridir; bu holda atribut nomlari ushbu jadval ustunlarini nomlaydi. Shuning uchun, ba'zan ular jadval ustuni deyishadi, ya'ni munosabatlar atributi. Relyatsion ma'lumotlar bazalari va boshqaruv vositalarini tashkil qilishning amaliy masalalarini ko'rib chiqishga o'tsak, biz ushbu kundalik terminologiyadan foydalanamiz. Ushbu atama ko'pgina tijorat aloqador DBMSlarda qo'llaniladi. Relyatsion ma'lumotlar bazasi - bu ma'lumotlar bazasi sxemasidagi munosabatlar sxemalari nomlari bilan bir xil bo'lgan munosabatlar to'plami. Ko'rib turganingizdek, relyatsion ma'lumotlar modelining asosiy strukturaviy tushunchalari (domen tushunchasidan tashqari) juda oddiy intuitiv talqinga ega, garchi relyatsion ma'lumotlar bazalari nazariyasida ularning barchasi mutlaqo rasmiy va aniq belgilangan.

Munosabatlarning asosiy xususiyatlari

Keling, avval berilgan ta'riflardan kelib chiqadigan munosabatlarning ba'zi muhim xususiyatlariga to'xtalib o'tamiz.

Ikki nusxadagi kortejlar yo'q

Munosabatlarda dublikat kortejlar mavjud emasligi xossasi munosabatni kortejlar to'plami sifatida belgilashdan kelib chiqadi. IN klassik nazariya to'plamlar, ta'rifiga ko'ra, har bir to'plam turli elementlardan iborat. Bu xususiyat har bir munosabatning birlamchi kalit deb ataladigan narsaga ega ekanligini anglatadi - qiymatlari munosabatlar to'plamini o'ziga xos tarzda belgilaydigan atributlar to'plami. Har bir munosabat uchun, hech bo'lmaganda, uning atributlarining to'liq to'plami ushbu xususiyatga ega. Biroq, birlamchi kalitni rasmiy ravishda belgilashda uning minimalligini ta'minlash kerak, ya'ni. asosiy kalit atributlar to'plami asosiy xususiyatga ta'sir qilmasdan o'chirilishi mumkin bo'lgan atributlarni o'z ichiga olmaydi - kortejni yagona identifikatsiyalash. Birlamchi kalit tushunchasi ma'lumotlar bazasi yaxlitligi tushunchasi bilan bog'liq holda juda muhimdir. Oldinga qarab, shuni ta'kidlaymizki, RDBMS ning ko'plab amaliy ilovalari so'rovlarni bajarishda bevosita hosil bo'lgan oraliq aloqalar uchun kortejlarning o'ziga xoslik xususiyatini buzishga imkon beradi. Bunday munosabatlar to'plamlar emas, balki ko'p to'plamlar bo'lib, ular ba'zi hollarda ma'lum afzalliklarga erishishga imkon beradi, lekin ba'zida jiddiy muammolarga olib keladi.

Kortejlar tartibining yo'qligi

Munosabatlar kortejlari tartibining yo'qligi xossasi ham misol munosabatini kortejlar to'plami sifatida belgilash natijasidir. Munosabatlar kortejlari to'plamida tartibni saqlash talabining yo'qligi ma'lumotlar bazasini tashqi xotirada saqlashda va ma'lumotlar bazasiga so'rovlarni bajarishda ma'lumotlar bazasiga qo'shimcha moslashuvchanlikni beradi. Bu ma'lumotlar bazasi so'rovini shakllantirishda, masalan, SQL-da, natijada olingan jadvalni ba'zi ustunlar qiymatlariga muvofiq tartiblashni talab qilishingiz mumkinligiga zid emas. Bunday natija, umuman olganda, munosabat emas, balki kortejlarning tartibli ro'yxati.

Atributlar tartibining yo'qligi

Aloqalarning atributlari tartiblanmagan, chunki ta'rifga ko'ra munosabatlar sxemasi juftliklar to'plamidir atribut nomi, domen nomi. Aloqa majmuasidagi atribut qiymatiga murojaat qilish uchun har doim atribut nomidan foydalaniladi. Bu xususiyat nazariy jihatdan, masalan, mavjud munosabatlar sxemalarini nafaqat yangi atributlarni qo'shish, balki mavjud atributlarni olib tashlash orqali ham o'zgartirishga imkon beradi. Biroq, mavjud tizimlarning aksariyati bunday imkoniyatga yo'l qo'ymaydi va munosabatlar atributlari to'plamini tartiblash aniq talab etilmasa ham, munosabatlar sxemasi ta'rifining chiziqli ko'rinishida atributlarni tartiblash ko'pincha atributlarning yashirin tartiblanishi sifatida ishlatiladi. .

Atribut qiymatlarining atomligi

Barcha atributlarning qiymatlari atomikdir. Bu domenning oddiy ma'lumotlar turidagi potentsial qiymatlar to'plami sifatida ta'rifidan kelib chiqadi, ya'ni. Domen qiymatlarida bir nechta qiymatlar (aloqalar) bo'lishi mumkin emas. Odatda relyatsion ma'lumotlar bazalarida faqat normallashtirilgan munosabatlar yoki birinchi normal shaklda ifodalangan munosabatlarga ruxsat beriladi, deb aytiladi. Normallashtirilmagan nisbatning potentsial misoli rasmda ko'rsatilgan. 4.2.1.

4.2.1-rasm. BO'LIMLAR munosabati normallashtirilmagan shaklda

4.2.2-rasm. Normallashtirilgan munosabat XODIMLAR

Aytishimiz mumkinki, bu erda biz ikkilik munosabatga egamiz, DEPARTMENTS atributining qiymatlari munosabatlardir. E'tibor bering, asl HIZMATLAR munosabati BO'LIMLAR munosabatlarining normallashtirilgan versiyasidir (4.2.2-rasmga qarang). Normallashtirilgan munosabatlar ma'lumotlar bazasini tashkil qilishda klassik relyatsion yondashuvning asosini tashkil qiladi. Ularda ba'zi cheklovlar mavjud (barcha ma'lumotlarni tekis jadvallar ko'rinishida taqdim etish qulay emas), lekin ular ma'lumotlarni manipulyatsiya qilishni sezilarli darajada soddalashtiradi. Masalan, ikkita bir xil kortej qo'shish operatorlarini ko'rib chiqing:

320-bo'limga xodim Kuznetsovni (ta'til raqami 3000, ish haqi 115 000) va 310-bo'limga xodim Kuznetsovni (ta'til raqami 3000, ish haqi 115 000) ro'yxatdan o'tkazing. Agar xodimlar to'g'risidagi ma'lumotlar XODIMLAR munosabati sifatida ko'rsatilgan bo'lsa, ikkala bayonot ham xuddi shunday bo'ladi. XODIMLARGA nisbatan tuple). Agar siz normallashtirilmagan BO'LIMLAR munosabati bilan ishlasangiz, birinchi operator kortejni qo'shishga olib keladi, ikkinchi operator esa 310 birlamchi kaliti bo'lgan kortejning DEPARTMENT atributining ko'p qiymatiga Kuznetsov haqidagi ma'lumotni qo'shadi.

Relyatsion ma'lumotlar modeli

Oldingi bo'limlarda relyatsion ma'lumotlar bazalarining asosiy tushunchalari haqida gapirganimizda, biz hech qanday aniq amalga oshirishga tayanmadik. Bu mulohazalar qurilishida relyatsion yondashuv qo'llanilgan har qanday tizimga birdek qo'llaniladi. Boshqacha qilib aytganda, biz relyatsion ma'lumotlar modeli deb ataladigan tushunchalardan foydalandik. Ma'lumotlar modeli ma'lum bir umumiy tushunchalar va xususiyatlar to'plamini tavsiflaydi, agar ular ushbu modelga asoslangan bo'lsa, barcha aniq ma'lumotlar bazasi va ular boshqaradigan ma'lumotlar bazalariga ega bo'lishi kerak. Ma'lumotlar modeliga ega bo'lish sizga bitta umumiy til yordamida muayyan ilovalarni solishtirish imkonini beradi. Ma'lumotlar modeli tushunchasi umumiy bo'lsa-da va biz ierarxik, tarmoq, ba'zi semantik va boshqalar haqida gapirishimiz mumkin. Ma'lumotlar modellari, shuni ta'kidlash kerakki, ushbu kontseptsiya relyatsion tizimlarga nisbatan kiritilgan va bu kontekstda eng samarali qo'llaniladi. Shunga o'xshash modellarni to'g'ridan-to'g'ri aloqadan oldingi tashkilotlarga qo'llashga urinishlar munosabatlar modeli ular uchun juda katta ekanligini va aloqadan keyingi tashkilotlar uchun u kichik bo'lib chiqadi.

umumiy xususiyatlar

Relyatsion ma'lumotlar modelining eng keng tarqalgan talqini deyarli barcha kitoblarida uni (turli xil takomillashtirishlar bilan) takrorlagan Data talqini bo'lib tuyuladi. Date ma'lumotlariga ko'ra, relyatsion model relyatsion yondashuvning turli tomonlarini tavsiflovchi uch qismdan iborat: tarkibiy qism, manipulyatsiya qismi va yaxlit qism. Modelning strukturaviy qismida relyatsion ma'lumotlar bazalarida qo'llaniladigan yagona ma'lumotlar strukturasi normalangan n-ariy munosabat ekanligini bildiradi. Darhaqiqat, ushbu ma'ruzaning oldingi ikki bo'limida biz relyatsion modelning strukturaviy komponentining tushunchalari va xususiyatlarini aniq ko'rib chiqdik. Modelning manipulyatsiya qismi relyatsion ma'lumotlar bazalarini manipulyatsiya qilishning ikkita asosiy mexanizmini tasdiqlaydi - relyatsion algebra va relyatsion hisob. Birinchi mexanizm asosan klassik toʻplamlar nazariyasiga (ayrim takomillashtirilgan) asoslanadi, ikkinchisi esa birinchi tartibli predikatlar hisobining klassik mantiqiy apparatiga asoslanadi. Keyinchalik biz ushbu mexanizmlarni batafsil ko'rib chiqamiz, ammo hozircha biz relyatsion modelning manipulyatsiya qismining asosiy vazifasi har qanday o'ziga xos relyatsion ma'lumotlar bazasi tilining aloqadorligini o'lchashni ta'minlash ekanligini ta'kidlaymiz: til relyatsion deb ataladi. agar u relyatsion algebra yoki relyatsion hisobdan kam ifodalilik va kuchga ega bo'lmasa.

Ob'ekt va havola yaxlitligi

Nihoyat, relyatsion ma'lumotlar modelining ajralmas qismi har qanday relyatsion ma'lumotlar bazasida qo'llab-quvvatlanishi kerak bo'lgan ikkita asosiy yaxlitlik talablarini tuzatadi. Birinchi talab tashkilotning yaxlitligi talabi deb ataladi. Ob'ekt yoki ob'ekt haqiqiy dunyo relyatsion ma'lumotlar bazalarida munosabatlar kortejlariga mos keladi. Xususan, talab shundaki, har qanday munosabatning har qanday korteji ushbu munosabatning boshqa kortejidan ajralib turishi kerak, ya'ni. boshqacha aytganda, har qanday munosabatlar asosiy kalitga ega bo'lishi kerak. Oldingi bo'limda ko'rganimizdek, agar tizim munosabatlarning asosiy xususiyatlarini buzmasa, bu talab avtomatik ravishda qondiriladi. Ikkinchi talab referent yaxlitlik talabi deb ataladi va biroz murakkabroqdir. Shubhasiz, agar munosabatlar normallashtirilsa, real dunyoning murakkab ob'ektlari relyatsion ma'lumotlar bazasida bir nechta munosabatlarning bir nechta kortejlari shaklida taqdim etiladi. Masalan, DTD_NUMBER (bo'lim raqami), DTD_COL (xodimlar soni) va DTD_COTR (bo'lim xodimlari to'plami) atributlari bilan relyatsion ma'lumotlar bazasida BO'LIM ob'ektini ko'rsatishimiz kerakligini tasavvur qiling. Har bir xodim uchun COTR_NUMBER (xodim raqami), COTR_NAME (xodim nomi) va COTR_SARP (xodimlarning ish haqi) ni saqlashingiz kerak. Tez orada ko'rib chiqamizki, tegishli ma'lumotlar bazasining to'g'ri dizayni bilan unda ikkita munosabatlar paydo bo'ladi: BO'LIMLAR (BO'LIM_NUMBER, DEPARTMENT_COUNTY) (asosiy kalit - BO'LIM_NUMBER) va XODIMLAR (COTR_NUMBER, COTR_NAME, COTR_SARP, COTR_DEPARTMENT_NUMX asosiy kaliti -NUM) (p. ). Ko'rib turganingizdek, SOTR_DEPARTMENT_NOM atributi XODIM munosabatida bo'lim raqami xodimning shaxsiy mulki bo'lgani uchun emas, balki faqat kerak bo'lganda to'liq BO'LIM ob'ektini tiklash imkoniyatiga ega bo'lish uchun paydo bo'ladi. STR_DEPARTMENT_NOM atributining qiymati HIZMATLAR munosabatining har qanday kortejidagi DEPARTMENTS munosabatining ba'zi kortejidagi DEPARTMENT_NOM atributining qiymatiga mos kelishi kerak. Ushbu turdagi atribut tashqi kalit deb ataladi, chunki uning qiymatlari boshqa munosabatlarning kortejlari bilan ifodalangan ob'ektlarni o'ziga xos tarzda tavsiflaydi (ya'ni, ular asosiy kalitning qiymatlarini belgilaydi). Chet el kaliti aniqlangan munosabat, bir xil atribut asosiy kalit bo'lgan tegishli munosabatga murojaat qilish deyiladi. Yo'naltiruvchi yaxlitlik talabi yoki chet el kalitiga bo'lgan talab shundan iboratki, havola munosabatida paydo bo'ladigan har bir xorijiy kalit qiymati uchun havola qilingan munosabatda bir xil asosiy kalit qiymatiga ega bo'lgan kortej bo'lishi kerak yoki tashqi kalit qiymati butunlay aniqlanmagan bo'lishi kerak (ya'ni. hech narsani ko'rsatmaydi). Bizning misolimiz uchun, bu agar xodim uchun bo'lim raqami ko'rsatilgan bo'lsa, unda bu bo'lim mavjud bo'lishi kerakligini anglatadi. Ob'ekt va havolalar yaxlitligi cheklovlari DBMS tomonidan qo'llab-quvvatlanishi kerak. Ob'ektning yaxlitligini saqlash uchun har qanday munosabatda bir xil asosiy kalit qiymatiga ega bo'lgan kortejlar yo'qligiga ishonch hosil qilish kifoya. Yo'naltiruvchi yaxlitlik bilan ishlar biroz murakkabroq. Ko'rinib turibdiki, havola munosabatlarini yangilashda (yangi kortejlarni kiritish yoki mavjud kortejlarda tashqi kalit qiymatini o'zgartirish) noto'g'ri tashqi kalit qiymatlari paydo bo'lmasligini ta'minlash kifoya. Lekin havola qilingan munosabatdan kortejni olib tashlash haqida nima deyish mumkin? Bu erda uchta yondashuv mavjud bo'lib, ularning har biri referent yaxlitligini qo'llab-quvvatlaydi. Birinchi yondashuv havola qilingan kortejni o'chirishni taqiqlashdir (ya'ni, siz avval havolalarni o'chirishingiz yoki ularning tashqi kalit qiymatlarini mos ravishda o'zgartirishingiz kerak). Ikkinchi yondashuvda, havola qilingan kortej o'chirilganda, barcha havola qiluvchi kortejlardagi tashqi kalit qiymati avtomatik ravishda aniqlanmagan bo'ladi. Nihoyat, uchinchi yondashuv (kaskadli o'chirish) shundan iboratki, havola qilingan munosabatdan kortej o'chirilganda, barcha havola qiluvchi kortejlar havola munosabatidan avtomatik ravishda o'chiriladi. Yetuk relyatsion DBMSlarda, odatda, har bir alohida tashqi kalit ta'rifi holati uchun referent yaxlitligini qanday saqlashni tanlash mumkin. Albatta, bunday qaror qabul qilish uchun muayyan dastur sohasi talablarini tahlil qilish kerak.

Relyatsion ma'lumotlar bazalarining terminologiyasi va asosiy tushunchalari

70-yillarning oxiridan beri yaratilgan deyarli barcha dasturiy mahsulotlar relyatsion yondashuvga asoslangan:

1. Ma'lumotlar ma'lum qoidalarga muvofiq tashkil etilgan ikki o'lchovli jadvallarda taqdim etiladi.

2. Foydalanuvchiga ma'lumotlar bilan ishlash operatorlari taqdim etiladi, ular yordamida asl jadvallar - so'rovlar asosida yangi jadvallar hosil bo'ladi.

Relyatsion ma'lumotlar bazalari- yagona ma'lumotlar do'koni, u noyob tarzda aniqlangan va keyin ko'p foydalanuvchilar tomonidan foydalaniladi. Ma'lumotlar bazasiga ma'lumotlarni o'zgartirish va qo'shish dasturga ta'sir qilmaydi.

Ma'lumotlar bazasini boshqarish tizimi- foydalanuvchilar ma'lumotlar bazasini aniqlashi va yuritishi va boshqariladigan kirishni amalga oshirishi mumkin bo'lgan dasturiy ta'minot to'plami.

Relyatsion ma'lumotlar bazalarining asosiy tushunchalari:

1. Kontseptsiya ma'lumotlar turi relyatsion ma'lumotlar modelida dasturlash tillaridagi ma'lumotlar turi tushunchasiga to'liq mos keladi. Odatda, zamonaviy relyatsion ma'lumotlar bazalari belgilar, raqamli ma'lumotlar, bit satrlari, maxsus raqamli ma'lumotlar ("pul" kabi), shuningdek, maxsus "vaqt" ma'lumotlarini (sana, vaqt, vaqt oralig'i) saqlashga imkon beradi.

2. Relyatsion model matematik tushunchaga asoslanadi munosabat, fizik ko'rinishi jadval, ya'ni munosabatni ustun va satrlardan tashkil topgan tekis jadval deb atash mumkin.

3. Kortej, berilgan munosabat sxemasiga mos keluvchi, munosabat sxemasiga tegishli har bir atribut nomining bittadan koʻrinishini oʻz ichiga olgan (atribut nomi, qiymat) juftliklar toʻplami.

4. Xususiyat– jadval ustuni, ma’lumotlar bazasi fayl maydoni. Munosabatlar jadvalidagi atribut qiymatlari bir-biriga funktsional bog'liqlikning faqat bitta o'ziga xos turiga ega bo'lishi mumkin, ya'ni ixtiyoriy kortejdagi barcha qiymatlar alohida-alohida faqat ustun yoki ustunlar guruhining qiymatlariga bog'liq bo'lishi kerak - bir xil. butun munosabat uchun. Bunday ustun yoki ustunlar guruhi kalit ustun deb ataladi va undagi atribut qiymatlari kalitlar deb ataladi.

5. Domen- bir yoki bir nechta atributlar uchun haqiqiy qiymatlar to'plami.

6. Aloqa darajasi tarkibidagi atributlar soni bilan belgilanadi. Bitta xususiyatga ega bo'lgan munosabat 1 darajaga ega va unar munosabat deyiladi. Ikki atributli munosabat ikkilik, uchta atributli munosabat uchlik, koʻproq atributga ega boʻlgan munosabat n-ariy deyiladi.

7. O'zaro munosabatlarning kardinalligi– munosabatdagi kortejlar soni. Bu xususiyat kortejlar olib tashlanganda yoki qo'shilganda o'zgaradi.

8. Yuqoridagilardan kelib chiqqan holda, relyatsion ma'lumotlar bazasi munosabatlardan iborat bo'lib, ularning tuzilishi normalash deb ataladigan maxsus usullar yordamida aniqlanadi.

9. Munosabatlarda takrorlanuvchi kortejlar bo'lmasligi kerak, shu munosabat bilan tushuncha kiritiladi aloqa kalitlari bir yoki bir nechta atributlarning qiymatlari bo'yicha har bir alohida munosabat to'plamini noyob tarzda aniqlash.

10. Superkalit– berilgan munosabat kortejini yagona aniqlovchi atribut yoki atributlar to‘plami.

11. Potensial kalit– shu munosabatning super kaliti bo‘lgan kichik to‘plamni o‘z ichiga olmagan super kalit. Berilgan R munosabati uchun K potensial kaliti ikkita xususiyatga ega:

· O'ziga xoslik. R munosabatining har bir kortejida K kalitining qiymati ushbu kortejni yagona aniqlaydi.

· Qaytarib bo'lmaydigan. K kalitining hech bir to'g'ri to'plami noyoblik xususiyatiga ega emas.

12. Asosiy kalit– munosabatlardagi kortejlarni yagona aniqlash uchun tanlangan nomzod kaliti; qolgan tanlanmagan kalitlar muqobil kalitlardir. Agar birlamchi kalit bitta maydondan iborat bo'lsa, u oddiy, bir nechta maydonlardan iborat bo'lsa, kompozit deyiladi.

13. Ikkilamchi (xorijiy) kalit (VC)- bular ma'lum munosabatning potentsial kalitiga mos keladigan va qidiruv yoki guruhlash xususiyatlari sifatida ishlaydigan bir yoki bir nechta atributlardir. Birlamchi kalitdan farqli o'laroq, ikkilamchi kalitning qiymati faylning bir nechta yozuvlarida takrorlanishi mumkin, ya'ni u yagona emas. Agar yozuvning bitta nusxasini asosiy kalitning qiymati bo'yicha topish mumkin bo'lsa, ikkinchi darajali kalit orqali bir nechtasini topish mumkin.

14. Munosabat- bitta munosabat sxemasiga mos keladigan kortejlar to'plami.

15. Asosiy munosabat– kortejlari ma’lumotlar bazasida jismoniy saqlanadigan munosabat.

16. Vakillik- boshqa munosabatlarni yaratish maqsadida asosiy munosabatlar bo'yicha bir yoki bir nechta relyatsion operatsiyalarning dinamik natijasi. Ko'rinish - bu ma'lumotlar bazasida mavjud bo'lmagan, lekin ushbu so'rov qabul qilinganda individual foydalanuvchining iltimosiga binoan yaratilgan virtual munosabatlar. Ko'rinishlar kattaroq ma'lumotlar xavfsizligini ta'minlaydi va dizaynerga foydalanuvchi modelini sozlash vositalarini taqdim etadi.

17. Munosabatlarning asosiy xususiyatlari:

· Aloqa munosabatlar sxemasidagi boshqa barcha munosabatlar nomlaridan farq qiladigan nomga ega.

· Har bir munosabat katagida faqat bitta elementar (bo‘linmas) qiymat mavjud.

· Har bir atribut o'ziga xos nomga ega.

· Atribut qiymatlari bir xil domendan olingan.

· Har bir kortej noyobdir, ya'ni. Ikki nusxadagi kortejlar bo'lishi mumkin emas.

· Atributlarning tartibi muhim emas.

· Nazariy jihatdan munosabatdagi kortejlar tartibi muhim emas. (Ammo amalda bu tartib ularga kirish samaradorligiga sezilarli ta'sir ko'rsatishi mumkin.)

Date ma'lumotlariga ko'ra, relyatsion model relyatsion yondashuvning turli tomonlarini tavsiflovchi uch qismdan iborat: tarkibiy qism, manipulyatsiya qismi va yaxlit qism.

1. Modelning tuzilishi relyatsion ma'lumotlar bazasining asosiy tushunchalarini hisobga olgan holda normallashtirilgan munosabatlarga asoslanadi.

2. Modelning manipulyatsiya qismi relyatsion ma'lumotlar bazalarini manipulyatsiya qilishning ikkita asosiy mexanizmini tasdiqlaydi - relyatsion algebra va relyatsion hisob.

3. Yaxlitlik b(inglizcha yaxlitlik - butunlik, daxlsizlik, xavfsizlik, yaxlitlik) deganda ma'lumotlarning istalgan vaqtda to'g'riligi tushuniladi.

3-bo‘lim. “Ma’lumotlar bazalari”

1. Axborotni qo'llab-quvvatlash avtomatlashtirilgan tizimlar.

Avtomatlashtirilgan tizimni (AS) axborot bilan ta'minlash - hujjat shakllari, tasniflagichlar, me'yoriy-huquqiy baza va amalga oshirilgan echimlar to'plami, uning ishlashi davomida ASda foydalaniladigan ma'lumotlarning hajmi, joylashishi va mavjudligi shakllari.

GOST 24.205-80 ga muvofiq, avtomatlashtirilgan boshqaruv tizimining axborot ta'minoti tavsifi quyidagi bo'limlardan iborat bo'lishi kerak:

axborot ta'minotini tashkil etish tamoyillari;

axborotni to'plash va uzatishni tashkil etish;

tasniflash va kodlash tizimini yaratish;

mashina ichidagi axborot bazasini tashkil etish;

mashinadan tashqari axborot bazasini tashkil etish.

"Axborotni qo'llab-quvvatlash" atamasi turli xil kontekstlarda, turli funktsiyalar va faoliyat turlariga nisbatan keng qo'llaniladi, noaniq talqin qilinadi va bahsli. Bu atama bilan axborot tuzilmalarini belgilashdan tashqari, ko'pincha ma'lum bir ijtimoiy-iqtisodiy ob'ekt ehtiyojlari uchun zarur ma'lumotlarni taqdim etish jarayonini anglatadi.

Kompyuter markazlari tarmog'ini axborot bilan ta'minlash ma'lumotlar massivlarini, ularni tavsiflash, to'plash, saqlash va chiqarish vositalarini o'z ichiga oladi, ular birgalikda yaratishi kerak. eng yaxshi sharoitlar markazlashtirilgan integratsiyalashgan axborotni qayta ishlash uchun ko'plab abonentlar uchun umumiy ma'lumotlarga jamoaviy kirishni ta'minlash, olingan ma'lumotlarning ishonchliligi va ishonchliligini oshirish.

Avtomatlashtirilgan tizimni axborot bilan ta'minlash - bu avtomatlashtirilgan tizimda uning ishlashi paytida foydalaniladigan ma'lumotlarning hajmi, joylashishi va mavjudligi shakllari bo'yicha hujjatlar shakllari, tasniflagichlar, normativ-huquqiy baza va amalga oshirilgan echimlar to'plami (GOST 34.003-90 ("Avtomatlashtirilgan tizimlar. Shartlar"). va ta'riflar")).

IO - umumiylik yagona tizim ma'lumotlarni tasniflash va kodlash, yagona hujjat tizimlari, tashkilotda aylanib yuradigan ma'lumotlar oqimlarining naqshlari, ma'lumotlar bazalarini yaratish metodologiyasi.



Ushbu quyi tizim axborotni o'z vaqtida taqdim etish va boshqaruv qarorlarini qabul qilish uchun mo'ljallangan. Korxona axborot tizimi berilgan ob'ektning axborot modelidir. IO yaratish uchun siz boshqaruv tizimining maqsad va vazifalari, funktsiyalari haqida aniq tushunchaga ega bo'lishingiz kerak; hujjat aylanishi tizimini joriy etish; ma'lumotlarning paydo bo'lgan paytdan boshlab boshqaruvning turli darajalarida foydalanishgacha bo'lgan harakatini aniqlash; axborotni tasniflash va kodlashning mavjudligi va ulardan foydalanish; kompyuter tashuvchilarda axborot massivlarini yaratish; axborot modellarini yaratish metodologiyasini bilish.

IOni tashkil qilishda yagona axborot bazasini yaratishni ta'minlash uchun tizimli yondashuv qo'llaniladi; tizimning turli darajalari o'rtasida va har bir daraja doirasida ma'lumotlar almashinuvining standart sxemasini ishlab chiqish; axborotni saqlash va saqlashning yagona sxemasini tashkil etish; hal qilinishi kerak bo'lgan vazifalarni dastlabki ma'lumotlar bilan ta'minlash;

IO ning asosiy funktsiyalari ishlab chiqarish va xo'jalik faoliyatining borishini kuzatish, boshqariladigan parametrlarning holatini va ularning belgilangan rejimlardan chetlanishini aniqlash va qayd etish; boshqariladigan ob'ektlarning holatini aks ettiruvchi birlamchi hujjatlarni qayta ishlashga tayyorlash; ma'lumotlarni avtomatlashtirilgan qayta ishlashni ta'minlash; bevosita amalga oshirish va fikr-mulohaza ob'ektlar va boshqaruv sub'ektlari o'rtasida.

Avtomatlashtirilgan axborot tizimlarining AI qo'shimcha mashina va mashina ichidagi AIdan iborat.

Ekstra-mashina o'z ichiga texnik-iqtisodiy axborotni tasniflash va kodlash tizimini o'z ichiga oladi; hujjatlashtirish tizimi; axborot oqimi diagrammasi (hujjatlar aylanishi: birlamchi, natijaviy, normativ va ma'lumotnoma hujjatlari).

Mashina ichidagi ma'lumotlar mashina vositalaridagi ma'lumotlar massivlarini va ushbu ma'lumotlarga kirishni tashkil qilish dasturini o'z ichiga oladi.

Mashinadan tashqari axborot - bu shaxs tomonidan hech qanday texnik vositalar (hujjatlar)siz qabul qilinadigan ma'lumotlar.

Tasniflash deganda axborot elementlari majmuini qaysidir asosda oʻxshashlik yoki farqga qarab shartli boʻlinish tushuniladi.

2. DBMS va ma'lumotlar bazasi ilovalari.

Ma'lumotlar bazasini boshqarish tizimi (DBMS) - bu ma'lumotlar bazalarini yaratish va ulardan foydalanishni boshqarishni ta'minlaydigan til va dasturiy vositalar to'plami.

Zamonaviy DBMS quyidagilardan iborat:

yadrolar - xotiradagi ma'lumotlarni boshqarish va jurnalga yozish uchun mas'ul bo'lgan DBMS dasturlarining qismlari; Ma'lumotlar bazasi til protsessori, ma'lumotlarni olish va o'zgartirish uchun so'rovlarni optimallashtirish va ma'lumotlar bazasini yaratish;

DBMS foydalanuvchi interfeysini yaratuvchi ma'lumotlarni manipulyatsiya qilish dasturlarini sharhlovchi ish vaqtini qo'llab-quvvatlash quyi tizimlari;

Axborot tizimlariga xizmat ko'rsatishning boshqa imkoniyatlarini ta'minlaydigan xizmat dasturlari (tashqi yordamchi dasturlar).

DBMS ning asosiy vazifalari quyidagilardan iborat

Tashqi xotirada saqlangan ma'lumotlarni boshqarish;

Yuklangan ma'lumotlarni boshqarish Ram disk keshidan foydalanish; Voqealar va o'zgarishlarni qayd qilish, ma'lumotlar bazasini zaxiralash va nosozliklardan keyin tiklash;

Ma'lumotlar bazasi bilan ishlash tillarini qo'llab-quvvatlash (ma'lumotlarni aniqlash tili, ma'lumotlarni manipulyatsiya qilish tili);

DBMS tasniflari

Ma'lumotlar bazasini tasniflash uchun bir nechta mezonlar mavjud.

Ma'lumotlar modeliga asoslangan DBMS quyidagilardir:

Ierarxik ma'lumotlar bazasi, tarmoq ma'lumotlar bazasi, relyatsion ma'lumotlar bazasi, ob'ektga yo'naltirilgan ma'lumotlar bazasi, ob'ektga bog'liq ma'lumotlar bazasi. Hozirgi vaqtda oxirgi 2 tur jiddiy loyihalarda qo'llaniladi. Tarqatish darajasi bo'yicha DBMS. Lokal (DBMS faqat bitta kompyuterda joylashgan) Taqsimlangan (DBMS qismlari 2 yoki undan ortiq kompyuterlarda joylashishi mumkin).

Ma'lumotlar bazasi ilovalari

Ma'lumotlar bazasi ilovasi, uning nomidan ko'rinib turibdiki, ba'zi ma'lumotlar manbalari - ma'lumotlar bazasi (MB) bilan o'zaro ta'sir qilish uchun mo'ljallangan. O'zaro aloqa ma'lumotlarni qabul qilish, foydalanuvchi ko'rishi uchun ma'lum bir formatda taqdim etish, dasturda amalga oshirilgan biznes algoritmlariga muvofiq tahrirlash va qayta ishlangan ma'lumotlarni ma'lumotlar bazasiga qaytarishni o'z ichiga oladi.

Ma'lumotlar manbai ma'lumotlar bazasining o'zi yoki oddiy fayllar bo'lishi mumkin - matn, elektron jadvallar va boshqalar. Lekin bu erda biz ma'lumotlar bazalari bilan ishlaydigan ilovalarni ko'rib chiqamiz.

Ilovaning o'zi ma'lumotlarni qabul qilish va jo'natish mexanizmini, ma'lumotlarni u yoki bu shaklda ichki ko'rsatish mexanizmini, ma'lumotlarni ko'rsatish va tahrirlash uchun foydalanuvchi interfeysini va ma'lumotlarni qayta ishlash uchun biznes mantiqini o'z ichiga oladi.

Ma'lumotni qabul qilish va jo'natish mexanizmi ma'lumotlar manbasiga ulanishni ta'minlaydi (ko'pincha bilvosita). Ikki tomonlama ma'lumotlar oqimini ta'minlash uchun qaerga borishni va qanday aloqa protokolidan foydalanishni "bilish" kerak.

Ichki ma'lumotlarni taqdim etish mexanizmi ma'lumotlar bazasi ilovasining yadrosidir. U qabul qilingan ma'lumotlarni ilovada saqlaydi va ilovaning boshqa qismlari tomonidan so'ralganda foydalanishga imkon beradi.

Foydalanuvchi interfeysi ma'lumotlarni ko'rish va tahrirlash, shuningdek, ma'lumotlarni va umuman dasturni boshqarish imkonini beradi.

Ilovaning biznes mantig'i dasturda amalga oshirilgan ma'lumotlarni qayta ishlash algoritmlari to'plamidir.

Ilova va ma'lumotlar bazasi o'rtasida maxsus mavjud dasturiy ta'minot dastur va ma'lumotlar manbasini bog'laydigan va ma'lumotlar almashinuvi jarayonini boshqaradigan (dasturiy ta'minot). Ushbu dasturiy ta'minot ma'lumotlar bazasi hajmiga, tizim tomonidan hal qilinadigan vazifalarga, foydalanuvchilar soniga, ilova va ma'lumotlar bazasi qanday bog'langanligiga qarab turli xil usullarda amalga oshirilishi mumkin. O'rta dasturiy ta'minotni dastur muhiti sifatida amalga oshirish mumkin, ularsiz u umuman ishlamaydi yoki dastur kiradigan drayverlar va dinamik kutubxonalar to'plami dasturning o'ziga birlashtirilishi mumkin. Va nihoyat, bu minglab ilovalarga xizmat ko'rsatadigan yagona masofaviy server bo'lishi mumkin.

Ma'lumotlar manbai - ma'lumotlar ombori (ma'lumotlar bazasining o'zi) va ma'lumotlarni boshqaradigan, ma'lumotlarning yaxlitligi va izchilligini ta'minlaydigan ma'lumotlar bazasi.

3. Relyatsion ma'lumotlar bazalarining zamonaviy kontseptsiyasi.

Relyatsion ma'lumotlar bazasining asosiy tushunchalari

Ushbu bosqichlarning har birini batafsil ko'rib chiqishdan oldin, relyatsion ma'lumotlar bazalarining asosiy tushunchalarini ko'rib chiqamiz. Munosabatlar nazariyasida asosiylaridan biri munosabatlar tushunchasidir. Matematik jihatdan nisbat quyidagicha aniqlanadi. n to'plam D1,D2,...,Dn berilsin. U holda R bu to'plamlar ustidagi munosabatdir, agar R shaklning tartiblangan to'plamlari to'plami bo'lsa , bu erda d1 - D1 dan element, d2 - D2 dan element, ..., dn - Dn dan element. Bunday holda, shakl to'plamlari kortejlar, D1,D2,...,Dn to‘plamlar esa domenlar deyiladi. Har bir kortej o'z domenlaridan tanlangan elementlardan iborat. Ushbu elementlar atributlar deb ataladi va ularning qiymatlari atribut qiymatlari deb ataladi, 9-a-rasmda bizga turli nuqtai nazardan munosabatlarning grafik tasviri keltirilgan.

Ko'rinib turibdiki, munosabat real olamning qandaydir ob'ektini (bu holda "tafsilot" ob'ekti) aks ettiradi va ma'lumotlarni qayta ishlash nuqtai nazaridan u jadvaldir. Kortej - bu jadvaldagi qator yoki shunga o'xshash yozuv. Atribut - bu jadval ustuni yoki yozuvdagi maydon. Domen yozuvdagi maydon turlari uchun manba bo'lishi mumkin bo'lgan umumlashtirilgan tur turi sifatida taqdim etiladi. Shunday qilib, quyidagi uchlik atamalar ekvivalentdir:

munosabat, jadval

kortej, satr, yozuv

atribut, ustun, maydon.

Relyatsion ma'lumotlar bazasi - bu barcha kerakli ma'lumotlarni o'z ichiga olgan va turli xil ulanishlar bilan birlashtirilgan aloqalar to'plami.

Muayyan kortejni (qator, yozuv) yagona aniqlash uchun ishlatilishi mumkin bo'lgan atribut (yoki atributlar to'plami) birlamchi kalit deb ataladi. Asosiy kalit hech qanday qo'shimcha atributlarga ega bo'lmasligi kerak. Bu shuni anglatadiki, agar asosiy kalitdan ixtiyoriy atribut chiqarib tashlansa, qolgan atributlar alohida kortejlarni yagona aniqlash uchun etarli bo'lmaydi. Birlamchi kalitlarga kirishni tezlashtirish uchun barcha ma'lumotlar bazasini boshqarish tizimlari (DBMS) indekslash deb ataladigan mexanizmga ega. Taxminan aytganda, indeks bu har bir asosiy kalit uchun yozuvning haqiqiy joylashuviga ishora qiluvchi teskari daraxtlar ro'yxati. Tabiiyki, indekslar turli ma'lumotlar bazasi tizimlarida (mahalliy ma'lumotlar bazalarida, qoida tariqasida, alohida fayllar ko'rinishida) turlicha amalga oshiriladi, ammo ularni tashkil etish tamoyillari bir xil.

Birlamchi kalitdan boshqa atributlar yordamida munosabatlarni indekslash mumkin. Ushbu turdagi indeks ikkilamchi indeks deb ataladi va aloqada ma'lumotlarni topishda kirish vaqtini qisqartirish, shuningdek saralash uchun ishlatiladi. Shunday qilib, agar munosabatning o'zi hech qanday tartiblanmagan bo'lsa va ba'zi kortejlar o'chirilgandan keyin qolgan qatorlarni o'z ichiga olishi mumkin bo'lsa, unda indeks (mahalliy DBMS uchun - indeks fayli), aksincha, tartiblanadi.

Ma'lumotlarning yo'naltiruvchi yaxlitligini ta'minlash uchun ko'pgina DBMSlarda tashqi kalitlar deb ataladigan mexanizm mavjud. Bu mexanizmning ma'nosi shundan iboratki, bir munosabatning ma'lum bir atributiga (yoki atributlar guruhiga) boshqa munosabatning birlamchi kalitiga havola beriladi; bu bilan bu munosabatlar o'rtasidagi bo'ysunish rishtalarini mustahkamlaydi. Bunda birlamchi kalitiga boshqa munosabatning tashqi kaliti havola qilingan munosabat asosiy munosabat yoki bosh munosabat deyiladi; Bog‘lovchi kelib chiqqan munosabat esa detal munosabati yoki tobe munosabat deyiladi. Bunday havolani tayinlagandan so'ng, DBMS munosabatlar o'rtasidagi aloqalarni "buzmaslik" masalalarini avtomatik ravishda nazorat qilish imkoniyatiga ega, xususan:

agar siz tashqi kalit asosiy jadvalda mos kelmaydigan yozuvni bo'ysunuvchi jadvalga qo'shishga harakat qilsangiz (masalan, hali bunday asosiy kalit bilan yozuv mavjud emas), DBMS xatolikni keltirib chiqaradi;

Agar asosiy kaliti tobe jadvaldan kamida bitta havolaga ega bo'lgan yozuvni asosiy jadvaldan o'chirishga harakat qilsangiz, DBMS ham xatolik hosil qiladi.

agar siz asosiy jadvaldagi yozuvning asosiy kalitini tobe jadvaldan kamida bitta havolaga ega bo'lgan o'zgartirishga harakat qilsangiz, DBMS ham xatolik hosil qiladi.

QO‘ShIMChA

Relyatsion ma'lumotlar bazalarining asosiy tushunchalari

Relyatsion ma'lumotlar bazalarining asosiy tushunchalari ma'lumotlar turi, domen, atribut, kortej, birlamchi kalit va munosabatdir.

Ma'lumotlar turi

Kontseptsiya ma'lumotlar turi relyatsion ma'lumotlar modelida dasturlash tillaridagi ma'lumotlar turi tushunchasiga to'liq mos keladi. Odatda, zamonaviy relyatsion ma'lumotlar bazalari belgilar, raqamli ma'lumotlar, bit satrlari, maxsus raqamli ma'lumotlar ("pul" kabi), shuningdek, maxsus "vaqt" ma'lumotlarini (sana, vaqt, vaqt oralig'i) saqlashga imkon beradi. Mavhum ma'lumotlar turlari bilan relyatsion tizimlarning imkoniyatlarini kengaytirishga yondashuv juda faol rivojlanmoqda (masalan, Ingres/Postgres oilasi tizimlari tegishli imkoniyatlarga ega). Bizning misolimizda biz uchta turdagi ma'lumotlar bilan ishlaymiz: belgilar qatorlari, butun sonlar va "pul".

Domen

Kontseptsiya domen ma'lumotlar bazalari uchun ko'proq xosdir, garchi u ba'zi dasturlash tillarida subtyping bilan o'xshashliklarga ega. O'zining eng umumiy ko'rinishida domen domen elementlari tegishli bo'lgan ba'zi asosiy ma'lumotlar turini va ma'lumotlar turi elementiga qo'llaniladigan ixtiyoriy mantiqiy ifodani ko'rsatish orqali aniqlanadi. Agar bu mantiqiy ifodaning bahosi rost bo'lsa, ma'lumotlar elementi domen elementi hisoblanadi.

Domen kontseptsiyasining eng to'g'ri intuitiv talqini domenni ma'lum turdagi qiymatlarning ruxsat etilgan potentsial to'plami sifatida tushunishdir. Misol uchun, bizning misolimizdagi "Ismlar" domeni asosiy belgilar qatori turida aniqlangan, ammo uning qiymatlari faqat nomni ifodalashi mumkin bo'lgan satrlarni o'z ichiga olishi mumkin (xususan, bunday satrlar yumshoq belgi bilan boshlanmaydi).

Domen kontseptsiyasining semantik yukini ham ta'kidlash kerak: ma'lumotlar bir xil domenga tegishli bo'lsa, solishtirish mumkin deb hisoblanadi. Bizning misolimizda "Gap raqamlari" va "Guruh raqamlari" domen qiymatlari butun son turiga ega, ammo solishtirish mumkin emas. Oracle V.7 allaqachon uni qo'llab-quvvatlasa-da, relyatsion DBMSlarning aksariyati domen tushunchasidan foydalanmasligini unutmang.



Sizga maqola yoqdimi? Do'stlaringizga ulashing!