Baza de date orientata pe obiecte

O bază de date orientată pe obiecte (OODB) este o bază de date în care datele sunt modelate ca obiecte [1] , atributele, metodele și clasele acestora [2] .

Istorie

Primele publicații despre bazele de date orientate pe obiecte au apărut la mijlocul anilor '80. [3]

Caracteristici

Bazele de date orientate pe obiecte sunt de obicei recomandate pentru acele cazuri în care este necesară procesarea de înaltă performanță a datelor cu o structură complexă.

Manifestul OODB [4] propune caracteristici obligatorii pe care orice OODB trebuie să le îndeplinească. Alegerea lor se bazează pe 2 criterii: sistemul trebuie să fie orientat pe obiecte și să fie o bază de date.

Caracteristici obligatorii

  1. Suport pentru obiecte complexe. Sistemul trebuie să ofere posibilitatea de a crea obiecte compuse folosind constructori de obiecte compuse. Este necesar ca constructorii de obiecte să fie ortogonali, adică orice constructor poate fi aplicat oricărui obiect.
  2. Suport pentru individualitatea obiectelor. Toate obiectele trebuie să aibă un identificator unic care este independent de valorile atributelor lor.
  3. Suport pentru încapsulare. Încapsularea corectă se realizează datorită faptului că programatorii au dreptul de a accesa doar specificația interfeței metodei, iar datele și implementarea metodelor sunt ascunse în interiorul obiectelor.
  4. Suport pentru tipuri și clase. Este necesar ca OODB să susțină cel puțin un concept al distincției dintre tipuri și clase. (Termenul „tip” este mai în concordanță cu conceptul de tip abstract de date. În limbajele de programare, o variabilă este declarată cu tipul ei. Compilatorul poate folosi aceste informații pentru a verifica dacă operațiunile efectuate asupra variabilei sunt compatibile cu tipul acesteia. , care ajută la asigurarea corectitudinii software-ului. Pe de altă parte, clasa este un șablon pentru crearea de obiecte și oferă metode care pot fi aplicate acelor obiecte. Astfel, conceptul de „clasă” se referă mai mult la run-time decât la compilare. -timp.)
  5. Suport pentru moștenirea tipurilor și claselor de la strămoșii lor. Un subtip, sau subclasă, trebuie să moștenească atribute și metode din supertipul sau, respectiv, superclasa.
  6. Supraîncărcare combinată cu legarea completă. Metodele trebuie aplicate obiectelor de diferite tipuri. Implementarea metodei trebuie să depindă de tipul de obiecte la care se aplică metoda. Pentru a oferi această funcționalitate, legarea numelor de metode în sistem nu ar trebui să aibă loc până la momentul rulării programului.
  7. Completitudine computațională. Limbajul de manipulare a datelor ar trebui să fie un limbaj de programare cu scop general.
  8. Setul de tipuri de date trebuie să fie extensibil. Utilizatorul trebuie să aibă mijloacele pentru a crea noi tipuri de date pe baza unui set de tipuri de sistem predefinite. Mai mult, nu ar trebui să existe nicio diferență între modul în care sunt utilizate sistemele și tipurile de date definite de utilizator.

Caracteristici optionale:

Deschideți caracteristici:

OODB și SGBD-ul său

Rezultatul combinării capacităților (caracteristicilor) bazelor de date și a capacităților limbajelor de programare orientate pe obiecte sunt sistemele de gestionare a bazelor de date orientate pe obiecte (OODBMS). OODBMS vă permite să lucrați cu obiectele bazei de date în același mod ca și cu obiectele din programare în OOLP. Un OODBMS extinde limbajele de programare prin introducerea în mod transparent a datelor persistente, controlul concurenței, recuperarea datelor, interogările asociate și alte caracteristici.

Unele baze de date orientate pe obiecte sunt concepute pentru a interacționa strâns cu limbaje de programare orientate pe obiecte, cum ar fi Python , Java , C# , Visual Basic .NET , C++ , Objective-C și Smalltalk ; altele au propriile limbaje de programare. OODBMS utilizează exact același model ca limbajele de programare orientate pe obiecte.

SGBD-ul ar trebui să ofere:

Note

  1. Dicționar de științe naturale. Glosar.ru
  2. OLAP.RU: Baze de date orientate pe obiecte - concepte de bază, organizare și management: o scurtă prezentare . Consultat la 13 iunie 2011. Arhivat din original pe 13 martie 2012.
  3. IEEE Database Engineering, special issue on Object-Oriented Databases, F. Lochovski, ed., Dec. 1985
  4. Atkinson și colab., 1989

Literatură

Link -uri