Verilənlər Bazası Əlaqələrinə Giriş

Mündəricat:

Verilənlər Bazası Əlaqələrinə Giriş
Verilənlər Bazası Əlaqələrinə Giriş
Anonim

Verilənlər bazası terminləri relational və əlaqələr cədvəllərdə verilənlərin birləşdirilməsini təsvir edir. Əlaqəli verilənlər bazası müəyyən bir açarla bağlanmış iki və ya daha çox cədvəldən ibarətdir. Relational verilənlər bazası böyük verilənlər təşəbbüslərində ümumi olan strukturlaşdırılmamış verilənlər bazalarından fərqlənir. Əlaqəli verilənlər bazaları cədvəllərin necə müəyyən edildiyi və cədvəllər arasında etibarlı əlaqənin nədən ibarət olması ilə bağlı ciddi qaydalar tələb edir.

Image
Image

Verilənlər Bazası Əlaqələrinin Növləri

Əlaqələr sizə verilənlər bazası cədvəlləri arasındakı əlaqələri güclü üsullarla təsvir etməyə imkan verir. Bu əlaqələr daha sonra JOIN kimi tanınan güclü çarpaz cədvəl sorğularını yerinə yetirmək üçün istifadə edilə bilər.

Hər biri əlaqədə iştirak edən cədvəl sıralarının sayına görə adlandırılan üç növ verilənlər bazası əlaqəsi var. Bu üç əlaqə növünün hər biri iki cədvəl arasında mövcuddur.

  • Birə-bir əlaqələr birinci cədvəldəki hər girişin ikinci cədvəldə yalnız bir qarşılığı olduqda baş verir. Birə-bir əlaqələr nadir hallarda istifadə olunur, çünki bütün məlumatları bir cədvəldə yerləşdirmək çox vaxt daha səmərəlidir. Bəzi verilənlər bazası dizaynerləri başqa cədvəldən verilənlərin alt çoxluğunu ehtiva edən cədvəllər yaratmaqla bu əlaqədən istifadə edirlər.
  • Birə çox əlaqələr verilənlər bazası əlaqəsinin ən çox yayılmış növüdür. Onlar Cədvəl A-dakı hər bir qeyd Cədvəl B-dəki bir və ya bir neçə qeydə uyğun gələndə baş verir, lakin Cədvəl B-dəki hər bir qeyd A Cədvəlindəki yalnız bir qeydə uyğundur. Məsələn, ibtidai məktəbdə Müəllimlər cədvəli ilə Şagirdlər cədvəli arasındakı əlaqə verilənlər bazası çox güman ki, bir-çox əlaqəsi olacaq, çünki hər şagirdin yalnız bir müəllimi var, lakin hər bir müəllimin bir neçə tələbəsi var. Bu birdən çox dizayn təkrarlanan datanı aradan qaldırmağa kömək edir.
  • Çoxdan çoxa əlaqələr Cədvəl A-dakı hər bir qeyd Cədvəl B-dəki bir və ya bir neçə qeydə, Cədvəl B-dəki hər bir qeyd bir və ya bir neçə qeydə uyğun gələndə baş verir. Cədvəl A-da. Məsələn, Müəllimlər cədvəli ilə Kurslar cədvəli arasındakı əlaqə çoxdan çox ola bilər, çünki hər bir müəllim birdən çox kursu öyrədə bilər və hər kursda birdən çox müəllim ola bilər.

Aşağı xətt

Özünə istinad edən əlaqələr yalnız bir cədvəl olduqda baş verir. Ümumi nümunələrdən biri, hər bir işçinin rəhbəri haqqında məlumatları ehtiva edən İşçilər cədvəlidir. Hər bir nəzarətçi həm də işçidir və bir nəzarətçisi var. Bu halda, hər bir işçinin bir nəzarətçisi olduğu, lakin hər bir nəzarətçinin birdən çox işçisi ola biləcəyi üçün bir-çox özünə istinad əlaqəsi mövcuddur.

Xarici Açarlarla Əlaqələrin Yaradılması

Xarici açarı göstərərək cədvəllər arasında əlaqələr yaradırsınız. Bu açar relyasiya verilənlər bazasına cədvəllərin necə əlaqəli olduğunu bildirir. Bir çox hallarda Cədvəl A sütununda Cədvəl B-dən istinad edilən əsas açarlar var.

Müəllimlər və Tələbələr cədvəllərinin nümunəsini nəzərdən keçirək. Müəllimlər cədvəlində ID, ad və kurs sütunu var:

TəlimçiND Müəllim_Adı Kurs
001 John Doe İngilis
002 Jane Schmoe Riyaziyyat

Tələbələr cədvəlinə ID, ad və xarici açar sütunu daxildir:

Tələbə ID Tələbə_Adı Müəllim_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Korki Mendez 002
0203 Monica Jones 001

Tələbələr cədvəlindəki Teacher_FK sütunu Müəllimlər cədvəlindəki təlimatçının əsas açar dəyərinə istinad edir. Çox vaxt verilənlər bazası dizaynerləri əsas açarı və ya xarici açar sütununu müəyyən etmək üçün sütun adında PK və ya FK-dan istifadə edirlər.

Bu iki cədvəl müəllimlər və tələbələr arasında bir-çox əlaqəni göstərir.

Münasibətlər və Referensial Dürüstlük

Cədvələ xarici açar əlavə etdikdən sonra iki cədvəl arasında istinad bütövlüyünü təmin edən verilənlər bazası məhdudiyyəti yaradın. Bu addım cədvəllər arasındakı əlaqələrin ardıcıl qalmasını təmin edir. Bir cədvəlin digər cədvəl üçün xarici açarı olduqda, istinad bütövlüyü Cədvəl B-dəki hər hansı xarici açar dəyərinin Cədvəl A-dakı mövcud qeydə istinad etməsini tələb edir.

Münasibətlərin həyata keçirilməsi

Verilənlər bazanızdan asılı olaraq, cədvəllər arasında əlaqələri müxtəlif üsullarla həyata keçirəcəksiniz. Microsoft Access sizə cədvəlləri əlaqələndirməyə və həmçinin istinad bütövlüyünü təmin etməyə imkan verən sehrbaz təqdim edir.

Əgər siz birbaşa SQL yazırsınızsa, əvvəlcə ID sütununu əsas açar elan edərək Müəllimlər cədvəlini yaradın:

CƏDVƏL YARADIN Müəllimlər (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Kurs VARCHAR(100));

Tələbələr cədvəlini yaratdığınız zaman siz Müəllim_FK sütununu Müəllimlər cədvəlindəki Təlimatçı ID sütununa istinad edən xarici açar elan edirsiniz:

CƏDVƏL YARADIN Tələbələr (StudentID INT AUTO_INCREMENT PRIMARY AÇAR, Tələbə_Adı VARCHAR(100), Teacher_FK INT, XARİCİ AÇAR (Müəllimlər));

Cədvəllərə qoşulmaq üçün əlaqələrdən istifadə

Verilənlər bazanızda bir və ya bir neçə əlaqə yaratdıqdan sonra, çoxsaylı cədvəllərdən məlumatları birləşdirmək üçün SQL JOIN sorğularından istifadə etməklə onların gücündən istifadə edin. Ən çox yayılmış birləşmə növü sadə birləşmə olan SQL INNER JOIN-dir. Bu birləşmə növü bir və ya bir neçə cədvəldən birləşmə şərtinə cavab verən bütün qeydləri qaytarır.

Məsələn, bu QOŞULMA şərti Tələbə_Adı, Müəllim_Adı və Kursu qaytarır, burada Tələbələr cədvəlindəki xarici açar Müəllimlər cədvəlindəki əsas açarla uyğun gəlir:

Şagirdləri SEÇİN. Tələbə_Adı, Müəllimlər. Müəllim_Adı, Müəllimlər. Kurs

Tələbələrdən

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Bu ifadə belə bir cədvəl yaradır:

Tələbə_Adı Müəllim_Adı Kurs
Lowell Smith John Doe İngilis
Brian Short John Doe İngilis
Korki Mendez Jane Schmoe Riyaziyyat
Monica Jones John Doe İngilis

Tövsiyə: