Baza əlaqələrinə giriş

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.

Ö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:

Müəllimlər
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:

Tələbələr
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