Relational verilənlər bazasında eyni verilənlər bazası cədvəlində saxlanılan məlumat eyni cədvəldə saxlanılan digər məlumatları unikal şəkildə müəyyən etdikdə asılılıq yaranır. Çoxqiymətli asılılıq o zaman baş verir ki, cədvəldə bir və ya bir neçə cərgənin olması həmin cədvəldə bir və ya bir neçə digər sətirin olmasını nəzərdə tutur. Başqa cür desək, cədvəldəki iki atribut (və ya sütun) bir-birindən müstəqildir, lakin hər ikisi üçüncü atributdan asılıdır.
Çox dəyərli asılılıq normallaşma standartının dördüncü normal formasının qarşısını alır. Əlaqəli verilənlər bazaları qeydlərin dizaynı üçün təlimatları təmsil edən beş normal formaya əməl edir. Onlar məlumatlarda yeniləmə anomaliyalarının və uyğunsuzluqlarının qarşısını alır. Dördüncü normal forma verilənlər bazasındakı çoxlu-bir əlaqə ilə məşğul olur.
Funksional Asılılıq və Çoxqiymətli Asılılıq
Çox dəyərli asılılığı başa düşmək üçün funksional asılılığın nə olduğunu yenidən nəzərdən keçirmək faydalıdır.
Əgər X atributu Y atributunu unikal şəkildə müəyyən edirsə, o zaman Y funksional olaraq X-dən asılıdır. Bu, X -> Y kimi yazılır. Məsələn, aşağıdakı Tələbələr cədvəlində Tələbə_Adı İxtisadı müəyyən edir:
Tələbə_Adı | Major |
---|---|
Ravi | İncəsənətTarixi |
Beth | Kimya |
Bu funksional asılılıq yazıla bilər: Tələbə_Adı -> Major. Hər Tələbə_Adı tam olaraq bir İxtisas müəyyən edir və daha çox deyil.
Əgər verilənlər bazasının bu tələbələrin məşğul olduğu idman növlərini də izləməsini istəyirsinizsə, bunun ən asan yolunun İdman adlı başqa bir sütun əlavə etmək olduğunu düşünə bilərsiniz:
Tələbə_Adı | Major | İdman |
---|---|---|
Ravi | İncəsənətTarixi | Futbol |
Ravi | İncəsənətTarixi | Voleybol |
Ravi | İncəsənətTarixi | Tennis |
Beth | Kimya | Tennis |
Beth | Kimya | Futbol |
Burada problem həm Ravi, həm də Betin bir neçə idman növü ilə məşğul olmasıdır. Hər əlavə idman üçün yeni sıra əlavə etmək lazımdır.
Bu cədvəl çoxqiymətli asılılıq təqdim edib, çünki ixtisas və idman bir-birindən müstəqildir, lakin hər ikisi tələbədən asılıdır. Bu sadə nümunədir və asanlıqla müəyyən edilə bilər, lakin çoxdəyərli asılılıq böyük, mürəkkəb verilənlər bazasında problemə çevrilə bilər.
Çox dəyərli asılılıq X ->-> Y yazılır. Bu halda:
Tələbə_Adı ->-> Major
Tələbə_Adı34 -2-4 > İdman
Bu, "Tələbə_Adı ixtisası çox müəyyən edir" və "Tələbə_Adı İdmanı çox müəyyən edir" kimi oxunur.
Çox dəyərli asılılıq həmişə ən azı üç atribut tələb edir, çünki o, üçüncüdən asılı olan ən azı iki atributdan ibarətdir.
Çoxqiymətli Asılılıq və Normallaşma
Çoxqiymətli asılılığı olan cədvəl dördüncü normal formanın normallaşdırma standartını pozur, çünki o, lazımsız ehtiyatlar yaradır və uyğun olmayan məlumatlara töhfə verə bilər. Bunu 4NF-ə çatdırmaq üçün bu məlumatı iki cədvələ bölmək lazımdır.
Aşağıdakı cədvəldə indi Tələbə_Adı -> Major funksional asılılığı var və çoxqiymətli asılılıq yoxdur:
Tələbə_Adı | Major |
---|---|
Ravi | İncəsənətTarixi |
Ravi | İncəsənətTarixi |
Ravi | İncəsənətTarixi |
Beth | Kimya |
Beth | Kimya |
Bu cədvəldə eyni zamanda Tələbə_Adı -> İdmandan bir funksional asılılıq var:
Tələbə_Adı | İdman |
---|---|
Ravi | Futbol |
Ravi | Voleybol |
Ravi | Tennis |
Beth | Tennis |
Beth | Futbol |
Normallaşdırma çox vaxt mürəkkəb cədvəlləri sadələşdirməklə həyata keçirilir ki, onlar tək bir fikir və ya mövzu ilə bağlı məlumatları ehtiva etsinlər, nəinki tək bir cədvəldə çox fərqli məlumatlar var.