Münasibətli verilənlər bazası ilə tanışlıq

Verilənlər bazasının idarəolunması sistemləri (VBİS) - bu, istifadəçilərə verilənlər bazası ilə qarşılıqlı əlaqə yaratmağa imkan verən kompüter proqramlarıdır. VBİS istifadəçilərə verilənlər bazasına müraciəti idarə etməyə, məlumatları yazmağa, sorğuları icra etməyə və verilənlər bazasının idarəetməsi ilə bağlı hər hansı digər tapşırıqları yerinə yetirməyə imkan verir.

Lakin VBİS bu tapşırıqlardan hər hansı birini yerinə yetirmək üçün məlumatların təşkilini müəyyənləşdirən modelə malik olmalıdır. 1960-cı illərin sonundan etibarən verilənlər bazasının proqram təminatında geniş şəkildə istifadə edilən münasibətlər modeli məlumatların təşkili üçün təklif edilmiş yanaşmalardan biridir.

Münasibətlər modelinin yaranma tarixi

Verilənlər bazası - bu, məntiqi şəkildə modelləşdirilmiş informasiya və ya məlumat klasterləridir. Harada və necə saxlanmasından asılı olmayaraq istənilən məlumat toplusu verilənlər bazası sayılır. Məsələn, şirkətin müxtəlif ofislərdə saxlanılan müştəri kartotekası - bu, verilənlər bazasıdır. Əvvəllər dövlət təşkilatları və kommersiya şirkətləri məlumatları yalnız bu cür fiziki verilənlər bazasında saxlayırdılar.

Təxminən 20-ci əsrin ortalarında kompüter elminin inkişafı daha məhsuldar hesablama maşınlarının işlənib hazırlanmasına, həmçinin daxili və xarici yaddaş qurğularının həcminin artmasına gətirib çıxartdı. Bu, kompüter mütəxəssislərinə böyükhəcmli məlumatların saxlanılması və idarə olunmasında belə cihazların potensialını dərk etməyə imkan verdi.

Lakin kompüterdə məlumatların məntiqi, düzgün təşkili ilə bağlı heç bir nəzəriyyə mövcud deyildi.

Verilənlər bazası üçün ilk modellərdən biri məlumatların ağacvari struktur şəklində təşkilini nəzərdə tutan iyerarxik model olub. Məsələn, aşağıdakı nümunə heyvanları təsnif etmək üçün istifadə edilən iyerarxik verilənlər bazasının bir hissəsidir:

iyerarxik model

İyerarxik model ilkin verilənlər bazasının idarəolunma sistemlərində geniş şəkildə tətbiq edilib, lakin o, bir sıra çatışmazlıqlara malik idi. Bu modeldə hər bir yazının yalnız bir "valideyni" ola bilərdi. Buna görə ilkin iyerarxik modellərdə yalnız birin-birə və ya birin-çoxa münasibətləri əlçatan idi. Çoxun-çoxa münasibətinin olmaması birdən çox "valideyn"ə bağlılığı tələb edən məlumatlarla işləyərkən problem yaradırdı.

1960-cı illərin sonlarında IBM-in proqramçısı Edqar Kodd verilənlər bazasının idarə olunması üçün münasibətlər modelini işləyib hazırlayır. Münasibətlər modeli bir neçə cədvəlin məlumatları arasında əlaqə qurmağa imkan verirdi və çoxun-çoxa münasibətini dəstəkləyirdi.

O, münasibətli məlumatların idarə edilməsi üçün Alpha adlı dil hazırlamışdı. Edqar Koddun IBM-dəki həmkarları Donald Çemberlin və Raymond Boys Alpha dilindən ilhamlanaraq SEQUEL (Structured English Query Language) adlı dil hazırladılar, lakin əmtəə nişanı ilə bağlı problemə görə onun adını qısaldaraq SQL adlandırmalı olublar.

O illərdə aparat təminatının aşağı məhsuldarlığına görə ilkin münasibətli verilənlər bazalarının sürəti zəif idi və bu texnologiyanın geniş yayılması üçün vaxta ehtiyac var idi. Lakin 1980-ci illərin ortalarında IBM və rəqib şirkətlər verilənlər bazasının idarə olunması üçün nəzərdə tutulmuş bir sıra kommersiya məhsullarında Koddun münasibətlər modelini tətbiq etmişdilər. Bu rəqib şirkətlər, həmçinin öz SQL dialektlərini inkişaf etdirirdilər. 1987-ci ildə Amerika Milli Standartlar İnstitutu və Beynəlxalq Standartlaşdırma Təşkilatı SQL standartlarını təsdiqləmiş və dərc etmişdir.

Münasibətlər modelinin bir çox sahələrdə geniş tətbiqi ona gətirib çıxartdı ki, o, məlumatların idarə edilməsi üzrə standart model kimi qəbul edildi. Son zamanlar müxtəlif NoSQL verilənlər bazalarının istifadəyə verilməsinə baxmayaraq, münasibətlər modelinə əsaslanan verilənlər bazaları məlumatların saxlanılması və təşkilində əsas alət olaraq qalırlar.

Münasibətli verilənlər bazasında məlumatlar necə strukturlaşdırılır?

Münasibətlər modelinin ən vacib elementləri münasibətlərdir, istifadəçilər və müasir VBİS tərəfindən cədvəllər kimi "tanınır" . Münasibət - bu, cədvəldəki sətirlərdir (həmçinin kortej də adlandırılır), hər bir sətir isə sütunlardan (atributlar) ibarətdir: 

münasibətli modeli

Cədvəldə sütun yaradarkən verilənlərin tipi təyin edilir. Bu, cədvələ daxil ediləcək məlumatlara məhdudiyyət qoyur.

Münasibətlər modelində cədvəldə hər bir sətrin unikallığını müəyyənləşdirmək üçün ən azı bir sütun olur. O, başlıca açar (primary key) adlanır.

İki cədvəl arasında münasibət yaratmaq üçün xarici açardan (foreign key) istifadə edilir. Xarici açar - bu, bir cədvəlin başlıca açarının surətinin digər cədvəlin sütununa daxil edilməsi kimi izah edilə bilər. Aşağıdakı nümunə iki cədvəl arasında olan münasibəti nümayiş etdirir: birinci cədvəl şirkətin işçiləri haqqında məlumatları özündə saxlayır, digəri isə şirkətin satışlarını izləmək üçün istifadə olunur. Bu nümunədə EMPLOYEES cədvəlinin başlıca açarı SALES cədvəlinin xarici açarı kimi istifadə olunur:

Əgər siz sales cədvəlinə məlumat əlavə etməyə cəhd etsəniz və onun xarici açar sütununa daxil edilmiş qiymət employees cədvəlinin başlıca açarında yoxdursa, bu əməliyyat ləğv ediləcək. Bu, münasibətlər səviyyəsində bütövlüyün qorunmasına kömək edir, belə olan halda hər iki cədvəldəki sətirlər arasında münasibətlər həmişə düzgün qurulmuş olacaq.

Münasibətli verilənlər bazasının üstün və mənfi tərəfləri

Münasibətli verilənlər bazaları sürətlə populyarlıq qazandı. Lakin saxlanılan məlumatların həcmi artmağa başladıqca, münasibətlər modelinin bəzi çatışmazlıqları üzə çıxdı. Məsələn, münasibətli verilənlər bazasını üfüqi miqyaslaşdırmaq çətin ola bilər. Üfüqi miqyaslaşdırma (Horizontal scaling) - bu, serverin yüklənməsini azaltmaq, trafiki artırmaq və daha sürətli emal etmək üçün mövcud stekə daha çox kompüter əlavə etmək təcrübəsidir. Bu, adətən daha çox RAM və ya CPU hesabına mövcud serverin aparat təminatının təkmilləşdirilməsini nəzərdə tutan şaquli miqyaslaşdırma (vertical scaling) ilə ziddiyyət təşkil edir.

Münasibətli verilənlər bazasını üfüqi miqyaslaşdırmaq çətindir, çünki münasibətlər modeli bötövlüyü təmin etmək üçün nəzərdə tutulub, yəni eyni verilənlər bazasına sorğu göndərən kliyentlər həmişə eyni məlumatları əldə edəcəklər. Əgər siz münasibətli verilənlər bazasını bir neçə kompüter arasında üfüqi miqyaslandırırsınızsa, bütövlüyü təmin etmək çətinləşir, çünki kliyentlər məlumatı yalnız bir qovşağa yaza bilərlər. Böyük ehtimalla başlanğıc yazı ilə digər qovşaqların yeniləndiyi vaxt arasında gecikmə olacaq, nəticədə qovşaqlar arasında bütövlük olmayacaq.

Digər bir məhdudiyyət ondan ibarətdir ki, münasibətlər modeli strukturlaşdırılmış məlumatları idarə etmək üçün nəzərdə tutulub. Lakin 1990-cı illərin əvvəllərində fərdi kompüterlərin geniş yayılması və internetin inkişafı ilə əlaqədar strukturlaşdırılmamış məlumatlar (e-poçt mesajları, fotoşəkillər, videolar və sairə) populyarlaşmağa başladı.

Lakin bütün sadalanan mənfi cəhətlər münasibətli verilənlər bazasının faydasız olduğu anlamına gəlmir. Əksinə, münasibətli model 40 il sonra, həmçinin məlumatların idarə edilməsi üçün əsas alət olaraq qalır.

Münasibətli verilənlər bazalarının digər üstünlüyü odur ki, demək olar ki bütün VBİS-lər tranzaksiyaları dəstəkləyirlər. Tranzaksiya ardıcıl olaraq vahid blok kimi yerinə yetirilən bir və ya bir neçə SQL operatorundan ibarətdir. Tranzaksiyalar "hamısı, ya da heç biri" yanaşması əsasında işləyirlər. Əgər hansısa SQL operatorunun icrasında problem yaransa, tranzaksiya yerinə yetirilməyəcək. Bu, birdən çox sətirdə və ya cədvəldə dəyişiklik edərkən məlumatların bütövlüyünü təmin etmək üçün çox faydalıdır.

0

Şərh yazmaq üçün hesabınıza daxil olun.