Database Dependencies nədir?

Verilənlər bazası bağımlılıkları həm tələbələri, həm də verilənlər bazası mütəxəssislərini həm də bir-birinə qarışan bir mövzu. Xoşbəxtlikdən, bunlar mürəkkəb deyil və bir sıra nümunələrin istifadəsi ilə yaxşı təsvir edilə bilər. Bu yazıda ümumi verilənlər bazası asılılıq növlərini nəzərdən keçiririk.

Verilənlər bazası mənbələri / Funksional Bağımlılıklar

Bir verilənlər bazası verilənlər bazasında saxlanılan məlumat eyni cədvəldə saxlanılan digər məlumatları müstəqil olaraq müəyyən etdikdə, bir məlumat bazasında bir asılılıq meydana gəlir. Bir xüsusiyyətin (yaxud bir sıra xüsusiyyətlərinin) dəyərini bildiyiniz kimi, eyni masada başqa bir xüsusiyyətin (yaxud xüsusiyyətlərin setinin) dəyərini bildirmək üçün kifayətdir.

Cədvəldəki xüsusiyyətlər arasında asılılıq olduğunu söyləyərək, bu xüsusiyyətlər arasında funksional bir asılılıq olduğunu söyləyərək eynidır. Bir verilənlər bazasında asılılıq varsa, B niteliği A niteliğine bağlıdır, bunu "A -> B" olaraq yazarsınız.

Məsələn, Sosial Müdafiə Nömrəsi (SSN) və adı daxil olmaqla, işçilərin xüsusiyyətlərini göstərən bir cədvəldə, adın SSN-ə (ya da SSN-> adına) bağlı olduğunu söyləyə bilərik, çünki işçinin adı SSN-dən unikal şəkildə müəyyən edilə bilər. Bununla belə, əksər bəyanat (ad -> SSN) düzgün deyil, çünki birdən çox işçinin eyni adı, lakin müxtəlif SSNləri ola bilər.

Trivial Funksional Bağımlılıklar

Öznitelikin funksional asılılığını orijinal özniteliği olan atributlar toplusunu təsvir etdikdə, qeyri-adi bir funksional asılılıq meydana gəlir. Məsələn, "{A, B} -> B", "{name, SSN} -> SSN" olduğu kimi , qeyri-adi bir funksional asılılıqdır . Bu tip funksional asılılıq, məntiqsizdir, çünki bu, sağlam düşüncə əsasında əldə edilə bilər. Aydındır ki, B-nin dəyərini artıq bilirsinizsə, B-nin dəyəri bu biliklə yeganə şəkildə müəyyən edilə bilər.

Tam funksional Bağımlılıklar

Funksional asılılığın tələblərinə cavab verdikdə və funksional asılılıq bəyannaməsinin sol tərəfindəki atributlar dəsti daha da azaldıla bilməz, tam funksional asılılıq meydana gəlir. Məsələn, "{SSN, yaş} -> adı" funksional bir asılılıqdır, ancaq bu tam funksional bir asılılıq deyil, çünki asılılıq əlaqəsinə təsir etmədən, ifadənin solundan yaşı buraxa bilərsiniz.

Transitive Bağımlılıklar

Transitive bağımlılıkları, funksional asılılığa səbəb olan dolaylı bir əlaqə olduğunda meydana gəlir. Məsələn, "A -> B" və "B -> C" doğru olduğundan, "A - C" keçidli bir asılılıqdır .

Multivalued Dependencies

Multivalued bağımlılıkları bir masada bir və ya daha çox satırın olması eyni masada bir və ya bir neçə digər satırın mövcud olduğunu nəzərdə tutur. Məsələn, avtomobilin bir çox modelini istehsal edən avtomobil şirkətini təsəvvür edin, həm də hər bir modelin həm qırmızı, həm də mavi rəngini edir. Hər bir modelin modelini, rəngini və ilini ehtiva edən bir cədvəliniz varsa, şirkət istehsal edir, bu cədvəldə bir çox dəyərli asılılıq var. Müəyyən bir model adı və mavi üçün bir sıra varsa, həmin avtomobilin qırmızı versiyasına oxşar bir sıra olmalıdır.

Bağımlılığın əhəmiyyəti

Verilənlər bazasının normallaşdırılmasında istifadə olunan əsas bina bloklarını təmin etdikləri üçün verilənlər bazasının asılılığı anlamaq vacibdir. Misal üçün: