AZƏRBAYCAN MİLLİ ELMLƏR AKADEMİYASI
İDARƏETMƏ SİSTEMLƏRİ İNSTİTUTU
İXTİSAS: 060628 – “Proseslərin avtomatlaşdırılması mühəndisliyi”
İXTİSASLAŞMA: 249153 – “Texnoloji proseslərin avtomatlaşdırılması və idarə edilməsi”
FƏNN: İdarəetmədə diaqnostika məsələləri
MÜƏLLİM: r.ü.f.d.,dos.Abdullayeva Gülçin Gülhüseyn qızı
MÖVZU: “Məlumatlar bazasının ümumi arxitekturası. Relyasiya yanaşmasında münasibətlər, domenlər, atributlar və açarlar”
MAGİSTRANT: Babayev Orxan Tehran oğlu
SƏRBƏST İŞ №1
Bakı – 2020
MƏLUMATLAR BAZASININ ÜMUMİ ARXİTEKTURASI. RELYASİYA YANAŞMASINDA MÜNASİBƏTLƏR, DOMENLƏR, ATRİBUTLAR VƏ AÇARLAR
MƏLUMAT MODELLƏRİ VƏ MƏLUMAT ALT DİLLƏRİ
Hər hansı bir verilənlər bazası sisteminin əsasını məlumat modeli (və ya konseptual model) təşkil edir. Konseptual modeldə dəstəklənən məlumat strukturları, sistemin demək olar ki, bütün digər komponentlərinə əhəmiyyətli dərəcədə təsir edən bir amildir. Xüsusilə, məlumat alt dilini(sublanguage) diktə edir, çünki hər bir məlumat alt əməliyyatı həmin məlumat strukturlarına təsiri baxımından təyin edilməlidir. Daha doğrusu, hər bir məlumat alt dili əməliyyatı müvafiq xarici modeldəki məlumat strukturlarına təsiri baxımından təyin edilir. Lakin xarici model məlumat modelinə uyğunlaşdırılmalı olduğu kimi, xarici modelin əməliyyatı da məlumat modelinin əməliyyatına çevrilməlidir. Məlumat modeli və əlaqəli məlumat alt dili üç əsas yanaşma formasında olur: relyasiya yanaşması, hiyerarxik yanaşma və şəbəkə yanaşması.
RELYASİYA YANAŞMASI
Şəkil 1.1-də relyasiyalı məlumat modeli nümunəsi göstərilir. Məlumatlar üç cədvələ bölünmüşdür: S (təchizatçı), P (hissə) və SP (çatdırılma). Cədvəl S hər bir təchizatçı üçün təchizatçı nömrəsini, adını, vəziyyət kodunu və yerini ehtiva edir; cədvəl P hər hissə üçün hissənin nömrəsini, adını, rəngini, çəkisini, hissənin saxlandığı yeri ehtiva edir; SP cədvəlində hər çatdırılma üçün satıcı nömrəsi, hissə nömrəsi və çatdırılan miqdar göstərilir.
İstənilən zamanda müəyyən bir təchizatçı-hissə birləşməsi üçün birdən çox çatdırılma ola biləcəyini düşünəcəyik. Burada cədvəl sözü riyaziyyatdan bilinən “relationship” yəni “münasibət” termini ilə sinonimdir və bu terminlə ifadə olunur.
S#
|
SNAME
|
STATUS
|
CITY
|
S1
S2
S3
|
Smith
Jones
Blake
|
20
10
30
|
London
Paris
Paris
|
P#
|
PNAME
|
COLOR
|
WEIGHT
|
CITY
|
P1
P2
P3
P4
|
Nut
Bolt
Screw
Screw
|
Red
Green
Blue
Red
|
12
17
17
14
|
London
Paris
Rome
London
|
S#
|
P#
|
QTY
|
S1
S1
S1
S2
S2
S3
|
P1
P2
P3
P1
P2
P2
|
300
200
400
300
400
200
|
Şəkil 1.1. Relyasiyalı məlumat modeli nümunəsi
Sətirləri “kortej” termini daha dəqiq ifadə edir. Lakin həm “kortej” həm də “sətir” termini bir-birinin əvəzinə istifadə ediləcək. Eynilə, sütunlara ümumiyyətlə “atributlar” deyilir və yenə də hər iki termin bir-birinin əvəzinə istifadə edilir. Domen, müəyyən bir sütunda görünən həqiqi dəyərlərin götürüldüyü dəyərlər toplusudur. Məsələn, həm P cədvəlinin, həm də SP cədvəlinin P# sütununda görünən dəyərlər. Domen verilənlər bazasında faktiki olaraq mövcud bir dəyərlər toplusu olaraq açıq şəkildə qeyd olunmasa da, konseptual sxemdə öz-özünə təyin ediləcək və öz adına sahib olacaqdır. Domenə əsaslanan sütunların eyni adı ola bilər və ya olmaya bilər. Qeyd edək ki, S və SP münasibətlərinin ortaq təchizatçı nömrəsi domeni var, P və SP münasibətlərinin ortaq hissə domeni var. Təchizatçı S3 və P2 hissəsinin eyni cinsdə yerləşməsi, məsələn, nəzərdən keçirilən iki kanal üçün CITY sütununda eyni dəyərlərin görünməsi ilə təmsil olunur.
Relyasiya yanaşmasında həm “obyektlər”, həm də “əlaqələr” vahid formada, yəni cədvəl şəklində təqdim olunur. Hiyerarxik və şəbəkə yanaşmalarında bu xüsusiyyət yoxdur. Ancaq məsələ məlumatların təqdim edilməsinin sadəliyi ilə bitmir. İstifadəçi nöqteyi-nəzərindən məlumatların alt dili, yəni əlaqəli formada məlumatlarla işləmək üçün operatorlar toplusu vacibdir.
Seçmək üçün tələb olunan əsas operator, cədvəldə müəyyən bir şərti təmin edən növbəti cərgəni seçəcək “GET NEXT WHERE” operatorudur. “NEXT” cari vəziyyətlə əlaqəli başa düşülür (ümumiyyətlə bu son seçilmiş sətirdir; əməliyyatı ilk dəfə yerinə yetirərkən cari biliklərin cədvəlin birinci sətrindən əvvəl olduğunu düşünürük). Bu operator Şəkil 1.2-də təsvir edilmişdir. Şəkil 1.1-də göstərilən verilənlər bazasına qarşı iki xüsusi sorğunun icrası üçün tələb olunan alqoritmləri əks etdirir. Bu iki sorğu qəsdən simmetrik şəkildə tərtib olunur (biri digərinin tərsidir).
Yaddaş əməliyyatlarına gəldikdə, üç sadə problem lazımdır: daxil et, sil və yenilə.
Daxil et (INSERT). W iş sahəsi yeni təchizatçı S4 haqqında məlumatları ehtiva edir. Bu məlumatları verilənlər bazasına daxil etmək üçün təchizatçı münasibətlərinə W-dən bir kortej əlavə edilir.
Sorğu 1. Hissə P2-ni çatdıran təchizatçı nömrəsini tap.
|
Sorğu 2. Təchizatçı S2 tərəfindən çatdırılan hissə nömrəsini tap.
|
NEXT: P# = P2 olan növbəti çatdırılmanı əldə et.
Çatdırılma tapıldı? Əgər yoxdursa, proqramdan çıx.
S# çap et.
NEXT-ə keç.
|
NEXT: S# = S2 olan növbəti çatdırılmanı əldə et.
Çatdırılma tapıldı? Əgər yoxdursa, proqramdan çıx.
P# çap et.
NEXT-ə keç
|
Şəkil 1.2. Relyasiya modeli üçün 2 sorğu
Sil (DELETE). Hissə P2 və təchizatçı S3 əlaqəli çatdırılmanı silmək üçün P# = P2, S# = S3 olduğu çatdırılma korteji silinir.
Yenilə (UPDATE). Təchizatçı S1 Londondan Amsterdama yerdəyişdi. CITY (şəhər) Amsterdam olaraq dəyişdirilərək S# = S1 olduğu təchizatçı korteji yenilənir.
RELYASİYALI MƏLUMAT MODELİ
Münasibət tərifi. D1, D2, . . . , Dn (mütləq fərqli deyil) çoxluqları toplusu verilir. Bu n çoxluğunda təyin olunan R əlaqəsi, d1-in D1-ə, d2-nin D2-yə, dn-in Dn-ə aid olduğu nizamlı n və ya kortejlərin (d1, d2, . . . , dn) çoxluğudur. D1, D2, . . . , Dn çoxluqları R əlaqəsinin domenləri adlanır. n-in qiymətinə R əlaqəsinin dərəcəsi deyilir.
Şəkil 1.3-də dərəcəsi 5 olan hissə əlaqəsi göstərilir: P# (hissə nömrəsi), PNAME (hissə adı), COLOR (hissə rəngi), WEIGHT (hissə kütləsi) və CITY (hissələrin saxlandığı şəhər). Məsələn, COLOR domeni, ehtimal olunan bütün hissələrin rənglərinə malikdir. Qeyd edək ki, bu domen zamanın müəyyən bir nöqtəsində hissədə olmayan rəngləri daxil edə bilər.
P#
|
PNAME
|
COLOR
|
WEIGHT
|
CITY
|
P1
P2
P3
P4
P5
P6
|
Nut
Bolt
Screw
Screw
Cam
Cog
|
Red
Green
Blue
Red
Blue
Red
|
12
17
17
14
12
19
|
London
Paris
Rome
London
Paris
London
|
Şəkil 1.3. PART əlaqəsi
Cədvəldəki hər bir sətir əlaqənin bir n-ni (və ya sadəcə bir kortejini) təmsil edir. Münasibətdəki kortejlərin sayı əlaqənin kardinal sayı adlanır. Beləliklə, məsələn, PART əlaqəsinin kardinal sayı 6-ya bərabərdir. Birinci dərəcə əlaqəsi unary adlanır. Eynilə, 2 dərəcə əlaqəsinə binary deyilir.
Münasibətlərin başqa bir ekvivalent tərifi Kartezyen hasili anlayışı ilə əlaqəlidir. D1, D2, . . . , Dn çoxluğu kolleksiyası verilir (mütləq fərqli deyil). Bu çoxluqların Kartezyen hasili (D1 X D2 X . . . X Dn kimi yazılır) d1-in D1-ə, dn-in Dn-ə aid olduğu mümkün olan bütün nizamlanmış kortejlər çoxluğudur (d1, d2, . . . , dn). Şəkil 1.4 S# və P# çoxluqlarının Kartezyen hasilini göstərir. Əgər R Kartezyen çoxluğunun (D1 X D2 X . . . X Dn) alt çoxluğudursa, deməli (D1, D2, . . . , Dn) çoxluğunun əlaqəsidir.
S#
|
P#
|
S1
S1
S1
S2
S2
S2
|
P1
P2
P3
P1
P2
P3
|
X
P#
S#
P2
P1
P3
S1
S2
“GET NEXT” operatoru hissə (PART) əlaqəsində sətirləri hissə nömrəsinin artan ardıcıllığı ilə sıralayır. Buna görə də, əlaqəli məlumat modelində tez-tez kortejlər sifariş edilir. Sifariş ya sistem tərəfindən təyin olunmuşdur, yəni istifadəçinin sifariş anlayışı yoxdur və ondan asılı deyil və ya bu əlaqənin sahəsinə (domenlərinə) aid dəyərlər baxımından müəyyən edilir. İlk girən ilk çıxır (FIFO) və ya proqram tərəfindən idarə olunan sifariş kimi bütün digər sifariş növləri xüsusi olaraq istisna olunur.
Şəkil 1.4. Kartezyen hasili nümunəsi
DOMENLƏR VƏ ATRİBUTLAR
Domen və sütunlar (və ya atributlar) arasındakı fərqi anlamaq vacibdir, hansı ki, bu domendən yaradılıblar. Atribut əlaqə daxilində bir domen istifadəsini təmsil edir. Fərqi vurğulamaq üçün atributlara domen adlarından fərqli adlar verilir; məsələn, bax. Şəkil 1.5-də beş domeni (P#, PNAME və s.) və bir əlaqəni (PART) elan edən konseptual sxemin bir hissəsi göstərilir. Əlaqə beş atribut (PARTNO, PARTNAME və s.) tərəfindən və müvafiq domendən əldə edildiyi kimi müəyyən edilir. Bir qayda olaraq, atributun eyni adı varsa, atribut təsvirindən domen adı spesifikasiyası açılan konvensiya istifadə ediləcək. Bununla da, şəkil 1.6 həmişə mümkün deyil. Bu, üç atribut və yalnız iki fərqli domenli əlaqəyə nümunədir. COMPONENT əlaqənin istənilən kortejinin mahiyyəti odur ki, MAJOR hissə bir neçə digər MINOR hissəni seçilmiş sayda daxil edir. İki fərqli domen P# (hissə nömrəsi) və QUANTITY (say) mövcuddur. Bu nümunə ümumi domen adına seçilmiş prefiksləri əlavə edərək müxtəlif atributların adlandırılması üçün başqa bir ümumi konvensiyanı göstərir. Bu prefikslər hər əlaqəyə girəndə müəyyən bir domenin fərqli rollarını göstərir.
Dostları ilə paylaş: |