Obyekt yönümlü verilənlər bazalarında (OODB) istifadəçilər müxtəlif növlərdə ola bilən və əməliyyatların təyin olunduğu obyektlərdən ibarət olan xüsusi verilənlər bazasında əməliyyatlar təyin edə bilərlər. Onlar multimedia obyektləri kimi ikili məlumatları səmərəli şəkildə idarə edə bilirlər. OODB-nin digər əlavə faydası onun bütün sistemə təsir etmədən cüzi prosedur fərqləri ilə proqramlaşdırıla bilməsidir.
Standartın yaradılması üçün ilkin şərtlər
Obyekt yönümlü OODB verilənlər bazalarının tarixi keçən əsrin sonundan başlayır. Onlar yeni tətbiqlərin ehtiyaclarını ödəmək üçün yaradılmışdır. Obyekt yönümlü verilənlər bazalarının 1990-cı illərdə proqram sistemlərində inqilab edəcəyi ehtimal edilirdi. İndi aydın olur ki, belə deyil. Bununla belə, bu konsepsiyanın pulsuz proqram icmaları vasitəsilə canlandırılması və ona uyğun tətbiqlərin müəyyən edilməsi xüsusiyyətlərin nəzərdən keçirilməsinə sövq edir. OODB, hər yerdə olan əlaqəli verilənlər bazalarına alternativdir.
Obyekt yönümlü tələblərin bir qismini və ya hamısını idarə etmək üçün çevikliyi təmin edir və ənənəvi verilənlər bazalarının məlumat növləri və sorğu dilləri ilə məhdudlaşmır. OODB-lərin əsas xüsusiyyəti, onların tərtibatçıya həm mürəkkəb obyektlərin strukturunu, həm də tətbiq əməliyyatlarını təyin etməyə imkan verən qabiliyyətidir. OODB-lərin yaradılmasının digər səbəbi proqram təminatının inkişafı üçün dillərin artan istifadəsidir.
Verilənlər bazaları bir çox informasiya sistemlərinin əsasına çevrilib, lakin onlara daxil olan proqramlar C++, Smalltalk və ya Java dillərində yazıldıqda ənənəvi verilənlər bazalarından istifadə etmək çətindir. Məsələn, 1C obyekt yönümlü verilənlər bazaları elə tərtib edilmişdir ki, onlar obyekt yönümlü dillərdən istifadə edən proqramlarla birbaşa inteqrasiya oluna bilər: Visual Studio. Net, C++, C, Microsoft SQL Server və digərləri.
OODB-nin əsas üstünlüyü sonrakı performans təkmilləşdirmələri ilə RMs1 (impedans) ehtiyacının tamamilə aradan qaldırılmasıdır.
Qüsurlar:
- Çox primitiv məsləhət mexanizmləri, heç bir öz-özünə standart qəbul edilmiş platforma yoxdur.
- Prosedurları saxlamaq mümkün deyil, çünki obyektlərə yalnız müştəridə daxil olmaq olar.
- Bazarda yetişməmişlik.
- Obyektlərin fiziki qruplaşdırılması yoxdur.
Obyekt paradiqması
Obyekt yönümlü verilənlər bazaları sətirlər və sütunlar təyin etmədən mürəkkəb məlumatları və onların əlaqələrini bilavasitə saxlayan proqramlaşdırıla bilən verilənlər bazalarıdır ki, bu da onları böyük partiyalarla işləyən proqramlar üçün daha uyğun edir. Obyektlərin çoxlu-çoxlu əlaqələri var və əlaqələr qurmaq üçün onlarla əlaqəli olan göstəricilərdən istifadə etməklə əldə edilə bilər. İstənilən proqramlaşdırıla bilən kimi, OODB də proqram inkişaf mühiti və istismara hazır davamlı repozitoriya təmin edir. O, obyektlər şəklində rəqəmsallaşdırıla bilən məlumatları saxlayır və manipulyasiya edir, sürətli giriş təmin edir və böyük emal imkanları təmin edir.
Obyekt yönümlü verilənlər bazasında istifadə olunan əsas anlayışlar:
- obyekt şəxsiyyəti;
- konstruktor növü;
- dil uyğunluğu;
- növ iyerarxiyaları və miras;
- mürəkkəb obyektlərin işlənməsi;
- polimorfizm və operatorun həddən artıq yüklənməsi;
- versiyalar yaradılır.
Obyekt yönümlü verilənlər bazasını xarakterizə edən bütün aspektləri tam nəzərdən keçirmək üçün bütün vacib obyekt paradiqmalarını qeyd etmək vacibdir:
- Enkapsulyasiya digər obyektlər üçün məlumatı gizlətməyə imkan verən xüsusiyyətdir və bununla da yanlış giriş və ya münaqişələrin qarşısını alır.
- Vərəslik obyektlərin sinif iyerarxiyasında davranışı miras qoyduğu xüsusiyyətdir.
- Polimorfizm onun tətbiq oluna biləcəyi əməliyyatın xüsusiyyətidirmüxtəlif növ obyektlər.
- Əməliyyatın interfeysi və ya imzası onun arqumentlərinin və ya parametrlərinin adını və məlumat növlərini ehtiva edir.
- Əməliyyatın icrası və ya üsulu ayrıca müəyyən edilir və interfeysə təsir etmədən dəyişdirilə bilər. İstifadəçi tətbiqləri necə həyata keçirildiklərindən asılı olmayaraq, adları və arqumentləri vasitəsilə müəyyən əməliyyatları çağıraraq data ilə işləyə bilər.
Siniflər və funksionallıq
OODB-də siniflər anlayışını nəzərdən keçirərkən "sinif" və "tip" terminlərini fərqləndirmək lazımdır. Növ oxşar davranışa malik obyektlər toplusunu təsvir etmək üçün istifadə olunur. Bu mənada obyekt üzərində hansı əməliyyatların çağırıla biləcəyindən asılıdır. Sinif eyni daxili strukturu paylaşan obyektlər toplusudur, ona görə də o, icranı, növ isə ondan necə istifadə olunacağını təsvir edir.
İnstantiasiya termini, sinif tərəfindən təyin edilən eyni quruluşa və davranışa malik olan obyektlər toplusunu istehsal etmək üçün sinfin nümunələşdirilməsinin istifadə oluna biləcəyi faktına istinad edir.
Obyektlərin təkamülü üçün çox vacib olan xüsusiyyət odur ki, o, şəxsiyyəti qoruyub saxlayaraq öz sinfini, o cümlədən atributları və əməliyyatları dəyişə bilir. Bunun üçün yaranan semantik bütövlüyü idarə etmək üçün mexanizm tələb olunur.
Təşkilatın obyekt yönümlü verilənlər bazasını miras almaq, sinfi artıq mövcud olan supersinifin alt sinfi kimi müəyyən etməyə imkan verir. O, bütün atributları və metodları sonuncudan miras alacaq və istəyə görə müəyyən edə bilərsahibi. Bu konsepsiya təkrar istifadəni dəstəkləmək üçün mühüm mexanizmdir. İki fərqli sinfin strukturunun eyni hissələri ümumi bir üst sinifdə yalnız bir dəfə müəyyən edilə bilər, beləliklə daha az kod yazılacaqdır. Bəzi sistemlər var ki, bir sinfin birdən çox supersinifin alt sinfi olmasına imkan verir. Bu xüsusiyyət tək mirasdan fərqli olaraq çoxlu miras adlanır.
Obyekt yönümlü verilənlər bazası nümunəsi
Şəkil və video dərslərindən media superklassının fərqli, lakin oxşar üsulları üçün eyni addan istifadə etmək çox vaxt faydalıdır. Bir çox fayl müxtəlif izləyicilər tərəfindən baxıla bilər. Onlar tez-tez "baxış" metodundan istifadə edərək bütün foto və videolara baxmalı və müvafiq proqram işə salınmalıdır. Funksiya çağırıldıqda və videoya keçid verildikdə, media pleyer işə salınır. Bu funksiyanı həyata keçirmək üçün ilk növbədə şəkil və video siniflərindən ümumi media superklassında “təqdimat” əməliyyatını müəyyən etmək lazımdır. Alt siniflərin hər biri xüsusi ehtiyacları üçün axtarış əməliyyatını yenidən müəyyənləşdirir. Bu, eyni əməliyyat adına malik müxtəlif üsullarla nəticələnir. Bu halda, bu funksiyadan istifadənin mühüm üstünlüyü var.
OODB strukturu
Obyekt yönümlü paradiqma hər bir obyektlə əlaqəli verilənlərin və kodun bir modulda inkapsulyasiyasına əsaslanır. Konseptual olaraq, onunla sistemin qalan hissəsi arasındakı bütün qarşılıqlı əlaqə mesajlardan istifadə etməklə həyata keçirilir. Beləliklə, interfeysonların arasında icazə verilən dəstlə müəyyən edilir.
Ümumiyyətlə, hər bir obyekt dəstlə əlaqələndirilir:
- Obyekt datasını ehtiva edən və ER model atributlarına uyğun dəyişənlər.
- Onun cavablandırdığı mesajlar. Hər birinin bir və ya daha çox parametri ola bilər və ya olmaya bilər.
- Metodlar, hər biri mesajları həyata keçirən və ona cavab olaraq dəyər qaytaran koddur.
OO mühitində mesajlaşma kompüter şəbəkələrində fiziki SMS istifadəsini nəzərdə tutmur. Əksinə, bu, onların həyata keçirilməsinin düzgün təfərrüatlarından asılı olmayaraq, obyektlər arasında sorğu mübadiləsinə aiddir. Bəzən ifadə mesajın obyektə göndərilməsi faktını işə salmaq üçün metodu çağırır və müvafiq metodun icrasından istifadə edir.
Obyekt eyniliyi
Obyekt yönümlü verilənlər bazası sistemi verilənlər bazasında saxlanılan hər bir müstəqil obyekt üçün unikal identifikasiya təmin edir. O, adətən sistem tərəfindən yaradılan unikal obyekt identifikatoru və ya OID istifadə edərək həyata keçirilir. OID dəyəri xarici istifadəçi üçün görünməzdir, lakin sistem onu obyektlər arasında əlaqələri idarə etmək üçün daxildən istifadə edir.
OID-nin əsas xüsusiyyəti dəyişməz olmaqdır. Müəyyən bir obyekt üçün OID dəyəri heç vaxt dəyişməməlidir. Bu, təmsil olunan real dünyanın kimliyini qoruyur. Həmçinin, hər bir OID-nin yalnız bir dəfə istifadə edilməsinə üstünlük verilir, hətta verilənlər bazasından silinsə belə, onun OID-i başqasına təyin edilməməlidir. Onu fiziki əsaslandırmaq da çox vaxt yersiz hesab olunursaxlama obyektinin ünvanı, çünki verilənlər bazasında onları yenidən təşkil etmək OID-i dəyişə bilər. Bununla belə, bəzi sistemlər obyektlərin axtarışının səmərəliliyini artırmaq üçün fiziki ünvandan OID kimi istifadə edir. Obyekt yönümlü çərçivə avtomatik olaraq daha çox tətbiq oluna bilən əlaqəli məhdudiyyətlər qoyur: domen, açar, obyekt bütövlüyü və istinad bütövlüyü.
Üç əsas konstruktor
OODB-də mürəkkəb obyektlərin dəyərləri və ya dövlətləri müəyyən növ konstruktorlardan istifadə etməklə başqalarından yaradıla bilər. Onları təmsil etməyin bir yolu hər birini üçlük (i, c, v) kimi düşünməkdir, burada i obyektin unikal identifikatorudur (OID), c konstruktordur, yəni obyektin dəyərinin necə olduğuna dair göstəricidir. yaradılmışdır və v obyektin dəyəri və ya vəziyyətidir. Data modelindən və OO sistemindən asılı olaraq bir neçə konstruktor ola bilər.
Üç əsas obyekt yönümlü verilənlər bazası konstruktorları:
- atomlar;
- tuples;
- dəstlər.
Digər daha çox istifadə edilənlər siyahılar və qrafiklərdir. Sistemdə birbaşa mövcud olan bütün əsas atom dəyərlərini ehtiva edən D domeni də var. Onlara adətən tam ədədlər, həqiqi ədədlər, simvol sətirləri, tarixlər və sistemin birbaşa idarə etdiyi hər hansı digər məlumat növü daxildir. Həm obyektlərin strukturu, həm də əməliyyatlar sinif təriflərinə daxildir.
Proqramlaşdırma dilləri ilə uyğunluq
Obyekt yönümlü verilənlər bazalarının əsas konsepsiyalarından istifadə olunurdizayn alətləri kimi və verilənlər bazası ilə işləmək üçün kodlaşdırılıb.
Bu anlayışların inteqrasiya oluna biləcəyi bir neçə mümkün dil var:
- Mürəkkəb növlər və OOP əlavə etməklə SQL kimi verilənlərin emalı üçün dilin genişləndirilməsi. Sistemlər obyekt yönümlü relational sistemlər adlanan əlaqəli sistemlərə obyekt yönümlü genişləndirmələr təqdim edir.
- Mövcud obyekt yönümlü proqramlaşdırma dilindən istifadə və onun verilənlər bazası ilə işləmək üçün genişləndirilməsi. Onlar davamlı proqramlaşdırma dilləri adlanır və tərtibatçılara SQL kimi bir məlumat emal dilindən keçmədən birbaşa məlumatlarla işləməyə imkan verir. Məlumatlar onu yaradan proqram bitdikdən sonra mövcud olmağa davam etdiyi üçün onlar davamlı adlanır.
Hansı seçimdən istifadə edəcəyinə qərar verərkən yadda saxlayın ki, davamlı dillər güclü olmağa meyllidir və verilənlər bazasına zərər verən proqramlaşdırma səhvləri etmək nisbətən asandır. Dillərin mürəkkəbliyi diskin giriş/çıxışını az altmaq kimi yüksək səviyyəli avtomatik optimallaşdırmaları çətinləşdirir. Bir çox tətbiqlərdə deklarativ sorğular etmək bacarığı vacibdir, lakin davamlı dillər hazırda belə sorğulara problemsiz icazə vermir.
Vərəs növlərinin iyerarxiyası
Obyekt yönümlü verilənlər bazası sxemləri adətən çoxlu sayda sinif tələb edir. Bununla belə, bir neçə sinif bir-birinə bənzəyir. Onlar arasında oxşarlıqların birbaşa təsvirinə imkan vermək üçünonları ixtisaslar iyerarxiyasına daxil edin. Bu konsepsiya ER modellərinə bənzəyir. Sinif ixtisasları mövcud sinif üçün əlavə atributları və metodları müəyyən edən alt siniflər adlanır. Alt siniflərlə yaradılmış obyektlər hər şeyi valideyndən miras alır. Bu irsi xüsusiyyətlərin bəziləri iyerarxiyada daha yuxarı olanlardan götürülmüş ola bilər.
Obyektlər mürəkkəb hesab olunur, çünki onlar böyük həcmdə yaddaş sahəsi tələb edir və Obyekt yönümlü verilənlər bazası idarəetməsinin (OODBS) adətən təklif etdiyi standart məlumat növlərinin bir hissəsi deyil. Obyektlərin ölçüsü əhəmiyyətli olduğundan, SOOBMS obyektin bir hissəsini qəbul edə və bütün obyekti əldə etməzdən əvvəl onu proqrama təqdim edə bilər. O, həmçinin tətbiqin onlara daxil olmasından əvvəl obyektin hissələrini vaxtından əvvəl əldə etmək üçün bufer və keş üsullarından istifadə edə bilər.
OODB istifadəçilərə həm strukturu, həm də əməliyyatları, bu halda genişləndirilə bilən tip sistemini özündə birləşdirən yeni növlər yaratmağa imkan verir. Siz onların strukturunu və əməliyyatlarını təyin etməklə yeni tipli kitabxanalar yarada bilərsiniz. Onların bir çoxu sətirlər və simvollar və ya bitlər şəklində böyük strukturlaşdırılmış obyekti saxlaya və qəbul edə bilər, onlar şərh üçün proqram proqramına "olduğu kimi" ötürülür.
Metod hədəf obyektin atributlarına birbaşa adla daxil ola bilər, o cümlədən ana siniflərdən miras qalmış, lakin ikinci dərəcəli siqnalları olan digər obyektlərin atributlarına daxil olmalıdır. Konsepsiya eyni operator adını və ya simvolu əlaqələndirməyə imkan verirtətbiq olunduğu obyektlərin növündən asılı olaraq onun iki və ya daha çox fərqli tətbiqi.
Tikinti Proqramları
OO sistemlərindən istifadə edən bir çox verilənlər bazası proqramları eyni obyektin çoxsaylı versiyasını tələb edir. Tipik olaraq, texniki xidmət fəaliyyətləri proqram sisteminə tələblər dəyişdikcə tətbiq edilir və bəzi inkişaf və tətbiq modullarının dəyişdirilməsini nəzərdə tutur. Sistem artıq işləyirsə və bir və ya bir neçə modul dəyişdirilməlidirsə, tərtibatçı dəyişikliklər etməklə onların hər birinin yeni versiyasını yaratmalıdır.
Qeyd edək ki, orijinal modula əlavə olaraq ikisi tələb olunarsa, obyektin ikidən çox versiyası ola bilər. Eyni proqram modulunun öz versiyaları eyni vaxtda yenilənə bilər. Buna paralel obyekt yönümlü verilənlər bazası dizaynı deyilir. Bununla belə, hibrid OODB-nin uyğun olması üçün edilən dəyişiklikləri özündə birləşdirməsi üçün onların birləşdirilməli olduğu bir məqam həmişə olur.
Obyekt yönümlü şərtlər
Bütün kompüter sistemlərinin nəzərə alınması üçün onların arxitekturasının xüsusiyyətləri olmalıdır. Məsələn, bir sistemin əlaqəli hesab edilməsi üçün cədvəllər olmalıdır. OODB istisna deyil və obyekt arxitekturasının bəzi əsas xüsusiyyətlərini ehtiva edir. Bununla belə, real dünyada bu xassələrin bir çoxu müzakirə edilir və bəziləri, məsələn, çoxsaylı miras, obyekt yönümlü verilənlər bazası modelinin təkmilləşdirmələri hesab olunur.baza xəttinin bir hissəsi kimi. Məsələn, obyekt yönümlü Smalltalk dilində çoxlu varislik, obyekt arxitekturasının bir hissəsi hesab edilsə də dəstəklənmir.
Sinif üçün metodlar obyekt üzərində yerinə yetirilə bilən əməliyyatlar toplusunu müəyyən edir. Məsələn, obyektə tətbiq edildikdə, o, ya dəyəri qaytarır, ya da dəyərləri yeniləmək üçün bəzi əməliyyatlar həyata keçirir. Bəzən üsullar onu qaytarmır. Metod avtomobil üçün sərnişinlərin sayını yeniləmək üçün nəzərdə tutulsaydı, heç bir dəyər qaytarılmayacaq, lakin hədəfdəki data elementi onu dəyişdirəcək.
Obyektlər OODB-də fundamental anlayışdır. Prinsipcə, obyektlər real aləmdə saxlanılan şeylərin mücərrəd təsviridir. Obyekt onun tərifindən xaric olması mənasında sinif nümunəsidir.
Obyekti üç hissədən ibarət müstəqil paket kimi düşünə bilərsiniz:
- Öz şəxsi məlumatı, data dəyərləri.
- Sinif tərifi vasitəsilə dəyərləri manipulyasiya edəcək şəxsi prosedurlar.
- Bu obyektin başqaları ilə əlaqə saxlaması üçün interfeysi açın.
OODB nümunələri
OODB-dən istifadə konseptuallaşdırmanı sadələşdirir, çünki saxlanmalı olan məlumatı təmsil etmək daha təbiidir. Verilənlər bazasının strukturunu və ya məntiqini modelləşdirmək üçün sinif diaqramlarından istifadə onların struktur əlaqələri və irsiyyəti ilə sinifləri təqdim etməyə imkan verir. Dinamikanın bir hissəsini modelləşdirmək üçün qarşılıqlı əlaqə vəobyektlər arasında davranış, müvəqqəti əlaqədə olan obyektlər arasında qarşılıqlı əlaqəni təmsil etmək üçün ardıcıl diaqramdan istifadə ediləcək və hadisə baş verdikdən sonra dəyişdirilmiş vəziyyət nəzərə alınmaqla onların tapıla bilməsi üçün mümkün vəziyyətləri təsvir edəcək.
Obyekt yönümlü verilənlər bazası nümunəsi aşağıda göstərilmişdir.
Onların müvəqqəti və ya daimi ola biləcək adı və ömürləri var. OODB açarı, tərtibatçıya onlara neçə struktur və əməliyyatın tətbiq olunacağını müəyyən etmək üçün təmin etdikləri qabiliyyətdir. Mürəkkəb məlumat növləri ilə işləmək üçün çeviklik və dəstək var. Siz siniflər və alt siniflər yarada bilərsiniz, məsələn, müştəri bazası bu müştərinin linkinin alt sinfinə malik ola bilər və o, orijinal sinfin bütün atributlarını və xüsusiyyətlərini miras alacaq, bu yanaşma mürəkkəb məlumatları tez və çevik şəkildə emal etməyə imkan verir.