Verilənlər bazası terminləri "əlaqəli" və ya "əlaqələr" masalardakı məlumatların bağlı olduğu şəkildə təsvir olunur.
Verilənlər bazasına yeni gələnlər tez-tez bir verilənlər bazası və elektron tablo arasındakı fərqləri görmək çətin anlar var. Onlar məlumatların cədvəllərini görür və məlumat bazalarını məlumatları yeni yollarla təşkil etməyə və sorgulamağa imkan tanıyır, lakin relational database technology adını verən məlumatlar arasında əlaqələrin əhəmiyyətini başa düşmür.
Əlaqələr, müxtəlif verilənlər bazası masaları arasında güclü yollarla əlaqələri təsvir etməyə imkan verir. Bu əlaqələr bundan sonra birləşmə kimi tanınan güclü kross-masa sorgularını yerinə yetirmək üçün istifadə edilə bilər.
Verilənlər bazası əlaqələrinin növləri
Əlaqələrlə əlaqə qura biləcək üç müxtəlif növ verilənlər bazası əlaqələri vardır, hər biri, əlaqələrə cəlb oluna bilən masa sıralarının sayına görə adlanır. Bu üç əlaqənin hər biri iki masa arasındadır.
- Bir-bir əlaqələr ilk masa hər bir giriş bir və yalnız bir, ikinci masa həmsöhbəti var. Birebir əlaqələr nadir hallarda istifadə edilir, çünki bütün məlumatları tək bir stolda yerləşdirmək daha tez səmərəlidir. Bəzi verilənlər bazası dizaynçıları bu əlaqədən faydalanır, digər cədvəldən verilənlərin alt kümesini ehtiva edən cədvəllər yaradır.
- Bir-çox əlaqələr verilənlər bazası əlaqələrinin ən yaygın növüdür. Cədvəl A-dəki hər bir qeyd Cədvəl B-də bir və ya daha çox qeydlərə cavab verdikdə baş verir, lakin C cədvəlindəki hər bir qeyd C cədvəlində yalnız bir qeydə uyğundur. Məsələn, bir müəllimlər stolu ilə ibtidai sinif şagirdlərinin cədvəli arasındakı əlaqələr hər bir tələbənin yalnız bir müəllim var, lakin hər bir müəllim bir neçə tələbə var. Bu bir-çox dizaynı çoğaltılan məlumatları aradan qaldırmağa kömək edir.
- Cədvəl A-dəki hər bir qeyd Cədvəl B-də bir və ya daha çox qeydlərə cavab verərsə, çox-çox əlaqələr olur və Cədvəl B-də hər bir qeyd Cədvəldə bir və ya daha çox qeydlərə cavab verir. Məsələn, müəllimlər və kurslar arasında əlaqə hər bir müəllim birdən çox kurs verə bilər və hər bir kurs birdən çox təlimatçı ola bilər.
Özünü Referanslı Əlaqələr: Xüsusi bir vəziyyət
Özünü göstərən əlaqələr yalnız bir cədvəl olduğu zaman baş verir. Bir ümumi nümunə, hər bir işçinin nəzarətçisi haqqında məlumatları ehtiva edən İşçilərin cədvəlidir. Hər bir müşavir də işçi və onun şəxsi rəhbəridir. Bu halda, hər bir işçinin bir məsləhətçisi olduğu üçün hər bir rəhbərdən birdən çox işçi ola biləcəyi üçün, birdən-çoxuna öz-özünə istinad əlaqəsi vardır.
Xarici Kəlmələrlə Əlaqələr Yaratmaq
Xarici düyməni göstərərək tablolar arasında əlaqələr yaradır .Bu əsas, ilişkisel verilənlər bazasına tabloların necə əlaqəli olduğunu bildirir. Bir çox hallarda, Cədvəl A-də bir sütun, B-dən baş verən birincil açarları ehtiva edir.
Müəllimlər və Şagirdlər stolunun nümunəsini yenidən nəzərdən keçirək. Müəllimlər cədvəli yalnız bir ID, ad və kurs sütununu ehtiva edir:
TəlimatçıID | Müəllimin adı | Kursu |
---|---|---|
001 | John Doe | İngilis dili |
002 | Jane Schmoe | Math |
Şagirdlərin cədvəli ID, ad və xarici sütun daxildir:
StudentID | Tələbə adı | Müəllim_FK |
---|---|---|
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
Tələbə şagirdlər sütununda Teacher_FK sütununda müəllimlərdən bir müəllimin əsas əsas dəyəri göstərilir.
Tez-tez verilənlər bazası dizaynçıları birincil düyməni və ya xarici sütununu asanlıqla müəyyən etmək üçün sütun adında "PK" və ya "FK" istifadə edəcəklər.
Qeyd edək ki, bu iki cədvəldə müəllimlər və tələbələr arasında bir-bir çox əlaqələr göstərilir.
Əlaqələr və Referans Dürüstlük
Bir masa üçün xarici düyməni əlavə etdikdən sonra, iki masa arasında referans bütövlüyü tətbiq edən bir verilənlər bazası məhdudiyyəti yarada bilərsiniz. Bu, tablolar arasındakı əlaqələrin ardıcıl olaraq qalmasını təmin edir. Bir cədvəldə başqa bir cədvəl üçün xarici bir açar varsa, istinad bütövlüyü konsepsiyası, Cədvəl B-də hər hansı bir xarici əsas dəyərin A-da mövcud qeydlərə istinad etməsi lazım olduğunu bildirir.
Əlaqələrin həyata keçirilməsi
Verilənlər bazasına bağlı olaraq, müxtəlif yollarla masalar arasında əlaqələr həyata keçirirsiniz. Microsoft Access asanlıqla masaları bağlamaq və istinad bütövlüyünü tətbiq etməyə imkan verən sehrbazdır.
Birbaşa SQL yazırsınızsa, əvvəlcə bir əsas sütun olaraq ID sütununu elan edən müəllimlər yaradırsınız:
TƏQDİM OLUNAN müəllimlər (
TəlimatçıID INT AUTO_INCREMENT PRIMARY KEY,
Müəllim_Name VARCHAR (100),
VARCHAR kursu (100)
);
Şagirdlərin cədvəlini yaratdığınız zaman Müəllimlər Kabinetinin sütununu Müəllimlər cədvəlində Müəllimlər sütununa istinad edən xarici bir açar kimi bəyan edirik:
TƏQDİM OLUNAN Tələbə (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) REFERANSLAR Müəllimlər (təlimatçı ID))
);
Tablolara qoşulmaq üçün əlaqələrdən istifadə
Verilənlər bazasında bir və ya daha çox əlaqələr yaratdıqdan sonra məlumatları bir neçə masadan birləşdirmək üçün SQL JOIN sorgularını istifadə edərək güclərini istifadə edə bilərsiniz. Birləşmə ən ümumi növü bir SQL INNER JOIN və ya sadə bir qoşulma. Birləşmə bu növü birdən çox masalardan birləşmə vəziyyətinə cavab verən bütün qeydləri qaytarır. Məsələn, bu JOIN şərti Student table, Teacher_Name, və Tələbələr masasında xarici açar Müəllimlər cədvəlində birincil düyməni eşleştiren kursu qaytaracaqdır:
Tələbələri seç. Tələbə_adı, Müəllimlər. Tələbə_Adı, Müəllimlər. Tədris
Tələbələrdən
Müəllimlər
Tələbələr haqqında. Tələbə_FK = Müəllimlər.
Bu bəyanat belə bir cədvəl istehsal edir:
SQL Birləşmə Hesabatından qaytarılmış Cədvəl
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish