Objektno orijentirane baze podataka: koncept, osnovni koncepti, upravljanje, primjeri

Sadržaj:

Objektno orijentirane baze podataka: koncept, osnovni koncepti, upravljanje, primjeri
Objektno orijentirane baze podataka: koncept, osnovni koncepti, upravljanje, primjeri
Anonim

U objektno orijentiranim bazama podataka (OODB), korisnici mogu postaviti operacije na određenoj bazi podataka, koja se sastoji od objekata koji mogu biti različitih tipova i za koje su operacije postavljene. Mogu učinkovito rukovati binarnim informacijama kao što su multimedijski objekti. Još jedna dodatna prednost OODB-a je da se može programirati s malim proceduralnim razlikama bez utjecaja na cijeli sustav.

Preduvjeti za stvaranje standarda

Povijest objektno orijentiranih OODB baza podataka počinje krajem prošlog stoljeća. Stvoreni su kako bi zadovoljili potrebe novih aplikacija. Pretpostavka je bila da će objektno orijentirane baze podataka revolucionirati softverske sustave tijekom 1990-ih. Sada je jasno da to nije tako. Međutim, oživljavanje ovog koncepta kroz zajednice slobodnog softvera i identifikacija prikladnih aplikacija za njega motivira pregled karakteristikaOODB, koji je alternativa sveprisutnim relacijskim bazama podataka.

Preduvjeti za izradu standarda
Preduvjeti za izradu standarda

Objektno orijentirano pruža fleksibilnost za rukovanje nekim ili svim zahtjevima i nije ograničeno na tipove podataka i jezike upita tradicionalnih baza podataka. Ključna značajka OODB-ova je sposobnost koju oni pružaju razvojnom programeru, dopuštajući mu da specificira i strukturu složenih objekata i operacije aplikacije. Drugi razlog za stvaranje OODB-a je sve veća upotreba jezika za razvoj softvera.

Baze podataka postale su temelj mnogih informacijskih sustava, ali tradicionalne baze podataka je teško koristiti kada su aplikacije koje im pristupaju napisane na C++, Smalltalk ili Javi. Na primjer, 1C objektno orijentirane baze podataka dizajnirane su na način da se mogu izravno integrirati s aplikacijama koje koriste objektno orijentirane jezike usvajanjem njihovih koncepata: Visual Studio. Net, C ++, C, Microsoft SQL Server i ostali.

Glavna prednost OODB-a je potpuna eliminacija potrebe za RMs1 (impedancijom) s naknadnim poboljšanjima performansi.

Glavna prednost OODB-a
Glavna prednost OODB-a

Nedostaci:

  1. Vrlo primitivni mehanizmi savjetovanja, bez standardno prihvaćene platforme.
  2. Ne mogu pohraniti procedure jer se objektima može pristupiti samo u klijentu.
  3. Nezrelost na tržištu.
  4. Bez fizičkog grupiranja objekata.

Objektna paradigma

Objektna paradigma
Objektna paradigma

Objektno orijentirane baze podataka su programabilne baze podataka koje pohranjuju složene podatke i njihove odnose izravno bez dodjeljivanja redaka i stupaca, što ih čini prikladnijim za aplikacije koje rade s velikim serijama. Objekti imaju odnose mnogo-prema-mnogo i dostupni su korištenjem pokazivača koji su s njima povezani za uspostavljanje odnosa. Kao i svaki programabilni, OODB pruža okruženje za razvoj aplikacija i trajno spremište spremno za iskorištavanje. Pohranjuje i manipulira informacijama koje se mogu digitalizirati u obliku objekata, pruža brz pristup i pruža velike mogućnosti obrade.

Osnovni koncepti koji se koriste u objektno orijentiranoj bazi podataka:

  • identitet objekta;
  • vrsta konstruktora;
  • jezična kompatibilnost;
  • hijerarhije vrsta i nasljeđivanje;
  • obrada složenih objekata;
  • polimorfizam i preopterećenje operatora;
  • kreiranje verzija.
Verziranje
Verziranje

Kako bismo u potpunosti razmotrili sve aspekte koji karakteriziraju objektno orijentiranu bazu podataka, važno je zabilježiti sve važne paradigme objekata:

  1. Encapsulation je svojstvo koje vam omogućuje da sakrijete informacije za druge objekte, čime se sprječava netočan pristup ili sukobi.
  2. Nasljeđivanje je svojstvo kojim objekti nasljeđuju ponašanje u hijerarhiji klasa.
  3. Polimorfizam je svojstvo operacije na koju se može primijenitirazličite vrste objekata.
  4. Sučelje ili potpis operacije uključuje naziv i vrste podataka njenih argumenata ili parametara.
  5. Provedba ili metoda operacije specificira se zasebno i može se mijenjati bez utjecaja na sučelje. Korisničke aplikacije mogu raditi s podacima pozivanjem određenih operacija kroz njihova imena i argumente, bez obzira na to kako su implementirane.

Klase i funkcionalnost

Klase i funkcionalnost
Klase i funkcionalnost

Kada se razmatra koncept klasa u OODB-u, potrebno je razlikovati pojmove "klasa" i "tip". Tip se koristi za opisivanje skupa objekata sličnog ponašanja. U tom smislu ovisi o tome koje se operacije mogu pozvati na objektu. Klasa je zbirka objekata koji dijele istu internu strukturu, tako da definira implementaciju, dok tip opisuje kako je koristiti.

Izraz instancijacija odnosi se na činjenicu da se instancija klase može koristiti za proizvodnju skupa objekata koji imaju istu strukturu i ponašanje kao što ih je postavila klasa.

Značajka koja je vrlo važna za evoluciju objekata je da može promijeniti svoju klasu, uključujući atribute i operacije, uz zadržavanje identiteta. To bi zahtijevalo mehanizam za rukovanje rezultirajućim semantičkim integritetom.

Nasljeđivanje objektno orijentirane baze podataka organizacije omogućuje da se klasa definira kao podklasa već postojeće nadklase. On će naslijediti sve atribute i metode od potonjeg i može opcijski definirativlastiti. Ovaj koncept je važan mehanizam za podršku ponovne upotrebe. Isti dijelovi strukture dviju različitih klasa mogu se definirati samo jednom u zajedničkoj nadklasi, tako da će biti napisano manje koda. Postoje neki sustavi koji dopuštaju da klasa bude podklasa više od jedne nadklase. Ova se značajka naziva višestruko nasljeđivanje za razliku od pojedinačnog nasljeđivanja.

Primjer objektno orijentirane baze podataka

Često je korisno koristiti isto ime za različite, ali slične metode medijske superklase iz razreda slika i videa. Mnoge datoteke mogu pregledavati različiti gledatelji. Često trebaju pregledati sve fotografije i video zapise metodom "pregled" te se mora pokrenuti odgovarajući program. Kada se pozove funkcija i prenese veza na video, pokreće se media player. Za implementaciju ove značajke, prije svega, potrebno je definirati operaciju "prezentacije" u zajedničkoj medijskoj superklasi iz razreda slike i videa. Svaka od podklasa redefinira operaciju traženja za svoje specifične potrebe. To rezultira različitim metodama koje imaju isti naziv operacije. U ovom slučaju korištenje ove funkcije ima važnu prednost.

OODB struktura

OODB struktura
OODB struktura

Objektno orijentirana paradigma temelji se na kapsuliranju podataka i koda koji se odnose na svaki objekt u jednom modulu. Konceptualno, sve interakcije između njega i ostatka sustava provode se pomoću poruka. Stoga sučeljeizmeđu njih određuje dopušteni skup.

Općenito, svaki objekt je povezan sa skupom:

  1. Varijable koje sadrže podatke o objektu i odgovaraju atributima ER modela.
  2. Poruke na koje on odgovara. Svaki može imati ili ne mora imati parametre, jedan ili više.
  3. Metode, od kojih je svaka kod koji implementira poruke i vraća vrijednost kao odgovor na nju.

Poruke u OO okruženju ne podrazumijeva korištenje fizičkog SMS-a u računalnim mrežama. Naprotiv, odnosi se na razmjenu zahtjeva između objekata, bez obzira na točne detalje njihove implementacije. Ponekad izraz poziva metodu da pokrene činjenicu da je poruka poslana objektu i koristi izvršenje odgovarajuće metode.

Identitet objekta

Identitet objekta
Identitet objekta

Objektno orijentirani sustav baze podataka pruža jedinstvenu identifikaciju za svaki neovisni objekt pohranjen u bazi podataka. Obično se implementira pomoću jedinstvenog identifikatora objekta ili OID-a koji generira sustav. OID vrijednost je nevidljiva vanjskom korisniku, ali je sustav interno koristi za upravljanje vezama između objekata.

Glavno svojstvo OID-a je da bude nepromjenjiv. OID vrijednost za određeni objekt nikada se ne smije mijenjati. Time se čuva identitet stvarnog svijeta koji se predstavlja. Također je poželjno da se svaki OID koristi samo jednom, čak i ako je uklonjen iz baze podataka, njegov OID ne bi trebao biti dodijeljen drugom. Također se često smatra neprikladnim temeljiti se na fizičkomadresu objekta u pohrani, budući da njihova reorganizacija u bazi podataka može promijeniti OID. Međutim, neki sustavi koriste fizičku adresu kao OID za povećanje učinkovitosti dohvaćanja objekata. Objektno orijentirani okvir automatski nameće relacijska ograničenja, obično primjenjivija: domena, ključ, integritet objekta i referentni integritet.

Tri glavna konstruktora

Tri glavna konstruktora
Tri glavna konstruktora

U OODB-u, vrijednosti ili stanja složenih objekata mogu se kreirati iz drugih pomoću konstruktora određenih tipova. Jedan od načina da ih predstavite je razmišljanje o svakom kao o trojku (i, c, v), gdje je i jedinstveni identifikator objekta (OID), c je konstruktor, odnosno pokazivač na to kako je vrijednost objekta stvoreno, a v je vrijednost ili stanje objekta. Može postojati više konstruktora ovisno o modelu podataka i OO sustavu.

Tri osnovna objektno orijentirana konstruktora baze podataka:

  • atomi;
  • torke;
  • setovi.

Druge uobičajene upotrebe su popisi i grafikoni. Tu je i D domena, koja sadrži sve osnovne atomske vrijednosti izravno dostupne u sustavu. Oni obično uključuju cijele brojeve, realne brojeve, nizove znakova, datume i bilo koju drugu vrstu podataka s kojima sustav izravno rukuje. I struktura objekata i operacija uključeni su u definicije klasa.

Kompatibilnost s programskim jezicima

Upotrebljavaju se temeljni koncepti objektno orijentiranih baza podatakakao alati za dizajn i kodificirani za rad s bazom podataka.

Postoji nekoliko mogućih jezika u koje se ovi koncepti mogu integrirati:

  1. Proširivanje jezika za obradu podataka kao što je SQL dodavanjem složenih tipova i OOP-a. Sustavi pružaju objektno orijentirana proširenja relacijskim sustavima, koja se nazivaju objektno orijentirani relacijski sustavi.
  2. Upotreba postojećeg objektno orijentiranog programskog jezika i njegovo proširenje za rad s bazama podataka. Zovu se trajni programski jezici i omogućuju programerima da rade izravno s podacima bez potrebe za jezikom za obradu podataka kao što je SQL. Zovu se trajni jer podaci nastavljaju postojati nakon završetka programa koji ih je stvorio.

Kada odlučujete koju opciju koristiti, imajte na umu da su trajni jezici obično moćni i da je relativno lako napraviti programske pogreške koje oštećuju bazu podataka. Složenost jezika otežava automatske optimizacije visoke razine, kao što je smanjenje I/O diska. U mnogim je aplikacijama važna mogućnost postavljanja deklarativnih upita, ali postojani jezici trenutačno ne dopuštaju takve upite bez problema.

Hijerarhija vrsta nasljeđivanja

Objektno orijentirane sheme baze podataka obično zahtijevaju veliki broj klasa. Međutim, nekoliko je klasa međusobno slično. Da biste omogućili izravan prikaz sličnosti među njima, trebate stavitiih u hijerarhiju specijalizacija. Ovaj koncept je sličan modelima hitne pomoći. Specijalizacije klase nazivaju se podklase, koje definiraju dodatne atribute i metode za postojeću klasu. Objekti stvoreni s podklasama nasljeđuju sve od roditelja. Neke od ovih naslijeđenih karakteristika možda su i same posuđene od onih više u hijerarhiji.

Objekti se smatraju složenim jer zahtijevaju veliku količinu prostora za pohranu i nisu dio standardnih tipova podataka koje obično nudi objektno orijentirano upravljanje bazom podataka (OODBS). Budući da je veličina objekata značajna, SOOBMS može primiti dio objekta i dati ga aplikaciji prije nego što preuzme cijeli objekt. Također može koristiti metode međuspremnika i predmemorije za dobivanje dijelova objekta prije vremena, prije nego im aplikacija može pristupiti.

OODB omogućuje korisnicima stvaranje novih tipova koji uključuju i strukturu i operacije, u ovom slučaju sustav proširivih tipova. Možete stvoriti knjižnice novih tipova definiranjem njihove strukture i operacija. Mnogi od njih mogu pohraniti i primiti veliki strukturirani objekt u obliku nizova i znakova ili bitova, koji se prosljeđuju "kao što jesu" aplikacijskom programu radi interpretacije.

Metoda može izravno pristupiti atributima ciljnog objekta po imenu, uključujući sve naslijeđene od roditeljskih klasa, ali mora pristupiti atributima drugih objekata sa sekundarnim signalima. Koncept vam omogućuje da povežete isti naziv operatora ili simboldvije ili više različitih implementacija, ovisno o vrsti objekata na koje se odnosi.

Izrada aplikacija

Izrada aplikacije
Izrada aplikacije

Mnoge aplikacije baze podataka koje koriste OO sustave zahtijevaju više verzija istog objekta. Aktivnosti održavanja obično se primjenjuju na softverski sustav kako se mijenjaju njihovi zahtjevi i uključuje promjenu nekih modula razvoja i implementacije. Ako je sustav već pokrenut i ako je potrebno promijeniti jedan ili više modula, programer mora izraditi novu verziju svakog od njih unosom promjena.

Napominjemo da može postojati više od dvije verzije objekta, u slučaju da su potrebne dvije uz izvorni modul. Vlastite verzije istog softverskog modula mogu se ažurirati u isto vrijeme. To se zove paralelni objektno orijentirani dizajn baze podataka. Međutim, uvijek dođe do točke u kojoj ih je potrebno spojiti kako bi hibridni OODB uključio promjene koje su napravljene kako bi bile kompatibilne.

Objektno orijentirani uvjeti

Svi računalni sustavi moraju imati svojstva svoje arhitekture da bi se uzeli u obzir. Na primjer, sustav mora imati tablice da bi se smatrao relacijskim. OODB nije iznimka i sadrži neka osnovna svojstva arhitekture objekta. Međutim, u stvarnom svijetu mnoga od ovih svojstava se raspravljaju, a neka se, poput višestrukog nasljeđivanja, smatraju poboljšanjima objektno orijentiranog modela baze podataka, a nekao dio osnovne linije. Na primjer, u objektno orijentiranom jeziku Smalltalk višestruko nasljeđivanje nije podržano, iako se smatra dijelom arhitekture objekta.

Metode za klasu definiraju skup operacija koje se mogu izvesti na objektu. Na primjer, kada se primjenjuje na objekt, on ili vraća vrijednost ili izvodi neku operaciju za ažuriranje vrijednosti. Ponekad ga metode ne vraćaju. Ako je metoda dizajnirana za ažuriranje broja putnika za vozilo, ne bi se vratila nikakva vrijednost, ali bi je element podataka u cilju promijenio.

Objekti su temeljni koncept u OODB-u. U suštini, objekti su apstraktni prikaz stvari iz stvarnog svijeta koje su u njemu pohranjene. Objekt je instanca klase u smislu da je isključen iz njezine definicije.

O objektu možete razmišljati kao o samostalnom paketu koji ima tri dijela:

  1. Vlastite osobne podatke, vrijednosti podataka.
  2. Privatne procedure koje će manipulirati vrijednostima kroz definiciju klase.
  3. Otvorite sučelje tako da ovaj objekt može komunicirati s drugima.

OODB primjeri

Upotreba OODB-a pojednostavljuje konceptualizaciju jer je prirodnije predstavljati informacije koje je potrebno pohraniti. Za modeliranje strukture ili logike baze podataka, korištenje dijagrama klasa omogućuje vam uvođenje klasa s njihovim strukturnim odnosima i nasljeđivanjem. Kako bi se modelirao dio dinamike, interakcije iponašanja između objekata, dijagram slijeda će se koristiti za predstavljanje interakcije između objekata koji se nalaze u privremenom odnosu, opisujući moguća stanja tako da se mogu pronaći s obzirom na promijenjeno stanje nakon što se događaj dogodi.

OODB primjeri
OODB primjeri

Primjer objektno orijentirane baze podataka prikazan je ispod.

Primjeri objektno orijentiranih baza podataka
Primjeri objektno orijentiranih baza podataka

Imaju ime i životni vijek, što može biti privremeno ili trajno. OODB ključ je mogućnost koju daju razvojnom programeru da specificira koliko će se struktura i operacija primijeniti na njih. Postoji fleksibilnost i podrška za rukovanje složenim tipovima podataka. Možete kreirati klase i podklase, na primjer, baza klijenata može imati podklasu ove klijentove veze, i ona će naslijediti sve atribute i karakteristike izvorne klase, ovaj pristup vam omogućuje brzu i fleksibilnu obradu složenih podataka.

Preporučeni: