Relyatsion ma'lumotlar bazalari nazariyalari. Relyatsion ma'lumotlar bazasi nazariyasi: normallashtirish, munosabatlar va qo'shilishlar. Rossiya Federatsiyasi Ta'lim va fan vazirligi

Izoh: Bu va keyingi ikkita ma'ruza relyatsion ma'lumotlar bazalari nazariyasiga bag'ishlangan. Ma'lumotlar bazasini tashkil qilishning barcha relyatsion yondashuvi faqat amaliy bo'lganligi sababli, bu nazariya asosan pragmatikdir. Relyatsion ma'lumotlar bazasi nazariyasi hal qilishni maqsad qilgan asosiy muammo ma'lumotlar bazasi sxemalarining foydali xususiyatlarini aniqlash va bunday sxemalarni qurish usullarini ishlab chiqishdir. Bu muammo odatda qisqacha relyatsion ma'lumotlar bazasini loyihalash muammosi deb ataladi.

Kirish

Amaliy yo'nalishiga qaramay, relyatsion ma'lumotlar bazasi nazariyasi mustaqil ilmiy soha boʻlib, unda koʻplab mashhur tadqiqotchilar ishlagan (va ishlashda davom etmoqda), ularning nomlari maʼruzalarimizda uchraydi. Biz ushbu kursda sohadagi asosiy natijalarni batafsil bayon qilishni rejalashtirmagan edik. Bizning maqsadimiz faqat jarayonni umumiy tushunish uchun zarur bo'lgan ta'riflar va bayonotlarni berishdir relyatsion ma'lumotlar bazasi dizayni normallashtirishga asoslanadi.

Chunki amaliy nuqtai nazardan relyatsion ma'lumotlar bazalarining eng muhim xususiyatlari kontseptsiyaga asoslanadi funktsional bog'liqlik, tegishli nazariy masalalarning qisqacha muhokamasini alohida ma’ruzaga kiritdik. Bu savollar orasida yopilishlar va funktsional bog'liqliklar to'plamini qamrab oladi, Armstrong aksiomalari va yetarli shart haqidagi Xit teoremasi yo'qotishsiz munosabatlarning parchalanishi. Ushbu ma'ruzaning tushunchalari va bayonotlari 7-ma'ruza materialini o'zlashtirish uchun haqiqatan ham zarur, ammo biz o'quvchilarga bu nima ekanligini oddiy misollar bilan ko'rsatishga harakat qildik. relyatsion ma'lumotlar bazasi nazariyasi, uning murakkablik darajasi qanday va u qanchalik intuitiv.

E'tibor bering, biz nazariy materiallarni ajratmadik ko'p qiymatli bog'liqliklar Va ulanishga bog'liqliklar. Bu ikki sababga ko'ra amalga oshirildi. Birinchidan, bu turdagi bog'liqliklar modellashtirishda kamroq uchraydi mavzu maydoni ma'lumotlar bazalaridan foydalanish. Shuning uchun biz 8-ma'ruza doirasida faqat tegishli nazariy materialning asoslarini taqdim etishni etarli deb hisobladik. Ikkinchidan, nazariya bo'lsa-da ko'p qiymatli bog'liqliklar Va ulanishga bog'liqliklar, aslida, nazariyaga qaraganda ancha murakkab emas funktsional bog'liqliklar, uning ta'riflari va bayonotlari ushbu kurs uchun juda og'ir.

Funktsional bog'liqliklar

Amaliy nuqtai nazardan eng muhimi munosabatlarning normal shakllari fundamentalga asoslanadi relyatsion ma'lumotlar bazasi nazariyalari tushuncha funktsional bog'liqlik. Keyingi taqdimot uchun bizga bir nechta ta'riflar va bayonotlar kerak bo'ladi (biz davom etayotganimizda ularni tushuntirib beramiz va ko'rsatamiz).

Umumiy ta'riflar

Berilsin munosabat o'zgaruvchisi r , va X va Y r sarlavhasining ixtiyoriy kichik to'plamlari ("kompozit" atributlar).

Ma'nosida munosabat o'zgaruvchisi r Y atributi funktsional jihatdan X atributiga bog'liq agar X ning har bir qiymati Y ning aynan bitta qiymatiga mos kelsa. Bunda X atributi ham aytiladi funktsional jihatdan aniqlaydi Y atributi (X - aniqlovchi ( aniqlovchi) Y uchun va Y X ga bog'liq). Buni r.X->r.Y deb belgilaymiz.

Masalan, biz munosabatdan foydalanamiz HODIM_LOYIHALARI (SLUN_NAME, SLU_NAME, SLU_ZARP, PRO_NOM, PROJECT_RUK)(6.1-rasm). Shubhasiz, agar SLU_NOM bo'lsa munosabatlarning asosiy kaliti XODIMLAR, keyin bu munosabatlar uchun adolatli funktsional qaramlik (FD) SLN_NAME->SERV_NAME .

Aslida, munosabatlarning tanasi uchun EMPLOYEES_LOYIHALARI shaklda ko'rsatilgan shaklda. 6.1, quyidagi FDlar (1) ham bajariladi:


Guruch. 6.1.

SLUN_NOM->SLUN_NAME SLUN_NOM->SLUN_ZARP SLU_NOM->PRO_NOM SLUN_NOM->PROJECT_RUK (SLUN_NAME, SLU_NAME)->SLUN_ZARP (SLUN_NAME, SLUN_NAME)->PRO_NOM (SLUN_NAME, SLUN_NAME)>PRO_NOM (SLUN_NAME) M ->PROJECT_RUK va va boshqalar.

Barcha xodimlarning ismlari har xil bo'lganligi sababli, quyidagi FDlar (2) ham qondiriladi:

SERV_NAME->SERV_NAME SERV_NAME->SLU_ZARP SER_NAME->PRO_NAME va boshqalar.

Bundan tashqari, rasmdagi misol uchun. 6.1 qoniqtirildi va FD (3):

SLU_ZARP->PRO_NOM

Biroq, FD guruhining tabiati (1) FD guruhlari (2) va (3) tabiatidan farq qilishiga e'tibor bering. Xodimlarning identifikatsiya raqamlari har doim boshqacha bo'lishi kerak va har bir loyihada faqat bitta menejer bor deb taxmin qilish mantiqan to'g'ri. Shuning uchun (1) guruhning FDlari har qanday haqiqiy qiymat uchun to'g'ri bo'lishi kerak munosabat o'zgaruvchisi EMPLOYEES_LOYIHALARI va deb hisoblash mumkin invariantlar, yoki yaxlitlik cheklovlari bu munosabat o'zgaruvchisi.

Guruh FDlari (2) barcha xodimlarning turli nomlarga ega ekanligi haqidagi kamroq tabiiy taxminga asoslanadi. Bu rasmdagi misol uchun to'g'ri. 6.1, lekin vaqt o'tishi bilan FD guruhlari (2) hech qanday qiymat uchun qoniqtirmasligi mumkin. munosabat o'zgaruvchisi EMPLOYEES_LOYIHALARI.

Nihoyat, (3) guruh FD juda g'ayritabiiy taxminga asoslanadi, har xil loyihalarda qatnashgan ikkita xodim bir xil maosh olmaydi. Shunga qaramay, bu taxmin rasmdagi misol uchun to'g'ri. 6.1, lekin, ehtimol, bu tasodif.

Kelajakda bizni faqat shular qiziqtiradi funktsional bog'liqliklar, barcha mumkin bo'lgan qiymatlar uchun qanoatlantirilishi kerak munosabat o'zgaruvchilari.

E'tibor bering, agar r munosabatining A atributi mumkin bo'lgan kalit bo'lsa, u holda ushbu munosabatning har qanday B atributi uchun u har doim o'zini tutadi.

DELPHI 6 MUHITDA DASTURLASH

Ma'lumotlar bazasi. Word yordamida hisobot yarating.

Tahririyat-nashriyot kengashi tomonidan tasdiqlangan

universitet laboratoriya ustaxonasi sifatida

Voronej, 2004 yil


UDC 681.3

Vorobyov E.I., Korotkevich D.E.. Delphi 6 muhitida dasturlash: Laboratoriya seminari: 2-qism: Ma'lumotlar bazalari. Word yordamida hisobot yarating. Oqimlar. Voronej: Voronej. davlat texnologiya. Univ., 2004. 107 b.

Laboratoriya mashg‘ulotining ikkinchi qismida Delphi 6 muhitida dastur yozish uchun “Ma’lumotlar bazalarini loyihalash, Word da hisobotlar yaratish va yuqori unumli ilovalar yaratishda iplardan foydalanish” mavzusidagi nazariy va amaliy ma’lumotlar muhokama qilinadi.

Nashr 230100 “Informatika va informatika” yo‘nalishi, 230104 “Kompyuter yordamida loyihalash tizimlari” mutaxassisligi, “Yuqori darajali tillarda dasturlash” fanlari bo‘yicha Oliy kasbiy ta’limning Davlat ta’lim standarti talablariga javob beradi.

Jadval 3. Il. 19. Bibliografiya: 7 nom.

Ilmiy muharrir: Tech. fanlar, prof. Ya.E. Lvovich

Taqrizchilar: Voronej o‘rmon xo‘jaligi akademiyasining kompyuter fanlari kafedrasi (kafedra mudiri, texnika fanlari doktori, prof. V.E. Mejov);

Doktor Tech. fanlar, prof. O.Yu.Makarov

© Vorobyov E.I., Korotkevich D.E., 2004 yil

© Dizayn. Voronej davlati

Texnika universiteti, 2004 yil


Kirish

Ma'lumotlar bazasi tushunchasi

Ma'lumotlar bazalari Delphi ning asosiy afzalligi hisoblanadi. Hatto ma'lumotlar bazalari bilan ishlash uchun ixtisoslashgan tillar ham (masalan, MS Visual FoxPro) ushbu turdagi ilovalar uchun soddaligi va dasturlash kuchi jihatidan ancha past. Delphi barcha murakkablikni yashiradi va shu bilan birga eng katta kuchni beradi. Delphida qisqa vaqt ichida amalga oshirib bo'lmaydigan vazifa hech qachon bo'lmagan. Va asosiysi, bularning barchasi juda qulay va tushunarli tarzda amalga oshiriladi. Delphida oddiy dasturlarni, hatto murakkab ma'lumotlar bazalari bilan ham, bitta kod qatorisiz yaratishingiz mumkin. Ushbu o'quv qo'llanma mahalliy ma'lumotlar bazalari bilan ishlash texnikasini o'zlashtirish uchun laboratoriya topshiriqlarini o'z ichiga oladi.

Relyatsion ma'lumotlar bazasi nazariyasi

O'n yil oldin ma'lumotlar bazasini dasturlash juda qiyin ish edi. Hozirgi vaqtda buni tasavvur qilish qiyin, chunki Delphi tufayli dasturlarni yozish jarayoni soddalashtirildi va ma'lumotlar bazasi turlarining soni allaqachon o'nlab.

Ma'lumotlar bazalari mahalliy (mijozning kompyuterida o'rnatilgan, dastur ishlaydi) va masofaviy (serverda o'rnatilgan, masofaviy kompyuter) bo'linadi. Server ma'lumotlar bazalari masofaviy kompyuterda joylashgan bo'lib, server dasturlari nazorati ostida ishlaydi. Ularning asosiy afzalliklari bir vaqtning o'zida bir nechta foydalanuvchilar tomonidan bitta ma'lumotlar bazasi bilan ishlash qobiliyatini o'z ichiga oladi va shu bilan birga tarmoqda minimal yuk mavjud. Bundan tashqari, tarmoqda juda ko'p yuk yaratadigan va dasturchi uchun ham, oxirgi foydalanuvchi uchun ham foydalanish noqulay bo'lgan tarmoq ma'lumotlar bazalari mavjud. Dastur tarmoq ma'lumotlar bazasiga ulanganda uning deyarli to'liq nusxasini serverdan yuklab oladi. Agar siz o'zgartirish kiritgan bo'lsangiz, nusxangiz butunlay qayta yuklab olinadi. Bu juda noqulay, chunki u ortiqcha ma'lumotlarni uzatish tufayli tarmoqda katta yuk hosil qiladi. Mijoz-server texnologiyasida mijoz dasturi ba'zi ma'lumotlarni olish uchun serverga oddiy matnli so'rov yuboradi. Server uni qayta ishlaydi va ma'lumotlarning faqat kerakli qismini qaytaradi. Ba'zi ma'lumotlarni o'zgartirish kerak bo'lganda, uni o'zgartirish uchun serverga yana so'rov yuboriladi va server o'z ma'lumotlar bazasidagi ma'lumotlarni o'zgartiradi. Shunday qilib, asosan, faqat matn so'rovlari tarmoq orqali uzatiladi, ular odatda bir kilobaytdan kam joy egallaydi. Barcha ma'lumotlar server tomonidan qayta ishlanadi, ya'ni mijozning mashinasi kamroq yuklanadi va resurslarga unchalik talabchan emas. Server mijozga faqat eng kerakli ma'lumotlarni yuboradi, ya'ni butun ma'lumotlar bazasining nusxasini keraksiz yuklab olish yo'q. Bularning barchasi tufayli tarmoq ma'lumotlar bazalari allaqachon eskirgan va amalda ishlatilmaydi. Ular deyarli butunlay mijoz-server texnologiyasi bilan almashtirildi. Ammo mahalliy ma'lumotlar bazalari doimo yashaydi. Ularni saqlash formati o'zgarishi yoki ba'zi yangi funktsiyalar qo'shilishi mumkin, ammo ma'lumotlar bazalarining o'zi mavjud bo'ladi. Keyinchalik ko'rib chiqish uchun biz yangi kontseptsiyani aniqlashimiz kerak - stol. Hozirgacha faqat umumiy tamoyillar muhokama qilingan, shuning uchun umumiy tushuncha ishlatilgan ma'lumotlar bazalari. Ma'lumotlar bazasi jadvali ma'lumotlar ustunga joylashtirilgan ikki o'lchovli massivga o'xshaydi (jadvalning asosiy namunasi Excel). Ma'lumotlar bazasi - bu, taxminan, bittadan bir nechta jadvallarni saqlashi mumkin bo'lgan fayl. Ko'pgina mahalliy ma'lumotlar bazalari faqat bitta jadvalni saqlashi mumkin (dBase, Paradox, XML). Ammo bitta faylda bir nechta jadvallar mavjud bo'lgan mahalliy ma'lumotlar bazalarining vakillari mavjud (masalan, Access).

Mahalliy ma'lumotlar bazalari

Mahalliy ma'lumotlar bazalari orasida eng keng tarqalgani sifatida relyatsion ma'lumotlar bazalarini ko'rib chiqaylik. Relyatsion ma'lumotlar bazasi nima? Bu jadval bo'lib, unda ustunlar unda saqlangan ma'lumotlarning nomlari bo'lib, har bir satr ma'lumotlarni o'zi saqlaydi. Ma'lumotlar bazasi jadvali Excel elektron jadvaliga o'xshaydi (aniqrog'i, Excel o'z ma'lumotlarini ma'lumotlar bazasi texnologiyasi asosida qurilgan xususiy formatda saqlaydi). Mahalliy ma'lumotlar bazasi jadvallari mahalliy qattiq diskda saqlanishi yoki fayl serveridagi tarmoq diskida markaziy tarzda saqlanishi mumkin. Ushbu fayllar boshqa fayllar kabi standart vositalar yordamida ko'chirilishi mumkin, chunki ma'lumotlar bazasi jadvallarining o'zi ma'lum bir joyga bog'lanmagan. Asosiysi, dastur jadvalni topishi mumkin. Har bir jadvalda qatorni noyob tarzda aniqlaydigan yagona maydon bo'lishi kerak. Bu maydon kalit maydoni deb ataladi. Ushbu maydonlar ko'pincha bir nechta jadvallarni bir-biriga bog'lash uchun ishlatiladi. Ammo jadval bog'liq bo'lmasa ham, kalit maydoni hali ham talab qilinadi. Raqamli turni kalit sifatida ishlatish tavsiya etiladi va agar ma'lumotlar bazasi imkon bersa, u "avtomatik oshirish" turida bo'lsa (avtomatik ravishda ko'paytiriladigan/kamayuvchi raqam yoki hisoblagich) bo'lsa yaxshi bo'ladi. Ma'lumotlar bazasi jadvalidagi ustun nomlari ham noyob bo'lishi kerak, lekin bu holda raqamli bo'lishi shart emas. Betakror va tushunarli bo'lsa, ularni xohlagan narsangiz deb atash mumkin. Har bir ustun (ma'lumotlar bazasi maydoni) ma'lum bir turga ega bo'lishi kerak. Turlarning soni va ularning navlari ma'lumotlar bazasi turiga bog'liq, masalan, dBASE formati (DBF kengaytmali fayllar) faqat 6 turni qo'llab-quvvatlaydi va Paradox allaqachon 15 tagacha qo'llab-quvvatlaydi. Ma'lumotlar bazasi bitta faylda saqlanishi mumkin (Kirish ) yoki bir nechta (Paradoks, dBase). Aniqrog'i, jadval ma'lumotlari doimo bitta faylda saqlanadi, ammo qo'shimcha ma'lumotlar alohida fayllarda joylashgan bo'lishi mumkin. Qo'shimcha ma'lumotlar indekslar, cheklovlar yoki muayyan maydonlar uchun standart qiymatlar ro'yxatini o'z ichiga olishi mumkin. Agar fayllardan kamida bittasi buzilgan yoki o'chirilsa, ma'lumotlar tahrirlash uchun mavjud bo'lmasligi mumkin.

Nima bo'ldi indekslari? Ko'pincha jadvallardagi ma'lumotlar qandaydir o'zgarishlarga uchraydi, shuning uchun biron bir qatorni tahrirlashdan oldin uni topishingiz kerak. Hatto ma'lumotnoma sifatida ishlatiladigan statik jadvallar ham so'ralgan ma'lumotlarni ko'rsatishdan oldin qidiruv operatsiyalariga bo'ysunadi. Qidiruv juda ko'p vaqt talab qiladigan operatsiya, ayniqsa jadvalda juda ko'p qatorlar mavjud bo'lsa. Indekslar ushbu protsedurani tezlashtirishga qaratilgan va ular saralash uchun boshlang'ich nuqta sifatida ham ishlatilishi mumkin. Ushbu bosqichda indekslanmagan maydonni buyurtma qilish mumkin emasligini bilish kifoya.

Agar sizga maydon bo'yicha buyurtma berish uchun stol kerak bo'lsa " Familiya", keyin bu maydon avval indekslanishi kerak. Keyin jadval endi falon indeks bilan ishlashi kerakligini ko'rsatishingiz kerak va u avtomatik ravishda tartiblanadi.

Yaxshi ishlab chiqilgan ma'lumotlar bazasida ma'lumotlarning ortiqchaligi yo'q qilinadi va nomuvofiq ma'lumotlarni saqlash ehtimoli minimallashtiriladi. Shunday qilib, ma'lumotlar bazalarini yaratish ikkita asosiy maqsadga ega: ma'lumotlarning ortiqchaligini kamaytirish va ularning ishonchliligini oshirish.

Har qanday dasturiy mahsulotning, shu jumladan ma'lumotlar bazasini boshqarish tizimining hayot aylanishi (asosan) loyihalash, amalga oshirish va ishlatish bosqichlaridan iborat.

Tabiiyki, ma'lumotlar bazasi ilovasining hayot aylanishining eng muhim omili dizayn bosqichidir. Tizimning ishlashi va uning axborot boyligi, demak, uning ishlash muddati ma'lumotlar bazasi tuzilishi qanchalik puxta o'ylanganligi va uning elementlari orasidagi bog'lanishlar qanchalik aniq belgilanganligiga bog'liq.

Ma'lumotlar bazasiga qo'yiladigan talablar

Shunday qilib, yaxshi mo'ljallangan ma'lumotlar bazasi:

1. Ma'lumotlar bazasi tarkibiga bo'lgan barcha foydalanuvchi talablarini qondiradi. Ma'lumotlar bazasini loyihalashdan oldin ma'lumotlar bazasi funksionalligi uchun foydalanuvchi talablari bo'yicha keng qamrovli tadqiqotlar o'tkazish kerak.

2. Ma'lumotlarning izchilligi va yaxlitligini ta'minlaydi. Jadvallarni loyihalashda siz ularning atributlarini va foydalanuvchining noto'g'ri qiymatlarni kiritish imkoniyatini cheklaydigan ba'zi qoidalarni belgilashingiz kerak. Ma'lumotlarni to'g'ridan-to'g'ri jadvalga yozishdan oldin tekshirish uchun ma'lumotlar bazasi ma'lumotlar modeli qoidalarini chaqirishi va shu bilan ma'lumotlarning yaxlitligini ta'minlashi kerak.

3. Axborotning tabiiy, tushunarli tuzilishini ta'minlaydi. Ma'lumotlar bazasining yuqori sifatli qurilishi ma'lumotlar bazasiga so'rovlarni yanada "shaffof" va tushunarli qilish imkonini beradi; Natijada, noto'g'ri ma'lumotlarni kiritish ehtimoli kamayadi va ma'lumotlar bazasiga xizmat ko'rsatish sifati yaxshilanadi.

4. Foydalanuvchilarning ma'lumotlar bazasi ishlash talablariga javob beradi. Katta hajmdagi ma'lumotlar bilan, samaradorlikni saqlash masalalari

dizayn bosqichining barcha kamchiliklarini darhol "ta'kidlab", katta rol o'ynashni boshlaydi.

Quyidagi nuqtalar ma'lumotlar bazasini loyihalashning asosiy bosqichlarini ifodalaydi:

1. Ma'lumotlar bazasining axborotga bo'lgan ehtiyojini aniqlang.

2. Ma'lumotlar bazasida modellashtirilishi kerak bo'lgan real dunyo ob'ektlarini tahlil qiling. Ushbu ob'ektlardan ushbu ob'ektlarning ob'ektlari va xususiyatlarini (masalan, "qism" ob'ekti uchun "nom", "rang", "vazn" va boshqalar bo'lishi mumkin) va ularning ro'yxatini tuzing.

3. Ob'ektlar va xarakteristikalar - siz tanlagan DBMS (Paradox, dBase, FoxPro, Access, Clipper, InterBase, Sybase, Informix, Oracle va boshqalar) yozuvidagi jadvallar va ustunlarni (maydonlarni) moslang.

4. Har bir ob'ektni o'ziga xos tarzda aniqlaydigan atributlarni aniqlang.

5. Ma'lumotlar yaxlitligini o'rnatadigan va saqlaydigan qoidalarni ishlab chiqish.

6. Ob'ektlar (jadvallar va ustunlar) o'rtasida aloqa o'rnatish, jadvallarni normallashtirish.

7. Ma'lumotlarning ishonchliligi va kerak bo'lganda ma'lumotlar sirini saqlash masalalarini rejalashtirish.


Tegishli ma'lumotlar.


Relyatsion algebra to'plamlar nazariyasiga asoslanadi va ma'lumotlar bazasi mantig'ining asosidir.
Ma'lumotlar bazalari va SQL tuzilishini endigina o'rganayotganimda, relyatsion algebra bilan oldindan tanishish qo'shimcha bilimlarni boshimga to'g'ri moslashtirishga katta yordam berdi va men ushbu maqolada xuddi shunday ta'sir ko'rsatishga harakat qilaman.

Agar siz ushbu sohada o'qishni boshlamoqchi bo'lsangiz yoki shunchaki qiziqsangiz, mushuk ustiga bosing.

Relyatsion ma'lumotlar bazasi

Birinchidan, barcha amallarni bajaradigan relyatsion ma'lumotlar bazasi tushunchasini kiritamiz.

Relyatsion ma'lumotlar bazasi - bu ma'lumotlar bazasida saqlanishi kerak bo'lgan barcha ma'lumotlarni o'z ichiga olgan munosabatlar to'plami. Ushbu ta'rifda biz munosabatlar atamasi bilan qiziqamiz, ammo hozircha biz uni qat'iy ta'rifsiz qoldiramiz.
Keling, mahsulotlar jadvalini yaxshiroq tasavvur qilaylik.

MAHSULOTLAR jadvali

ID NAME KOMPANIYA NARX
123 Cookie-fayllar Dark Side MChJ 190
156 Choy Dark Side MChJ 60
235 Ananaslar “Frukti” OAJ 100
623 Pomidorlar OOO "Sabzavotlar" 130

Jadval 4 qatordan iborat, jadvaldagi bir qator relyatsion nazariyada kortejdir. Tartiblangan kortejlar to'plami munosabat deyiladi.
O'zaro munosabatlarni aniqlashdan oldin, keling, boshqa atama - domenni kiritaylik. Jadvalga nisbatan domenlar ustunlardir.

Aniqlik uchun biz endi munosabatlarning qat'iy ta'rifini kiritamiz.

N to'plam D1,D2, … berilsin. Dn (domenlar), bu to'plamlar bo'yicha R munosabati shaklning tartiblangan N-kortejlari to'plamidir. , bu erda d1 D1 ga tegishli va hokazo. D1,D2,..Dn to‘plamlar R munosabatning domenlari deyiladi.
Kortejning har bir elementi domenlardan biriga mos keladigan atributlardan birining qiymatini ifodalaydi.

O'zaro munosabatlardagi kalitlar
Aloqada barcha kortejlar alohida bo'lishi kerak. Kortejni noyob tarzda aniqlash uchun asosiy kalit mavjud. Birlamchi kalit - bu ma'lum bir kortejni yagona identifikatsiya qiluvchi va qo'shimcha atributlarni o'z ichiga olmaydigan atribut yoki atributlarning minimal soni to'plami.
Bundan kelib chiqadiki, birlamchi kalitdagi barcha atributlar ma'lum bir kortejni aniqlash uchun zarur va etarli bo'lishi kerak va kalitdagi atributlardan birini tashlab qo'yish uni identifikatsiya qilish uchun etarli bo'lmaydi.
Masalan, bunday jadvalda kalit birinchi va ikkinchi ustundagi atributlarning kombinatsiyasi bo'ladi.

DIVERS jadvali

Ko'rinib turibdiki, tashkilot bir nechta drayverlarga ega bo'lishi mumkin va haydovchini yagona aniqlash uchun "Tashkilot nomi" ustunidan ham, "Haydovchi nomi" ustunidan ham qiymat talab qilinadi. Bunday kalit kompozit kalit deb ataladi.

Relyatsion ma'lumotlar bazasida jadvallar o'zaro bog'langan va bir-biri bilan asosiy va bo'ysunuvchi jadvallar sifatida bog'langan. Asosiy va bo'ysunuvchi jadvallar orasidagi bog'lanish asosiy jadvalning birlamchi kaliti va bo'ysunuvchi jadvalning tashqi kaliti orqali amalga oshiriladi.
Chet el kaliti - bu asosiy jadvaldagi asosiy kalit bo'lgan atribut yoki atributlar to'plami.

Bu tayyorgarlik nazariyasi relyatsion algebraning asosiy operatsiyalari bilan tanishish uchun etarli bo'ladi.

Relyatsion algebra operatsiyalari

Relyatsion algebraning asosiy sakkizta amali E. Kodd tomonidan taklif qilingan.
  • Uyushma
  • Chorraha
  • Ayirish
  • Dekart mahsuloti
  • Namuna
  • Proyeksiya
  • Murakkab
  • Bo'lim
Operatsiyalarning birinchi yarmi to'plamlardagi bir xil operatsiyalarga o'xshaydi. Ba'zi operatsiyalarni boshqa operatsiyalar bilan ifodalash mumkin. Ko'pgina operatsiyalarni misollar bilan ko'rib chiqaylik.

Tushunish uchun shuni esda tutish kerakki, munosabatlar bo'yicha har qanday algebra operatsiyasining natijasi boshqa munosabatlar bo'lib, undan keyin boshqa operatsiyalarda foydalanish mumkin.
Keling, misollarda biz uchun foydali bo'lgan yana bir jadval tuzamiz.

SELLERS jadvali

ID sotuvchi
123 OOO "Dart"
156 "Vedro" OAJ
235 "Sabzavot bozori" YoAJ
623 "Firma" OAJ

Keling, ushbu jadvalda ID - bu PRODUCTS jadvalining asosiy kaliti bilan bog'langan xorijiy kalit ekanligiga rozi bo'laylik.

Birinchidan, eng oddiy operatsiyani ko'rib chiqaylik - munosabatlar nomi. Uning natijasi bir xil munosabat bo'ladi, ya'ni MAHSULOTLAR operatsiyasini bajarish orqali biz MAHSULOTLAR munosabatining nusxasini olamiz.

Proyeksiya
Proyeksiya - bu munosabatdan atributlar faqat belgilangan domenlardan olinadigan, ya'ni jadvaldan faqat kerakli ustunlar tanlab olinadigan va agar bir nechta bir xil kortejlar olingan bo'lsa, unda bunday kortejning faqat bitta nusxasi qoladigan operatsiyadir. natijaviy munosabat.
Masalan, MAHSULOTLAR jadvalidan ID va PRICE ni tanlab proyeksiya qilaylik.

Operatsiya sintaksisi:
p (ID, NARX) MAHSULOTLAR

Namuna sharoitida biz har qanday mantiqiy ifodadan foydalanishimiz mumkin. Keling, narxi 90 dan yuqori va mahsulot identifikatori 300 dan kam bo'lgan boshqa tanlov qilaylik:

s(NARX>90^ID<300) PRODUCTS

Ko'paytirish
Ko'paytirish yoki Dekart mahsuloti - bu ikkita munosabat bo'yicha bajariladigan operatsiya bo'lib, buning natijasida biz ikkita boshlang'ich munosabatlardan barcha sohalar bilan munosabatga ega bo'lamiz. Ushbu domenlardagi kortejlar dastlabki munosabatlardagi barcha mumkin bo'lgan kortejlar kombinatsiyasi bo'ladi. Bu bir misol bilan aniqroq bo'ladi.

Biz MAHSULOTLAR va SELLERS jadvallarining Kartezian mahsulotini olamiz.
Operatsiya sintaksisi:

MAHSULOTLAR × sotuvchilar
Ushbu ikkita jadval bir xil ID domeniga ega ekanligini sezasiz. Bunday holda, bir xil nomdagi domenlar quyida ko'rsatilganidek, tegishli munosabatlar nomi bilan prefikslanadi.
Qisqartirish uchun keling, to'liq nisbatlarni emas, balki shart identifikatori bo'lgan namunalarni ko'paytiraylik<235

(xuddi shu tuplar rang bilan ta'kidlangan)

PRODUCTS.ID NAME KOMPANIYA NARX SELLERS.ID sotuvchi
123 Cookie-fayllar Dark Side MChJ 190 123 OOO "Dart"
156 Choy Dark Side MChJ 60 156 "Vedro" OAJ
123 Cookie-fayllar Dark Side MChJ 190 156 "Vedro" OAJ
156 Choy Dark Side MChJ 60 123 OOO "Dart"

Ushbu operatsiyani ishlatish misolida, narxi 90 dan past bo'lgan sotuvchilarni tanlash zarurligini tasavvur qiling. Mahsulot bo'lmasa, birinchi jadvaldan mahsulot identifikatorlarini olish kerak bo'ladi, so'ngra ikkinchi jadvaldan ushbu identifikatorlardan foydalanib kerakli ma'lumotlarni olish kerak bo'ladi. SELLER nomlari va mahsulotdan foydalangan holda quyidagi so'rov bo'ladi:

p (sotuvchi) s (RODUCTS.ID=SELLERS.ID ^ NARX<90) PRODUCTS × SELLERS

Ushbu operatsiya natijasida biz quyidagi munosabatni olamiz:

sotuvchi
"Vedro" OAJ
Aloqa va tabiiy aloqa
Qo'shish operatsiyasi proyeksiya operatsiyasiga teskari bo'lib, ikkita mavjud munosabatlardan yangi munosabat hosil qiladi. Birinchi va ikkinchi munosabatlarning kortejlarini birlashtirish orqali yangi munosabat olinadi, ko'rsatilgan atributlarning qiymatlari mos keladigan munosabatlar esa birlashtiriladi. Xususan, agar siz PRODUCTS va SELLERS munosabatlarini ulasangiz, bu atributlar ID domenlarining atributlari hisoblanadi.

Bundan tashqari, aniqlik uchun siz ikkita operatsiya natijasi sifatida ulanishni tasavvur qilishingiz mumkin. Birinchidan, manba jadvallarining mahsuloti olinadi, so'ngra hosil bo'lgan munosabatdan bir xil domenlardan atributlarning tengligi sharti bilan tanlov qilamiz. Bunday holda, shart PRODUCTS.ID va SELLERS.ID tengligi hisoblanadi.

Keling, MAHSULOTLAR va sotuvchilar munosabatlarini bog'lashga harakat qilaylik va munosabatlarga ega bo'laylik.

PRODUCTS.ID NAME KOMPANIYA NARX SELLERS.ID sotuvchi
123 Cookie-fayllar Dark Side MChJ 190 123 OOO "Dart"
156 Choy Dark Side MChJ 60 156 "Vedro" OAJ
235 Ananaslar “Frukti” OAJ 100 235 "Sabzavot bozori" YoAJ
623 Pomidorlar OOO "Sabzavotlar" 130 623 "Firma" OAJ

Tabiiy qo'shilish shunga o'xshash munosabatni oladi, lekin agar bizda ma'lumotlar bazasida to'g'ri sozlangan sxema bo'lsa (bu holda, MAHSULOTLAR ID jadvalining asosiy kaliti SELLERS ID jadvalining tashqi kaliti bilan bog'langan), natijada paydo bo'lgan munosabat o'z ichiga oladi faqat bitta ID domeni.

Operatsiya sintaksisi:
MAHSULOTLAR ⋈ sotuvchilar;

Siz bu munosabatni olasiz:

PRODUCTS.ID NAME KOMPANIYA NARX sotuvchi
123 Cookie-fayllar Dark Side MChJ 190 OOO "Dart"
156 Choy Dark Side MChJ 60 "Vedro" OAJ
235 Ananaslar “Frukti” OAJ 100 "Sabzavot bozori" YoAJ
623 Pomidorlar OOO "Sabzavotlar" 130 "Firma" OAJ
Kesishish va ayirish.
Kesishish amalining natijasi ikkala munosabatga to'liq kiritilgan kortejlardan tashkil topgan munosabat bo'ladi.
Ayirish natijasi ikkinchi munosabatning kortejlari emas, balki birinchi munosabatning kortejlari bo'lgan kortejlardan tashkil topgan munosabat bo'ladi.
Bu operatsiyalar to'plamlardagi bir xil operatsiyalarga o'xshaydi, shuning uchun ularni batafsil tasvirlashning hojati yo'q deb o'ylayman.
Axborot manbalari
  • Ma'lumotlar bazalaridan foydalanish va loyihalash asoslari - V. M. Ilyushechkin
  • ma'ruzalar kursi Ma'lumotlar bazalariga kirish - Jennifer Widom, Stenford universiteti

Men asosli izohlar uchun minnatdor bo'lardim

Muhim narsalar haqida qisqacha.

Ma'lumotlar bazasini normallashtirish

Birinchi normal shakl (1NF)

  • takroriy ma'lumotlar guruhlari yo'q
  • ma'lumotlarning atomligi kafolatlanadi (barcha ma'lumotlar avtonom va mustaqildir).

Yuqori darajada bunga birlamchi kalit yaratish, so'ngra takrorlanuvchi ma'lumotlar guruhlarini yangi jadvallarga ko'chirish, ushbu jadvallar uchun asosiy kalitlarni yaratish va hokazolar orqali erishiladi. Bundan tashqari, ustunlarida kompozit ma'lumotlar mavjud bo'lgan barcha yozuvlarni ustun ma'lumotlarining har bir qismi uchun alohida satrlarga bo'lish kerak.

Ikkinchi normal shakl (2NF)

  • jadval 1NF shartlarini qondiradi
  • har bir ustun uning bir qismiga emas, balki butun kalitga bog'liq.

Uchinchi normal shakl (3NF)

  • jadval 2NF shartlarini qondiradi
  • hech qanday ustun asosiy kalitning bir qismi bo'lmagan ustunga bog'liq emas
  • olingan ma'lumotlarni o'z ichiga olmaydi

Amaliy ahamiyatga ega bo'lmagan boshqa oddiy shakllar:

Boyce-Codd normal shakli

Variant 3NF. Bir-biriga mos keladigan nomzod kalitlari ko'p bo'lgan vaziyatni hal qilish uchun mo'ljallangan. Aslida, akademik hamjamiyatdan tashqarida hech qanday mantiqiy asos yo'q.

To'rtinchi normal shakl

Ko'p qiymatli bog'liqliklar bilan bog'liq muammolarni hal qilish uchun mo'ljallangan. Agar 3NF ga qisqartirilgan jadvalda kompozit asosiy kalitning bir ustuni boshqa asosiy kalit ustuniga bog'liq bo'lsa, bunday vaziyatlar yuzaga keladi.

Beshinchi normal shakl

Yo'qotishlar va yo'qotishlarsiz munosabatlarning parchalanishi bilan ishlashda foydalaniladi. Bu bitta munosabatni bir nechta turli munosabatlarga bo'lish mumkin bo'lgan vaziyatda paydo bo'ladi, ammo bundan keyin biz uni mantiqiy ravishda asl shakliga qaytara olmaymiz.

Oltinchi oddiy shakl (domen kalitining normal shakli)

Ma'lumotlar bazasida o'zgartirish anomaliyalari yo'qligini ta'minlaydi. Haqiqiy sharoitda bunga amalda erishib bo'lmaydi.

Aloqa.

Men bir marta ayollardan erkaklar deb eshitganman
darhol joylashgan xonani tark etishga harakat qiling
"Munosabatlar" so'zi eshitildi.<...>muvaffaqiyat kaliti
munosabatlar - bu har kimning o'z rolini bilishi
shu munosabat bilan, shuningdek, qoidalar va cheklovlar,
bu munosabatlar tomonidan yuklangan.
(C) Robert Viera, “Professional SQL Server 2000 dasturlash”

Munosabatlar turlari

  • Yakkama-yakka (mos keladigan ma'lumotlar turli ma'lumotlar bazalarida saqlanishi kerak bo'lganda yoki satrning maksimal hajmi oshib ketganda mantiqiy bo'ladi)
  • Nol yoki birdan birga
  • Birdan ko'pga
  • Birdan - nolga, - bir yoki - ko'p
  • Ko'pdan ko'pga (birlashma jadvallari)

Uyushmalar

ICHKI QO‘SHILMA

Eksklyuziv qo'shilish. Tanlov natijasi faqat berilgan shart uchun juftlashtirilgan jadvalda mos keladigan jadval yozuvlarini o'z ichiga oladi.

Chap|O'ngga qo'shiling

Inklyuziv qo'shilish. Tanlov natijasi jadvalning chap/o'ng tomonidagi yozuvlarni o'z ichiga oladi QO'SHILING mos ravishda. Bunday holda, etishmayotgan "juftlangan" yozuvdan ma'lumotlar to'ldiriladi NULL.
FROM left_table. LEFT JOIN right_table– chap jadvaldagi barcha yozuvlar left_table ichiga kiritilgan
FROM left_jadval O‘ngga qo‘shiling right_table– o‘ngdagi o‘ng_jadvaldagi barcha yozuvlar kiritilgan

TO'LIQ QO'SHILING

Inklyuziv qo'shilish. Tanlov natijasi nafaqat boshqa jadvalda mos keladigan yozuvlarni, balki boshqa jadvalda moslik topilmagan ikkala jadvaldagi yozuvlarni ham o'z ichiga oladi. Bunday holda, etishmayotgan "juftlangan" yozuvdagi ma'lumotlar NULL bilan to'ldiriladi.

KROSS QO'SHILING

O'zaro birlashma (kartezian mahsuloti). Bir jadvaldagi har bir yozuv boshqa jadvaldagi har bir yozuvga mos keladi. Olingan yozuvlar soni ikkala jadvaldagi yozuvlar sonining ko'paytmasiga teng.

Bir nechta tartibga solish tamoyillari QO'SHILING ning

Agar siz bir nechta jadvallarga qo'shilishingiz kerak bo'lsa, ikkita printsipni eslab qolishingiz kerak:

  1. Barcha kasaba uyushmalari chap tomonda QO'SHILING so'rovni qo'shish yoki undan chiqarib tashlash uchun yagona jadval sifatida ko'rib chiqiladi.
  2. Barcha kasaba uyushmalari HUQUQ tarafda QO'SHILING SHuningdek, so'rovni qo'shish yoki undan chiqarib tashlash uchun yagona jadval sifatida ko'rib chiqiladi.

Ushbu tamoyillarning natijasi murakkab birlashmalarni shakllantirish uchun quyidagi tavsiyalardan iborat:

  • Mumkin bo'lgan joyda INNER JOIN dan foydalaning.
  • Agar OUTER JOINlardan foydalanish zarurati tug‘ilsa, ular oxirgi, INNER JOINlar esa birlashma boshida joylashtirilishi kerak.

P.S. Yuqorida aytilganlarning barchasi relyatsion ma'lumotlar bazalari nazariyasining umumiy "postulatlari" bo'lib, ular ma'lum ma'lumotlar bazalarining xususiyatlariga bog'liq emas.

Ma'lumotlar modeli - bu ma'lumotlar tuzilmalari va ularni qayta ishlash operatsiyalari to'plami. Ma'lumotlar modelidan foydalanib, siz ob'ektlarning tuzilishini va ular o'rtasida o'rnatilgan munosabatlarni vizual tarzda tasvirlashingiz mumkin. Ma'lumotlar modeli terminologiyasi "ma'lumotlar elementi" va "majburiy qoidalar" tushunchalari bilan tavsiflanadi. Ma'lumotlar elementi har qanday ma'lumotlar to'plamini tavsiflaydi va assotsiatsiya qoidalari ma'lumotlar elementlarini o'zaro bog'lash algoritmlarini belgilaydi. Bugungi kunga qadar ko'plab turli xil ma'lumotlar modellari ishlab chiqilgan, ammo amalda uchta asosiy model qo'llaniladi. Ma'lumotlarning ierarxik, tarmoqli va relyatsion modellari mavjud. Shunga ko'ra, ular ierarxik, tarmoq va relyatsion DBMS haqida gapirishadi.

O ierarxik ma'lumotlar modeli. Ierarxik tarzda tashkil etilgan ma'lumotlar kundalik hayotda juda keng tarqalgan. Masalan, oliy ta’lim muassasasining tuzilishi ko‘p bosqichli ierarxik tuzilma hisoblanadi. Ierarxik (daraxt) ma'lumotlar bazasi tartiblangan elementlar to'plamidan iborat. Ushbu modelda boshlang'ich elementlar boshqa elementlarni keltirib chiqaradi va bu elementlar o'z navbatida keyingi elementlarni keltirib chiqaradi. Har bir kichik element faqat bitta asosiy elementga ega.

Tashkiliy tuzilmalar, materiallar ro'yxati, kitoblardagi mundarijalar, loyiha rejalari va boshqa ko'plab ma'lumotlar to'plamlari ierarxik shaklda taqdim etilishi mumkin. Ajdodlar va avlodlar o'rtasidagi aloqalarning yaxlitligi avtomatik tarzda saqlanadi. Asosiy qoida: hech qanday bola ota-onasisiz yashay olmaydi.

Ushbu modelning asosiy kamchiligi dizayn jarayonida ma'lumotlar bazasining asosi bo'lgan ierarxiyadan foydalanish zarurati hisoblanadi. Ma'lumotlarni doimiy ravishda qayta tashkil etish zarurati (va ko'pincha bu qayta tashkil etishning mumkin emasligi) yanada umumiy model - tarmoq modeli yaratilishiga olib keldi.

O Tarmoq ma'lumotlar modeli. Ma'lumotlarni tashkil etishda tarmoq yondashuvi ierarxik yondashuvning kengaytmasi hisoblanadi. Ushbu model ierarxikdan farq qiladi, chunki har bir yaratilgan element bir nechta ishlab chiqaruvchi elementlarga ega bo'lishi mumkin. ■

Tarmoq ma'lumotlar bazasi to'g'ridan-to'g'ri tegishli tashkilotning ma'lumotlariga xos bo'lgan barcha turdagi munosabatlarni ifodalashi mumkinligi sababli, ushbu ma'lumotlarni turli yo'llar bilan navigatsiya qilish, o'rganish va so'rash mumkin, ya'ni tarmoq modeli faqat bitta ierarxiya bilan bog'lanmaydi. Biroq, tarmoq ma'lumotlar bazasiga so'rov yuborish uchun uning tuzilishini chuqur o'rganish (ushbu ma'lumotlar bazasi sxemasi qo'lda bo'lishi) va ma'lumotlar bazasida navigatsiya qilish mexanizmini ishlab chiqish kerak, bu ma'lumotlar bazasi modelining muhim kamchiligi hisoblanadi. .

O Relyatsion ma'lumotlar modeli. Relyatsion ma'lumotlar modelining asosiy g'oyasi har qanday ma'lumotlar to'plamini ikki o'lchovli jadval sifatida ko'rsatishdir. Eng sodda shaklda relyatsion model bitta ikki o'lchovli jadvalni tavsiflaydi, lekin ko'pincha model bir nechta turli jadvallar o'rtasidagi tuzilish va munosabatlarni tavsiflaydi.

Relyatsion ma'lumotlar modeli

Demak, axborot tizimining maqsadi qayta ishlashdir ma'lumotlar haqida ob'ektlar hisobga olgan holda real dunyo ulanishlar ob'ektlar o'rtasida. Ma'lumotlar bazasi nazariyasida ma'lumotlar ko'pincha deyiladi atributlar va ob'ektlar - sub'ektlar. Ob'ekt, atribut va aloqa I.S.ning asosiy tushunchalari.

Ob'ekt(yoki mohiyat) mavjud narsa va ajralib turadigan, ya'ni ob'ektni bir o'xshash ob'ektni boshqasidan ajratishning nomi va usuli mavjud bo'lgan "narsa" deb atash mumkin. Masalan, har bir maktab ob'ektdir. Ob'ektlar, shuningdek, shaxs, maktabdagi sinf, kompaniya, qotishma, kimyoviy birikma va boshqalar. Ob'ektlar nafaqat moddiy ob'ektlar, balki real dunyoni aks ettiruvchi ko'proq mavhum tushunchalar ham bo'lishi mumkin. Masalan, voqealar, hududlar, san'at asarlari; kitoblar (bosma mahsulotlar sifatida emas, balki asarlar sifatida), teatrlashtirilgan tomoshalar, filmlar; huquqiy normalar, falsafiy nazariyalar va boshqalar.

Xususiyat(yoki berilgan)- bu ma'lum bir ob'ektni tavsiflovchi va ob'ektning muayyan namunasi uchun ma'lum bir raqamli, matn yoki boshqa qiymatni oladigan ma'lum bir ko'rsatkich. Axborot tizimi ma'lum bir ob'ekt sohasiga nisbatan yaratilgan ob'ektlar to'plami bilan ishlaydi, bunda maxsus foydalanish atribut qiymatlari muayyan ob'ektlarning (ma'lumotlari). Masalan, maktabdagi darslarni ob'ektlar to'plami sifatida olaylik. Sinfdagi o'quvchilar soni raqamli qiymatni qabul qiladigan ma'lumotlardir (bir sinfda 28, boshqasida 32). Sinf nomi matn qiymatini qabul qiladigan berilgan nomdir (birida 10A, boshqasida 9B va hokazo).

Relyatsion ma'lumotlar bazalarini ishlab chiqish 60-yillarning oxirida, muhokama qilingan birinchi ishlar paydo bo'lganda boshlandi; ma'lumotlar bazalarini loyihalashda ma'lumotlarni taqdim etishning tanish va tabiiy usullaridan - jadvalli datalogik modellardan foydalanish imkoniyati.

Relyatsion ma'lumotlar bazalari nazariyasining asoschisi 1970 yil 6 iyunda maqola chop etgan IBM xodimi doktor E. Kodd hisoblanadi. Katta umumiy ma'lumotlar banklari uchun ma'lumotlarning relyatsion modeli(Yirik jamoaviy ma'lumotlar banklari uchun relyatsion ma'lumotlar modeli). Ushbu maqolada "ilovaviy ma'lumotlar modeli" atamasi birinchi bo'lib ishlatilgan. 70-yillarda AQShda doktor E. Kodd tomonidan ishlab chiqilgan relyatsion ma'lumotlar bazalari nazariyasi ma'lumotlarni samarali tartibga solish qoidalarini tavsiflovchi kuchli matematik asosga ega. E. Kodd tomonidan ishlab chiqilgan nazariy asos ma'lumotlar bazasini loyihalash nazariyasini ishlab chiqish uchun asos bo'ldi.

E. Kodd ma'lumotga ishlov berish uchun to'plam nazariyasi (birlashma, kesishish, ayirma, dekart mahsulot) apparatidan foydalanishni taklif qildi. U har qanday ma'lumotlar to'plamini matematikada "munosabatlar" deb nomlanuvchi maxsus turdagi ikki o'lchovli jadvallar shaklida taqdim etish mumkinligini isbotladi.

Aloqaviy Ma'lumotlar bazasi deb hisoblanadi, unda barcha ma'lumotlar foydalanuvchiga ma'lumotlar qiymatlarining to'rtburchaklar jadvallari shaklida taqdim etiladi va ma'lumotlar bazasidagi barcha operatsiyalar jadvallar bilan manipulyatsiyaga qisqartiriladi.

Jadval quyidagilardan iborat ustunlar (maydonlar) Va chiziqlar (yozuvlar); ma'lumotlar bazasida noyob bo'lgan nomga ega. Jadval aks ettiradi Ob'ekt turi haqiqiy dunyo (tashkilot), va uning har biri string - bu aniq ob'ekt. Har bir jadval ustuni ob'ektning ma'lum bir atributi uchun qiymatlar to'plamidir. Qiymatlar ob'ekt atributi uchun barcha mumkin bo'lgan qiymatlar to'plamidan tanlanadi domen.

Domen o'zining eng umumiy ko'rinishida domen elementlari tegishli bo'lgan ba'zi asosiy ma'lumotlar turini va ma'lumotlar elementlariga qo'llaniladigan ixtiyoriy mantiqiy ifodani belgilash orqali aniqlanadi. Agar siz ma'lumotlar elementida mantiqiy shartni baholasangiz va natija to'g'ri bo'lsa, u holda bu element domenga tegishli. Eng oddiy holatda, domen bir xil turdagi qiymatlarning haqiqiy potentsial to'plami sifatida aniqlanadi. Misol uchun, barcha xodimlarning tug'ilgan sanalari to'plami "tug'ilgan kun domenini" tashkil qiladi va barcha xodimlarning ismlari "xodim nomi domeni" ni tashkil qiladi. Tug'ilgan sana domeni bir vaqtning o'zida ma'lumot turiga ega bo'lishi kerak va xodim nomi domenida belgilar ma'lumotlari turi bo'lishi kerak.

Agar ikkita qiymat bir xil domendan kelgan bo'lsa, unda ikkita qiymat o'rtasida taqqoslash mumkin. Misol uchun, agar tug'ilgan sanalar domenidan ikkita qiymat olingan bo'lsa, siz ularni taqqoslashingiz va qaysi xodimning yoshi katta ekanligini aniqlashingiz mumkin. Agar qiymatlar turli domenlardan olingan bo'lsa, unda ularni taqqoslashga yo'l qo'yilmaydi, chunki, ehtimol, bu mantiqiy emas. Misol uchun, xodimning ismi va tug'ilgan sanasini solishtirishdan aniq hech narsa bo'lmaydi.

Har bir ustun (maydon) odatda jadvalning yuqori qismida yoziladigan nomga ega. Muayyan ma'lumotlar bazasi ma'lumotlar bazasida jadvallarni loyihalashda har bir maydon uchun uni tanlash mumkin turi, ya'ni uni ko'rsatish uchun qoidalar to'plamini belgilash, shuningdek, ushbu sohada saqlanadigan ma'lumotlar ustida bajarilishi mumkin bo'lgan operatsiyalarni aniqlash. Turlar to'plami turli ma'lumotlar bazalari bo'yicha farq qilishi mumkin.

Jadvalda maydon nomi yagona bo'lishi kerak, lekin turli jadvallarda bir xil nomdagi maydonlar bo'lishi mumkin. Har qanday jadvalda kamida bitta maydon bo'lishi kerak; Maydonlar jadvalda ularning nomlari yaratilganda paydo bo'lish tartibiga muvofiq joylashgan. Maydonlardan farqli o'laroq, satrlarning nomlari yo'q; ularning jadvaldagi tartibi aniqlanmagan va ularning soni mantiqan cheklanmagan.

Jadvaldagi qatorlar tartiblanmaganligi sababli, qatorni joylashuvi bo'yicha tanlash mumkin emas - ular orasida "birinchi", "ikkinchi" yoki "oxirgi" yo'q. Har qanday jadvalda bir yoki bir nechta ustunlar mavjud bo'lib, ularning qiymatlari uning har bir satrini o'ziga xos tarzda aniqlaydi. Bunday ustun (yoki ustunlar birikmasi) deyiladi asosiy kalit. Sun'iy maydon ko'pincha jadvaldagi raqamlar yozuvlariga kiritiladi. Bunday maydon, masalan, uning tartibli maydoni bo'lishi mumkin, bu jadvaldagi har bir yozuvning o'ziga xosligini ta'minlaydi. Kalit quyidagi xususiyatlarga ega bo'lishi kerak.

O'ziga xoslik. Har qanday vaqtda kalitga kiritilgan atributlar kombinatsiyasi uchun ikkita turli munosabat kortejlari bir xil qiymatga ega emas. Ya'ni, jadvalda bir xil identifikatsiya raqami yoki pasport raqamiga ega bo'lgan ikkita qator bo'lishi mumkin emas.

Minimalizm. Kalitga kiritilgan atributlarning hech biri o'ziga xoslikni buzmasdan kalitdan chiqarib tashlanishi mumkin emas. Bu shuni anglatadiki, siz pasport raqami va identifikatsiya raqamini o'z ichiga olgan kalit yaratmasligingiz kerak. Tupleni noyob tarzda aniqlash uchun ushbu atributlarning har qandayidan foydalanish kifoya. Shuningdek, kalitga noyob bo'lmagan atributni qo'shmaslik kerak, ya'ni kalit sifatida identifikatsiya raqami va xodimning ismi kombinatsiyasidan foydalanish taqiqlanadi. Kalitdan xodimning ismini chiqarib tashlagan holda, har bir qatorni hali ham noyob tarzda aniqlash mumkin.

Har bir munosabat kamida bitta mumkin kalitga ega, chunki uning barcha atributlari yig'indisi o'ziga xoslik shartini qondiradi - bu munosabatlarning aniq ta'rifidan kelib chiqadi.

Mumkin bo'lgan kalitlardan biri tasodifiy tanlangan asosiy kalit sifatida. Qolgan mumkin bo'lgan kalitlar, agar mavjud bo'lsa, sifatida qabul qilinadi muqobil kalitlar. Misol uchun, agar siz identifikatsiya raqamini asosiy kalit sifatida tanlasangiz, u holda pasport raqami muqobil kalit bo'ladi.

Jadvallar aloqasi relyatsion ma'lumotlar modelining eng muhim elementidir. U qo'llab-quvvatlanadi chet el kalitlari.

Relyatsion ma'lumotlar bazasi modelini tavsiflashda ko'pincha tavsif (nazariya yoki amaliyot) darajasiga va tizimga (Access, SQL Server, dBase) qarab bir xil tushuncha uchun turli atamalar qo'llaniladi. Jadvalda 2.3 foydalanilgan atamalarning qisqacha mazmunini beradi.

2.3-jadval. Ma'lumotlar bazasi terminologiyasi

Ma'lumotlar bazasi nazariyasi___________ Relyatsion ma'lumotlar bazalari_________ SQL Server __________

Munosabatlar jadvali

Yozuv qatori

AttributeField_______________ustun

Relyatsion ma'lumotlar bazalari

Relyatsion ma'lumotlar bazasi ma'lumotlar bazasida saqlanishi kerak bo'lgan barcha ma'lumotlarni o'z ichiga olgan munosabatlar to'plamidir. Ya'ni, ma'lumotlar bazasi barcha ma'lumotlarni saqlash uchun zarur bo'lgan jadvallar to'plamini ifodalaydi. Relyatsion ma'lumotlar bazasi jadvallari bir-biri bilan mantiqiy bog'liqdir.Umuman relyatsion ma'lumotlar bazasini loyihalash uchun talablarni bir necha qoidalarga qisqartirish mumkin.

O Har bir jadval ma'lumotlar bazasida o'ziga xos nomga ega va bir xil turdagi qatorlardan iborat.

O Har bir jadval belgilangan sonli ustunlar va qiymatlardan iborat. Bitta satr ustunida bir nechta qiymatni saqlash mumkin emas. Misol uchun, agar muallif, nashr etilgan sana, tiraji va boshqalar haqidagi ma'lumotlarga ega bo'lgan jadval mavjud bo'lsa, u holda muallifning ismi ko'rsatilgan ustunda bir nechta familiyani saqlay olmaydi. Agar kitob ikki yoki undan ortiq muallif tomonidan yozilgan bo'lsa, siz qo'shimcha jadvallardan foydalanishingiz kerak bo'ladi.

O Hech qanday vaqtda jadvalda bir-birini takrorlaydigan ikkita qator bo'lmaydi. Jadvaldagi har qanday satrni yagona aniqlash imkoniyatiga ega bo'lish uchun qatorlar kamida bitta qiymatda farqlanishi kerak.

O Har bir ustunga jadval ichida noyob nom beriladi; bu ustunga bir hil qiymatlar (sana, familiya, telefon raqamlari, pul summalari va boshqalar) joylashtirilishi uchun ma'lum bir ma'lumot turi o'rnatiladi.

O Ma'lumotlar bazasining to'liq ma'lumotlar tarkibi ma'lumotlarning o'zi aniq qiymatlari sifatida ifodalanadi va bu taqdim etishning yagona usuli. Misol uchun, jadvallar orasidagi munosabatlar aloqalarni sun'iy ravishda belgilaydigan har qanday ko'rsatkichlar asosida emas, balki tegishli ustunlarda saqlangan ma'lumotlarga asoslanadi.

O Ma'lumotlarni qayta ishlashda siz jadvalning istalgan satri yoki ustuniga erkin kirishingiz mumkin. Jadvalda saqlangan qiymatlar ma'lumotlarga kirish tartibiga hech qanday cheklovlar qo'ymaydi. Ustunlarning tavsifi,