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

U objektno orijentiranim bazama podataka (OOBD) korisnici mogu postaviti operacije na određenu bazu podataka koja se sastoji od objekata, što može biti najrazličitije vrste i za koje su instalirane operacije. Oni mogu učinkovito obraditi binarne informacije, poput multimedijskih objekata. Još jedna dodatna prednost OOBD-a je ta što se može programirati s malim proceduralnim razlikama bez utjecaja na cijeli sustav.

Preduvjeti za stvaranje standarda

Povijest oobd objektno orijentirane baze podataka počinje krajem prošlog stoljeća. Stvoreni su kako bi zadovoljili potrebe novih aplikacija. S obzirom na to, objektno orijentirane baze podataka trebale su revolucionirati softverske sustave tijekom 90-ih. Trenutno je jasno da to nije slučaj. Međutim, oživljavanje ovog koncepta kroz zajednice slobodnog softvera i identificiranje odgovarajućih aplikacija za njega motivira reviziju karakteristika OOBD-a kao alternative sveprisutnim relacijskim bazama podataka.

Preduvjeti za stvaranje standarda

Objektno orijentirano pruža fleksibilnost za rukovanje nekim ili svim zahtjevima i nije ograničeno na vrste podataka i jezike upita tradicionalnih DB-ova. Ključna značajka OOBD-a je sposobnost koju pružaju programeru, omogućujući mu da navede i strukturu složenih objekata i operacije primjene. Još jedna uzrok stvaranja OOBD je sve veća upotreba jezika za razvoj softvera.

Baze podataka postale su temeljni temelji mnogih informacijskih sustava, ali tradicionalne DB-ove teško je koristiti kada su aplikacije koje im pristupaju napisane na jeziku apa ++, apa ili APA. Na primjer, objektno orijentirane baze podataka 1C dizajnirane su tako da se mogu izravno integrirati s aplikacijama koje koriste objektno orijentirane jezike usvajanjem njihovih koncepata:.IAS,IAS++, IAS#, IAS i drugi.

Glavna prednost OOBD-a je potpuno uklanjanje potrebe za Aima1 (impedancija) s posljedičnim poboljšanjem performansi.

Glavna prednost OOBD-a

Nedostaci:

  1. Vrlo primitivni mehanizmi savjetovanja, bez neovisnog standarda prihvaćene platforme.
  2. Nemogućnost pohranjenih procedura jer se objekti mogu vidjeti samo u klijentu.
  3. Nezrelost na tržištu.
  4. Nema fizičkog grupiranja objekata.

Paradigma objekta

Paradigma objekta

Objektno orijentirane baze podataka su programabilni DB koji izravno pohranjuje složene podatke i njihove odnose, bez dodjeljivanja redaka i stupaca, što ih čini prikladnijima za aplikacije koje rade s velikim paketima. Objekti imaju odnose "mnogi prema mnogima" i dostupni su pomoću pokazivača koji su s njima povezani za uspostavljanje odnosa. Kao i svaki programabilni, OOBD pruža okruženje za razvoj aplikacija i trajno spremište spremno za rad. Pohranjuje i manipulira informacijama koje se mogu digitalizirati kao objekti, omogućuje brz pristup i pruža velike mogućnosti obrade.

Osnovni pojmovi koji se koriste u objektno orijentiranoj bazi podataka:

  • identitet predmeta;
  • vrsta konstruktora;
  • Kompatibilnost jezika;
  • hijerarhije tipova i nasljeđivanja;
  • rukovanje složenim objektima;
  • polimorfizam i preopterećenje operatora;
  • izrada verzija.
Izrada verzija

Da bismo u potpunosti razmotrili sve aspekte, koji su pojmovi karakteriziraju objektno orijentiranu bazu podataka, važno je napomenuti sve važne paradigme objekta:

  1. Enkapsulacija-svojstvo koje vam omogućuje skrivanje podataka za ostale objekte, čime se sprječava pogrešan pristup ili sukobi.
  2. Nasljeđivanje-svojstvo kojim objekti nasljeđuju ponašanje u hijerarhiji klasa.
  3. Polimorfizam-svojstvo operacije pomoću koje se može primijeniti na različite vrste objekata.
  4. Sučelje ili potpis operacije uključuje naziv i vrste podataka njezinih argumenata ili parametara.
  5. Implementacija ili metoda operacije navedena je zasebno i može se mijenjati bez utjecaja na sučelje. Prilagođeni aplikacijski programi mogu raditi na podacima pozivanjem navedenih operacija putem njihovih imena i argumenata, bez obzira na način na koji su implementirani.

Klase i funkcionalnost

Klase i funkcionalnost

Uzimajući u obzir koncept klasa u OOBD-u, morate razlikovati pojmove "klasa" i "tip". Tip se primjenjuje za opisivanje skupa objekata sličnog ponašanja. U tom smislu ovisi o tome koje se operacije mogu pozvati na objektu. Klasa je skup objekata koji imaju istu unutarnju strukturu, pa definira implementaciju, a tip opisuje način korištenja.

Izraz "instanciranje" cilja na činjenicu da se konkretizacija klase može primijeniti na formiranje skupa objekata koji imaju istu strukturu i ponašanje koje postavlja klasa.

Značajka, što je vrlo važno za evoluciju objekata je da može promijeniti svoju klasu, uključujući atribute i operacije, zadržavajući identitet. To bi zahtijevalo mehanizam za rukovanje semantičkim integritetom u nastajanju.

Nasljeđivanje objektno orijentirane baze podataka organizacije omogućuje vam definiranje klase kao podrazreda već postojeće superklase. Naslijedit će sve atribute i metode od potonjeg i može dalje definirati svoje. Ovaj je koncept važan mehanizam za podršku ponovnoj upotrebi. Identični dijelovi strukture dviju različitih klasa mogu se definirati samo jednom u zajedničkoj superklasi, tako da će biti napisano manje koda. Postoje neki sustavi koji omogućuju da Klasa bude podrazred u više od jedne superklase. 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 isti naziv za različite, ali slične metode superklase iz klase Ace i ACE. Mnoge datoteke mogu pregledavati različiti gledatelji. Često imaju potrebu pregledati sve fotografije i videozapise metodom "pogled" i mora se pokrenuti odgovarajući program. Pozivanje funkcije i prosljeđivanje video veze pokreće medijski uređaj. Da bi se ostvarila ova mogućnost, prije svega, mora se definirati operacija "reprezentacija" u općoj superklasi od Ace i ACE. Svaka od potklasa nadjačava operaciju pregledavanja za svoje specifične potrebe. To rezultira različitim metodama koje imaju isti naziv operacije. U ovom slučaju, korištenje ove značajke ima važnu prednost.

Struktura OOBD-a

Struktura OOBD-a

Objektno orijentirana paradigma temelji se na enkapsulaciji podataka i koda koji se odnose na svaki objekt u jednom modulu. Konceptualno, sve interakcije između njega i ostatka sustava provode se putem poruka. Stoga je sučelje između njih definirano dopuštenim skupom.

Općenito, svaki je objekt povezan sa skupom:

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

Poruka u oo okruženju ne podrazumijeva upotrebu fizičkog SMS-a u računalnim mrežama. Naprotiv, odnosi se na razmjenu upita između objekata bez obzira na točne detalje njihove implementacije. Ponekad izraz poziva metodu da pokrene činjenicu slanja poruke objektu i koristi izvršavanje odgovarajuće metode.

Identitet predmeta

Identitet predmeta

Objektno orijentirani sustav Baza podataka pruža jedinstvenu identifikaciju svakom neovisnom objektu pohranjenom u bazi podataka. Obično se implementira pomoću jedinstvenog identifikatora objekta generiranog sustavom ili od strane A. S. Vrijednost interneta nevidljiva je vanjskom korisniku, ali sustav je interno koristi za upravljanje referencama između objekata.

Glavno svojstvo interneta je biti nepromjenjiv. Značenje koje se odnosi na 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 od njih koristi samo jednom, čak i ako je uklonjen iz baze podataka, njegov se ne smije dodijeliti drugom. Također se često smatra neprimjerenim temeljiti ga na fizičkoj adresi objekta u pohrani, jer bi njihovo reorganiziranje u DB moglo promijeniti oceane. Neki sustavi, međutim, koriste fizičku adresu kao A. S. kako bi povećali učinkovitost dohvaćanja objekata. Objektno orijentirana struktura automatski nameće relacijska ograničenja, obično primjenjivija: domena, ključ, integritet objekta i referentni integritet.

Tri glavna konstruktora

Tri glavna konstruktora

U OOBD-u se vrijednosti ili stanja složenih objekata mogu stvoriti od drugih pomoću konstruktora određenih vrsta. Jedan od načina za njihovo podnošenje sastoji se u tome da se smatra da je svaki, kao što je trojka (i, c, v), gdje je i - jedinstveni identifikator objekta (OID), c - konstruktor, tj. pokazatelj toga kako se stvara vrijednost objekta, a v je vrijednost ili stanja objekta. Ovisno o modelu podataka i oo sustavu, može postojati više konstruktora.

Tri glavna graditelja objektno orijentiranih Baza podataka:

  • atoma;
  • korice;
  • setovi.

Ostale općenitije upotrebe su popisi i sheme. Tu je i domena AIP-a koja sadrži sve glavne atomske vrijednosti dostupne izravno u sustavu. Obično uključuju cijele i stvarne brojeve, nizove znakova, datume i sve druge vrste podataka koje sustav izravno obrađuje. I struktura objekata i operacije uključeni su u definicije klasa.

Kompatibilnost s programskim jezicima

Osnovni koncepti objektno orijentirane baze podataka koriste se kao alati za dizajn i kodificiraju za rad s DB-om.

Postoji nekoliko mogućih jezika u kojima se ti pojmovi mogu integrirati:

  1. Proširivanje jezika za obradu podataka kao što su oceani dodavanjem složenih tipova i OOP-a. Sustavi pružaju objektno orijentirana proširenja za relacijske sustave, koja se nazivaju objektno orijentirani relacijski sustavi.
  2. Primijenite postojeći objektno orijentirani programski jezik i proširite ga za rad s bazama podataka. Oni se nazivaju konstantama programskim jezicima i omogućiti programerima da rade izravno s podacima, bez potrebe da prolaze kroz jezik za obrade podataka kao što su oceani. Nazivaju se trajnim jer podaci nastavljaju postojati nakon završetka programa koji ih je stvorio.

Kada odlučujete koju ćete opciju koristiti, morate imati na umu, da su trajni jezici općenito moćni i relativno je lako dopustiti programske pogreške koje oštećuju DB. Složenost jezika otežava automatsku optimizaciju na visokoj razini, poput smanjenja i / o diska. U mnogim je aplikacijama mogućnost deklarativnih upita od velike važnosti, ali trajni jezici trenutno ne dopuštaju takve upite bez problema.

Hijerarhija vrsta nasljeđivanja

Sheme objektno orijentiranih Baza podataka obično zahtijevaju velik broj klasa. Međutim, nekoliko klasa je međusobno slično.Da bi se omogućio izravan prikaz sličnosti među njima, bilo bi potrebno staviti ih u hijerarhiju specijalizacija. Ovaj je koncept sličan modelima u. Specijalizacije klase nazivaju se potklasama koje definiraju dodatne atribute i metode za postojeću klasu. Objekti stvoreni podklasama nasljeđuju sve od roditelja. Neke od ovih naslijeđenih karakteristika možda su i same posuđene od viših u hijerarhiji.

Objekti se smatraju složenim jer zahtijevaju značajno područje za pohranu i nisu dio standardnih tipova podataka koje obično nudi upravljanje objektno orijentiranim bazama podataka (Co-OBD). Budući da je veličina objekata značajna, KOOBD može dobiti dio objekta i pružiti ga aplikacijskom programu prije nego što primi cijeli objekt. A također može koristiti tehnike međuspremnika i predmemoriranja za dobivanje dijelova objekta unaprijed, prije nego što im aplikacijski program pristupi.

OOBD korisnicima omogućuje stvaranje novih vrsta koje uključuju sebe kao struktura i operacije, u ovom slučaju, je sustav proširivih tipova. Možete stvoriti nove vrste knjižnica definiranjem njihove strukture i operacija. Mnogi od njih mogu pohraniti i primiti opsežni strukturirani objekt u obliku nizova i znakova ili bitova koji prenose "kao što je"u aplikacijski program za tumačenje.

Metoda može izravno pristupiti atributima ciljnog objekta po imenu, uključujući sve naslijeđene od roditeljskih klasa, ali mora imati pristup atributima drugih objekata sa sekundarnim signalima. Koncept omogućuje povezivanje istog imena ili simbola operatora s dvije ili više različitih implementacija, ovisno o vrsti objekata na koje se primjenjuje.

Izrada aplikacija

Izrada aplikacija

Mnoge aplikacije baze podataka koje koriste oo sustave zahtijevaju više verzija istog objekta. Obično se aktivnosti održavanja primjenjuju na softverski sustav kako se njihovi zahtjevi mijenjaju, a uključuje promjenu nekih razvojnih i implementacijskih modula. Ako je sustav već pokrenut i ako je potrebno promijeniti jedan ili više modula, programer mora stvoriti novu verziju svakog od njih unošenjem promjena.

Treba napomenuti da mogu postojati više od dvije verzije objekta, u slučaju da su uz izvorni modul potrebne i dvije. Izvorne verzije istog softverskog modula mogu se istovremeno ažurirati. To se naziva paralelni dizajn objektno orijentiranih Baza podataka. Međutim, uvijek postoji trenutak potrebe za njihovim kombiniranjem, tako da hibridni OOBD uključuje napravljene promjene bit će potrebno da budu kompatibilni.

Objektno orijentirani uvjeti

Svi računalni sustavi moraju imati svojstva svoje arhitekture da bi se mogli uzeti u obzir. Na primjer, sustav mora imati tablice da bi se smatrao relacijskim. OOBD nije iznimka i sadrži neka osnovna svojstva objektne arhitekture. Međutim, u stvarnom se svijetu raspravlja o mnogim od ovih svojstava, a neka se, poput višestrukog nasljeđivanja, tretiraju kao poboljšanja modela objektno orijentirana Baza podataka, a ne kao dio temeljne baze. Na primjer, u objektno orijentiranom jeziku a-line, višestruko nasljeđivanje nije podržano, čak i ako se smatra dijelom objektne arhitekture.

Metode za klasu definiraju skup operacija koje se mogu izvesti na objektu. Na primjer, kada se primijeni na objekt, vraća vrijednost ili izvodi neku operaciju za ažuriranje vrijednosti. Ponekad ga metode ne vraćaju. Ako je metoda razvijena za ažuriranje broja putnika za vozila, nijedna vrijednost ne bi se vratila, ali stavka podataka u cilju promijenila bi je.

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

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

  1. Vlastiti osobni podaci, vrijednosti podataka.
  2. Privatni postupci koji će manipulirati vrijednostima, kroz definiciju klase.
  3. Otvoreno sučelje kako bi ovaj objekt mogao komunicirati s drugima.

Primjeri OOBD-a

Korištenje OOBD-a olakšava konceptualizaciju jer je prirodnije predstaviti informacije koje treba zadržati. 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 i ponašanja između objekata, dijagram slijeda koristit će se za predstavljanje interakcije između objekata smještenih u vremenskoj vezi, opisujući moguća stanja, na takav način da mogu biti pronađeni s obzirom na promijenjeno stanje nakon što se događaj dogodi.

Primjeri OOBD-a

Primjer objektno orijentirane baze podataka predstavljen je u nastavku.

Primjeri objektno orijentirane baze podataka

Imaju ime i životni vijek koji može biti kratkotrajan ili trajan. Ključ OOBD-a je sposobnost koju pružaju programeru da odredi što više struktura i operacija primijenit će se na njih. Postoji fleksibilnost i podrška za rukovanje složenim vrstama podataka. Mogu se stvoriti klase i potklase, na primjer, baza klijenata može imati podrazred veze tog klijenta i naslijedit će sve atribute i karakteristike izvorne klase, ovaj pristup omogućuje brzo i fleksibilno obrađuje složene podatke.

Članci o toj temi