Şəkil 1.6. COMPONENT əlaqəsi
Normallaşdırılmamış əlaqəni ekvivalent normallaşdırılmış formaya çevirmək çox asandır. Nümunə, BEFORE (şəkil 1.7) əlaqəsi S# (təchizatçı nömrəsi) və PQ (hissə sayı) domenlərində müəyyən edilir. PQ elementləri özləri, P# (hissə nömrəsi) və QTY (say) domenlərində müəyyən edilmiş münasibətlərdir. Beləliklə, BEFORE əlaqəsi normallaşdırılmır
Şəkil 1.7. Normallaşma nümunəsi (soldakı BEFORE, sağdakı isə AFTER əlaqəsidir)
(əslində BEFORE əlaqəsi hiyerarxikdir). AFTER əlaqəsi ekvivalent normallaşdırılmış əlaqədir. AFTER əlaqəsində verilmiş təchizatçılar verilmiş hissələri verilmiş sayda çatdırır.
Riyaziyyat baxımından BEFORE 2 əlaqə dərəcəsinə malikdir. Ancaq elə bir əlaqədir ki, heç də bütün daxil olan domenlər sadə deyil. Sadə domenlərdə bütün elementlər atomikdir. AFTER bütün domenləri sadə olan 3 dərəcəli semantik ekvivalent əlaqədir. Başqa sözlə, AFTER əlaqəsi normallaşdırılmış əlaqədir. Relyasiya yanaşmasında yalnız normallaşdırılmış münasibətlər seçilir və dəstəklənir, çünki
a) nümunədə göstərildiyi kimi, bu seçim bu cür münasibətlərdən istifadə edərək təsvir edə biləcəyimizə məhdudiyyət qoymur;
b) nəticədə məlumat strukturundakı sadələşdirmə, məlumat dilinin operatorlarında müvafiq sadələşdirmələrə gətirib çıxarır.
AÇARLAR
Verilən əlaqədə dəyərləri əlaqənin kortejlərini müəyyən edən atributlara tez-tez rast gəlinir. Məsələn, PART əlaqəsinin P# atributu bu xassəyə malikdir: PART əlaqəsinin bütün kortejləri P# atributunun müxtəlif dəyərlərini ehtiva edir və bu dəyərlər həmin əlaqədə kortejləri bir-birindən fərqləndirmək üçün istifadə edilə bilər. Beləliklə, P# atributu PART əlaqəsinin birincil açarı adlandırılır.
Hər əlaqənin tək bir atribut kimi birincil açarı olmayacaq. Bununla birlikdə, hər bir əlaqədə bir neçə atribut birləşməsi olur və bunları bir götürdükdə əlaqənin kortejlərini müəyyən edir. Tək bir atributun birləşməsi yalnız xüsusi bir haldır. Məsələn, şəkil 1.7-də AFTER əlaqəsində S# və P# birləşməsi bu xüsusiyyətə malikdir. Eyni xüsusiyyət şəkil 1.6-da COMPONENT əlaqəsində MAЈOR – P# və MINOR – P# birləşmələrinə də aiddir. Belə bir birləşmənin mövcudluğu onu təmin edir ki, əlaqə çoxluqlardan ibarətdir, çünki çoxluq tək element saxlamır. Buna görə, bütün atributların birləşməsi bir əlaqədə kortejləri birmənalı formada müəyyənləşdirmə xüsusiyyətinə malikdir. Praktikada bunun üçün ümumiyyətlə bütün atributlardan istifadə etmək lazım deyil, bir qayda olaraq, bəzi kiçik hissələrinin birləşməsi kifayətdir.
Beləliklə, hər bir əlaqənin birincil (əsas) açarı var. Belə qeyd olunmalıdır ki, bəzən birincil açar elə lazımsızdır ki, onun heç bir atributuna əlaqədə kortejləri müəyyən etmək üçün birmənalı olaraq gərək yoxdur. Məsələn, P# və COLOR birləşməsi PART əlaqəsi üçün əsas açar deyil.
S#
|
SNAME
|
STATUS
|
CITY
|
S1
S2
S3
S4
S5
|
Smith
Jones
Blake
Clark
Adams
|
20
10
30
20
30
|
London
Paris
Paris
London
Athens
|
Şəkil 1.8. SUPPLIER əlaqəsi
Bəzən kortejləri müəyyən etmə xassəsinə malik birdən çox atribut birləşməsinin olduğu münasibətlərə rast gəlinir. Buna görə də bu münasibətlərin birdən çox mümkün açarı var. Şəkil 1.8-da belə bir təchizatçı əlaqə (SUPPLIER) göstərilir. Burada vəziyyət elədir ki, bütün nəzərdən keçirilmiş müddət ərzində hər təchizatçının tək nömrəsi və tək adı var. Belə bir halda, mümkün açarlardan biri (S# deyək) əlaqənin birincil açarı kimi seçilə bilər. Ümumiyyətlə, birincil açar komponentlərindən heç birinin sıfır olmaması barədə məhdudiyyət qoyulur.
“Xarici açar” konsepsiyası: Əgər R1 əlaqəsinin atributu onun birincil açarı deyilsə və onun dəyərləri başqa bir R2 əlaqəsinin birincil açarının dəyərləridirsə (R1 və R2 mütləq fərqli deyil) xarici açardır. Məsələn, AFTER əlaqəsinin P# atributu xarici açardır, çünki dəyərləri PART əlaqəsinin birincil açarıdır. Əsas və xarici açarlar, kortejlər arasındakı münasibətləri ifadə etmək üçün bir vasitədir. Ancaq heç də bu cür "əlaqəli" atributların hamısı açar deyil. Məsələn, PART və SUPPLIER əlaqələrinin CITY atributları ilə təmsil olunan hissələr və təchizatçılar arasında bir əlaqə (“birgə yerləşdirmə”) olduğunu düşünək (şəkil 1.3 və 1.8). CITY atributu açar deyil. CITY-nin birincil açar olduğu verilənlər bazasına bir əlaqə əlavə edilərsə xarici açar ola bilər.
Bir əlaqənin kortejinə relyasiyalı məlumat alt dilindən daxil olmağa “birincil açar girişi” məhdudiyyəti olmamalıdır. Relyasiya fayllarını ənənəvi sənədlərdən fərqləndirən əsas xüsusiyyətlər:
1. Hər bir "sənəd" yalnız bir növ qeyd ehtiva edir.
2. Hər bir qeyd növünün müəyyən sayda sahə növü vardır.
3. Hər bir qeyd nümunəsinin unikal bir identifikatoru var.
4. "Fayl" daxilində qeyd nümunələri ya istifadəçi üçün bilinməyən bir sıradadır, ya da bu nümunələrdə olan dəyərlərə görə sıralanır. Sifariş sahəsi və ya onların birləşməsi mütləq ilkin açar deyil.
Rast gəlinən terminlərdən biri "əlaqəli verilənlər bazası"dır. Bu termin bir qədər qeyri-müəyyən şəkildə istifadə olunur. Bu, istifadəçinin relyasiyalı formada xəyal etdiyi və istifadəçi üçün mövcud olan operatorların relyasiyalı bir quruluşla işləyən operatorlar olduğu bir verilənlər bazası deməkdir. Lakin bu məlumatların cədvəl şəklində saxlanıldığı anlamına gəlmir.
ƏDƏBİYYAT
К.Дейт. Введение в системы баз данных. (1975)
Codd E. A Relational Model of Data for Large Shared Data Banks. – CACM 13, № 6 (June 1970).
Codd E. Derivalibility, Redundancy and Consistency of Relations Stored in Large Data Banks. – IBM Research Report, RJ 599 (August 1969).
Codd E. Understanding Relations. FDT [SIGMOD] məqalələr seriyası, 5, № 1 (June 1973) hissəsindən başlayaraq.
Codd E. Relational Data Base Management: A Bibliography. – IBM Research Laboratory, San Jose, CA, 95193 (August 1975).
Chamberlin D. Relational Data Base Management: A survey. – Computing Surveys 8, № 1 (March 1976).