Ma'lumotlar bazasi munosabatlariga kirish

Ma'lumotlar bazasi atamasi "aloqador" yoki "munosabat" jadvaldagi ma'lumotlarning bog'langanligini ta'riflaydi.

Ma'lumotlar bazalari dunyosiga yangi kelganlar odatda ma'lumotlar bazasi va elektron jadval o'rtasidagi farqni ko'rish qiyin kechadi. Ular ma'lumotlar jadvallarini ko'rib chiqadi va ma'lumotlar bazalari ma'lumotlarni yangi usullar bilan tartibga solish va so'rov qilish imkonini beradi, ammo relational database texnologiyasini bergan ismlar o'rtasidagi munosabatlarning ahamiyatini tushuna olmaydi.

Aloqalar siz turli xil ma'lumotlar bazasi jadvallari o'rtasida kuchli usullar bilan bog'lanish imkonini beradi. Keyinchalik, bu munosabatlar birlashtiruvchi sifatida ma'lum kuchli intervalli so'rovlarni bajarish uchun qo'llash mumkin.

Ma'lumotlar bazasi munosabatlari turlari

Ma'lumotlar bazasi munosabatlarining uchta turi mavjud, ularning har biri o'zaro aloqada bo'lishi mumkin bo'lgan jadval satrlari soniga qarab nomlanadi. Ushbu uch munosabatning har biri ikkita jadval o'rtasida mavjud.

O'z-havola aloqalari: Maxsus ish

O'zaro aloqador munosabatlar faqatgina bitta jadval mavjud bo'lganda yuzaga keladi. Bitta umumiy misol - har bir xodimning maslahatchisi to'g'risidagi ma'lumotlarni o'z ichiga olgan xodimlar jadvali. Har bir maslahatchi ham ishlaydigan va o'z maslahatchisi. Bunday holda, har bir xodimning bitta maslahatchisi borligi uchun, har bir rahbarning bir nechta xodimga ega bo'lishi mumkin.

Chet el kalitlari bilan aloqalar yaratish

Siz chet el kalitini belgilab, jadvallar orasidagi munosabatlarni yaratasiz .Bu kalit bilan bog'liq ma'lumotlar bazasiga jadvallarning qanday aloqasi borligini bildiradi. Ko'pgina hollarda, A jadvalidagi ustun B-jadvaldan keltirilgan asosiy kalitlarni o'z ichiga oladi.

O'qituvchilar va talabalar stollarining misolini yana bir bor ko'rib chiqing. O'qituvchilar jadvali faqat ID, nom va kurs ustunini o'z ichiga oladi:

O'qituvchilar
InstructorID O'qituvchi_Name Kurs
001 Jon Doe Inglizcha
002 Jane Schmoe Matematika

Talabalar jadvalida ID, nom va chet el kalit ustuni mavjud:

Talabalar
StudentID Student_Name Teacher_FK
0200 Lowell Smit 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monika Jons 001

Talabalar jadvalidagi Teacher_FK ustuni o'qituvchilarning stolidagi o'qituvchining asosiy kalitiga ishora qiladi.

Tez-tez ma'lumotlar bazasi dizaynerlari birlamchi kalitni yoki tashqi kalit ustunini osongina aniqlash uchun ustun nomidagi "PK" yoki "FK" dan foydalanadi.

Ushbu ikki jadvalda o'qituvchilar va o'quvchilar o'rtasida bir-biridan juda ko'p munosabatlar mavjudligini eslatib o'ting.

Aloqalar va referendumning yaxlitligi

Jadvalga chet el kalitini qo'shgandan so'ng, ikki jadval o'rtasidagi ma'lumotlar butunligini ta'minlaydigan ma'lumotlar bazasi cheklovini yaratishingiz mumkin. Bu jadvallar o'rtasidagi munosabatlar izchilligini ta'minlaydi. Jadvalda boshqa jadvalga xorijiy kalit bo'lsa, ma'lumotnoma yaxlitligi tushunchasi, Jadval B dagi har qanday chet el kalitining A-jadvaldagi mavjud yozuvlarga mos kelishi kerakligini bildiradi.

Aloqa o'rnatish

Ma'lumotlar bazasiga qarab, jadvallar o'rtasidagi munosabatni turli usullar bilan amalga oshirasiz. Microsoft Access osonlik bilan jadvallarni bog'lab qo'yadigan va ma'lumotlar butunligini ta'minlashga imkon beruvchi sehrgarni taqdim etadi.

Agar siz SQLni bevosita yozsangiz, birinchi navbatda, Ustozlar jadvalini yaratib, ID sütununu asosiy kalit sifatida e'lon qilasiz:

CREATE TABLE O'qituvchilar (

O'QITIShNING INT AUTO_INCREMENT PRIMARY KEY,
O'qituvchi_Name VARCHAR (100),
VARCHAR kursi (100)
);

Talabalar jadvalini yaratganingizda, Teacher_FK ustunini O'qituvchilar stoli O'qituvchiID ustuniga havola qilinadigan chet el kalitini e'lon qilasiz:

Jadvalni yaratish Talabalar (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) Adabiyotlar O'qituvchilar (InstructorID))
);

Jadvallarga qo'shilish munosabatlarini ishlatish

Ma'lumotlar bazasida bir yoki bir nechta munosabatlarni yaratganingizdan so'ng, ma'lumotlaringizni bir nechta jadvallardan birlashtirish uchun SQL JOIN so'rovlarini ishlatish orqali o'z kuchlaridan foydalanishingiz mumkin. Ishtirok etishning eng keng tarqalgan turi - SQL INNER JOIN yoki oddiy birlashma. Birlashma ushbu turdagi bir nechta jadvaldagi qo'shilish holatiga mos keladigan barcha yozuvlarni qaytaradi. Misol uchun, ushbu JOIN sharti Student_Name, Teacher_Name va Kursni o'quvchilar jadvalidagi chet el kalitini O'qituvchilar jadvalidagi asosiy kalitga mos ravishda qaytaradi:

O'quvchilarni tanlang.Student_Name, Teachers.Teacher_Name, Teachers.Course
Talabalar orasida
Ichki a'zolar O'qituvchilar
O'quvchilar haqida. Tåacher_FK = Teachers.InstructorID;

Ushbu jadval quyidagi jadvalni ishlab chiqaradi:

SQL birlashma bayonnomasidan qaytarilgan jadval

Student_NameTeacher_NameCourseLowell SmitJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane ShmoeMathMonica JonesJohn DoeEnglish