V objektno usmerjenih bazah podatkov (OODB) lahko uporabniki nastavijo operacije na določeni bazi podatkov, ki je sestavljena iz objektov, ki so lahko različnih vrst in za katere so nastavljene operacije. Učinkovito lahko obdelujejo binarne informacije, kot so multimedijski objekti. Druga dodatna prednost OODB je, da ga je mogoče programirati z rahlimi proceduralnimi razlikami, ne da bi to vplivalo na celoten sistem.
Predpogoji za izdelavo standarda
Zgodovina objektno usmerjenih baz podatkov OODB se začne konec prejšnjega stoletja. Ustvarjeni so bili za potrebe novih aplikacij. Predpostavka je bila, da bodo objektno usmerjene baze podatkov v devetdesetih letih prejšnjega stoletja spremenile programske sisteme. Zdaj je jasno, da temu ni tako. Vendar pa oživitev tega koncepta prek skupnosti proste programske opreme in identifikacija ustreznih aplikacij zanj motivira pregled značilnostiOODB, ki je alternativa vseprisotnim relacijskim bazam podatkov.
Objektno usmerjeno zagotavlja prilagodljivost za obravnavo nekaterih ali vseh zahtev in ni omejeno na tipe podatkov in jezike poizvedb tradicionalnih baz podatkov. Ključna značilnost OODB-jev je zmožnost, ki jo nudijo razvijalcu, ki mu omogoča, da določi tako strukturo kompleksnih objektov kot operacijske aplikacije. Drug razlog za ustvarjanje OODB je vse večja uporaba jezikov za razvoj programske opreme.
Baze podatkov so postale temelj številnih informacijskih sistemov, vendar je tradicionalne baze podatkov težko uporabljati, če so aplikacije, ki dostopajo do njih, napisane v C++, Smalltalk ali Javi. Na primer, objektno usmerjene baze podatkov 1C so bile zasnovane tako, da jih je mogoče neposredno integrirati z aplikacijami, ki uporabljajo objektno usmerjene jezike s sprejetjem njihovih konceptov: Visual Studio. Net, C ++, C, Microsoft SQL Server in drugi.
Glavna prednost OODB je popolna odprava potrebe po RMs1 (impedanca) z naknadnimi izboljšavami zmogljivosti.
Pomanjkljivosti:
- Zelo primitivni posvetovalni mehanizmi, brez samostandardno sprejete platforme.
- Procedure ni mogoče shraniti, ker je do predmetov mogoče dostopati samo v odjemalcu.
- Nezrelost na trgu.
- Brez fizičnega združevanja predmetov.
Objektna paradigma
Objektno usmerjene baze podatkov so programabilne baze podatkov, ki shranjujejo kompleksne podatke in njihove odnose neposredno brez dodeljevanja vrstic in stolpcev, zaradi česar so bolj primerne za aplikacije, ki delujejo z velikimi serijami. Objekti imajo relacije veliko proti mnogo in so dostopni z uporabo kazalcev, ki so z njimi povezani za vzpostavitev odnosov. Kot vsak programljiv, OODB zagotavlja okolje za razvoj aplikacij in trajno skladišče, pripravljeno za uporabo. Shranjuje in manipulira z informacijami, ki jih je mogoče digitalizirati v obliki predmetov, zagotavlja hiter dostop in zagotavlja odlične zmogljivosti obdelave.
Osnovni koncepti, uporabljeni v objektno usmerjeni bazi podatkov:
- identiteta predmeta;
- vrsta konstruktorja;
- jezikovna združljivost;
- hierarhije in dedovanje;
- obdelava kompleksnih predmetov;
- polimorfizem in preobremenitev operaterja;
- ustvarjanje različic.
Da bi v celoti upoštevali vse vidike, ki so značilni za objektno usmerjeno bazo podatkov, je pomembno upoštevati vse pomembne paradigme objektov:
- Encapsulation je lastnost, ki vam omogoča, da skrijete informacije za druge objekte in s tem preprečite napačen dostop ali konflikte.
- Dedovanje je lastnost, s katero predmeti podedujejo vedenje v hierarhiji razredov.
- Polimorfizem je lastnost operacije, s katero jo je mogoče uporabitirazlične vrste predmetov.
- Vmesnik ali podpis operacije vključuje ime in vrste podatkov njenih argumentov ali parametrov.
- Izvedba ali metoda operacije je določena ločeno in jo je mogoče spremeniti, ne da bi to vplivalo na vmesnik. Uporabniške aplikacije lahko delajo s podatki tako, da pokličejo določene operacije prek njihovih imen in argumentov, ne glede na to, kako so bile implementirane.
Razredi in funkcionalnost
Ko razmišljamo o konceptu razredov v OODB, je treba razlikovati med izrazoma "razred" in "tip". Tip se uporablja za opis niza predmetov s podobnim obnašanjem. V tem smislu je odvisno od tega, katere operacije je mogoče poklicati na objektu. Razred je zbirka predmetov, ki si delijo isto notranjo strukturo, tako da definira implementacijo, medtem ko tip opisuje, kako jo uporabljati.
Izraz instanciacija se nanaša na dejstvo, da se lahko instanciranje razreda uporabi za izdelavo niza predmetov, ki imajo enako strukturo in obnašanje, kot jih je nastavil razred.
Značilnost, ki je zelo pomembna za razvoj objektov, je, da lahko spreminja svoj razred, vključno z atributi in operacijami, pri tem pa ohranja identiteto. To bi zahtevalo mehanizem za obdelavo nastale semantične celovitosti.
Dedovanje objektno usmerjene baze podatkov organizacije omogoča, da se razred definira kot podrazred že obstoječega nadrazreda. Od slednjega bo podedoval vse atribute in metode in lahko po želji definiralastno. Ta koncept je pomemben mehanizem za podporo ponovne uporabe. Iste dele strukture dveh različnih razredov je mogoče definirati samo enkrat v skupnem nadrazredu, zato bo napisanega manj kode. Nekateri sistemi omogočajo, da je razred podrazred več kot enega nadrazreda. Ta funkcija se imenuje večkratno dedovanje v nasprotju z enojnim dedovanjem.
Primer objektno usmerjene baze podatkov
Pogosto je koristno uporabiti isto ime za različne, a podobne metode medijskega nadrazreda iz slikovnih in video razredov. Veliko datotek si lahko ogledajo različni gledalci. Pogosto si morajo ogledati vse fotografije in video posnetke z metodo »ogled«, pri čemer je treba zagnati ustrezen program. Ko pokličete funkcijo in je posredovana povezava do videoposnetka, se zažene medijski predvajalnik. Za implementacijo te funkcije je najprej treba definirati operacijo "predstavitve" v skupnem medijskem nadrazredu iz razredov slike in videa. Vsak od podrazredov na novo definira operacijo iskanja za svoje posebne potrebe. Posledica tega so različne metode, ki imajo isto ime operacije. V tem primeru ima uporaba te funkcije pomembno prednost.
OODB struktura
Objektno usmerjena paradigma temelji na inkapsulaciji podatkov in kode, povezane z vsakim objektom, v en sam modul. Konceptualno se vse interakcije med njim in ostalim sistemom izvajajo s pomočjo sporočil. Zato vmesnikmed njima je določen z dovoljenim nizom.
Na splošno je vsak predmet povezan z nizom:
- Spremenljivke, ki vsebujejo podatke o objektu in ustrezajo atributom modela ER.
- Sporočila, na katera odgovarja. Vsak ima lahko ali pa tudi ne parametrov, enega ali več.
- Metode, od katerih je vsaka koda, ki izvaja sporočila in vrne vrednost kot odgovor nanjo.
Sporočila v okolju OO ne pomenijo uporabe fizičnega SMS-a v računalniških omrežjih. Nasprotno, nanaša se na izmenjavo zahtev med objekti, ne glede na pravilne podrobnosti njihove izvedbe. Včasih izraz pokliče metodo, da sproži dejstvo, da je bilo sporočilo poslano predmetu, in uporabi izvedbo ustrezne metode.
Identiteta predmeta
Objektno usmerjen sistem baze podatkov zagotavlja edinstveno identifikacijo za vsak neodvisen objekt, shranjen v bazi podatkov. Običajno se izvaja z uporabo sistemsko ustvarjenega edinstvenega identifikatorja predmeta ali OID. Vrednost OID je zunanjemu uporabniku nevidna, vendar jo sistem uporablja interno za upravljanje povezav med objekti.
Glavna lastnost OID-a je, da je nespremenljiv. Vrednost OID za določen predmet se ne sme nikoli spremeniti. To ohranja identiteto predstavljenega resničnega sveta. Prav tako je zaželeno, da se vsak OID uporabi samo enkrat, tudi če je odstranjen iz baze podatkov, se njegov OID ne sme dodeliti drugemu. Prav tako se pogosto šteje, da je neprimerno temeljiti na fizičnemnaslov predmeta v shrambi, saj lahko njihova reorganizacija v bazi podatkov spremeni OID. Vendar pa nekateri sistemi uporabljajo fizični naslov kot OID za povečanje učinkovitosti pridobivanja predmetov. Objektno usmerjen okvir samodejno naloži relacijske omejitve, ki so običajno bolj uporabne: domena, ključ, celovitost objekta in referenčna celovitost.
Tri glavni konstruktorji
V OODB je mogoče vrednosti ali stanja kompleksnih objektov ustvariti iz drugih z uporabo konstruktorjev določenih tipov. Eden od načinov, kako jih predstaviti, je, da si vsak predstavljamo kot trojček (i, c, v), kjer je i edinstveni identifikator objekta (OID), c je konstruktor, to je kazalec na to, kakšna je vrednost predmeta ustvarjeno, v pa je vrednost ali stanje predmeta. Odvisno od podatkovnega modela in sistema OO je lahko več konstruktorjev.
Tri osnovni objektno usmerjeni konstruktorji baze podatkov:
- atomi;
- tuples;
- kompleti.
Druge pogostejše uporabe so seznami in grafikoni. Obstaja tudi domena D, ki vsebuje vse osnovne atomske vrednosti, ki so neposredno na voljo v sistemu. Običajno vključujejo cela števila, realna števila, nize znakov, datume in vse druge vrste podatkov, ki jih sistem obravnava neposredno. Tako struktura objektov kot operacij sta vključena v definicije razredov.
Združljivost s programskimi jeziki
Osnovni koncepti objektno usmerjenih baz podatkov so uporabljeni vkot orodja za načrtovanje in kodificirano za delo z bazo podatkov.
Obstaja več možnih jezikov, v katere je mogoče integrirati te koncepte:
- Razširitev jezika za obdelavo podatkov, kot je SQL, z dodajanjem kompleksnih tipov in OOP. Sistemi zagotavljajo objektno usmerjene razširitve relacijskih sistemov, imenovane objektno usmerjeni relacijski sistemi.
- Uporaba obstoječega objektno usmerjenega programskega jezika in njegova razširitev za delo z bazami podatkov. Imenujejo se trajni programski jeziki in omogočajo razvijalcem, da neposredno delajo s podatki, ne da bi morali iti skozi jezik za obdelavo podatkov, kot je SQL. Imenujejo se trajni, ker podatki še naprej obstajajo po koncu programa, ki jih je ustvaril.
Ko se odločate, katero možnost uporabiti, ne pozabite, da so obstojni jeziki ponavadi zmogljivi in da je relativno enostavno narediti programske napake, ki poškodujejo bazo podatkov. Zapletenost jezikov otežuje samodejne optimizacije na visoki ravni, kot je zmanjševanje V/I diska. V mnogih aplikacijah je zmožnost izdelave deklarativnih poizvedb pomembna, vendar trajni jeziki trenutno ne dovoljujejo takšnih poizvedb brez težav.
Hierarhija vrst dedovanja
Objektno usmerjene sheme baz podatkov običajno zahtevajo veliko število razredov. Vendar je več razredov podobnih drug drugemu. Če želite omogočiti neposredno predstavitev podobnosti med njimi, morate vstavitijih v hierarhijo specializacij. Ta koncept je podoben modelom ER. Specializacije razreda se imenujejo podrazredi, ki definirajo dodatne atribute in metode za obstoječi razred. Objekti, ustvarjeni s podrazredi, podedujejo vse od nadrejenega. Nekatere od teh podedovanih lastnosti so bile morda same izposojene od tistih, ki so višje v hierarhiji.
Objekti veljajo za zapletene, ker zahtevajo veliko prostora za shranjevanje in niso del standardnih tipov podatkov, ki jih običajno ponuja objektno usmerjeno upravljanje baz podatkov (OODBS). Ker je velikost objektov pomembna, lahko SOOBMS prejme del predmeta in ga posreduje aplikaciji, preden pridobi celoten objekt. Prav tako lahko uporablja metode medpomnilnika in predpomnilnika, da prejme dele predmeta, preden lahko aplikacija dostopa do njih.
OODB uporabnikom omogoča ustvarjanje novih tipov, ki vključujejo tako strukturo kot operacije, v tem primeru sistem razširljivih tipov. Knjižnice novih tipov lahko ustvarite tako, da določite njihovo strukturo in delovanje. Mnogi od njih lahko shranijo in sprejmejo velik strukturiran objekt v obliki nizov in znakov ali bitov, ki se pošljejo "kot so" v aplikacijski program za interpretacijo.
Metoda lahko neposredno dostopa do atributov ciljnega predmeta po imenu, vključno z vsemi podedovanimi od nadrejenih razredov, vendar mora dostopati do atributov drugih objektov s sekundarnimi signali. Koncept vam omogoča, da povežete isto ime operaterja ali simboldve ali več različnih izvedb, odvisno od vrste objektov, na katere se nanaša.
Izdelava aplikacij
Številne aplikacije baz podatkov, ki uporabljajo OO sisteme, zahtevajo več različic istega predmeta. Običajno se vzdrževalne dejavnosti uporabljajo za programski sistem, ko se spreminjajo njihove zahteve, in vključuje spremembo nekaterih razvojnih in implementacijskih modulov. Če sistem že deluje in če je treba spremeniti enega ali več modulov, mora razvijalec ustvariti novo različico vsakega od njih s spremembami.
Upoštevajte, da sta lahko več kot dve različici predmeta, če sta poleg izvirnega modula potrebni še dve. Istočasno je mogoče posodobiti lastne različice istega programskega modula. Temu pravimo vzporedno objektno usmerjeno oblikovanje baze podatkov. Vendar pa vedno pride točka, ko jih je treba združiti, da hibridni OODB vključi spremembe, ki so bile narejene, tako da so združljive.
Objektno usmerjeni pogoji
Vsi računalniški sistemi morajo imeti lastnosti svoje arhitekture, da jih je treba upoštevati. Na primer, sistem mora imeti tabele, da se šteje za relacijske. OODB ni izjema in vsebuje nekaj osnovnih lastnosti objektne arhitekture. Vendar se v resničnem svetu o mnogih od teh lastnosti razpravlja in nekatere, kot je večkratno dedovanje, se štejejo za izboljšave objektno usmerjenega modela baze podatkov in nekot del izhodišča. Na primer, v objektno usmerjenem jeziku Smalltalk večkratno dedovanje ni podprto, čeprav se šteje za del objektne arhitekture.
Metode za razred definirajo nabor operacij, ki jih je mogoče izvesti na objektu. Na primer, ko se uporabi za predmet, bodisi vrne vrednost ali izvede neko operacijo za posodobitev vrednosti. Včasih ga metode ne vrnejo. Če bi bila metoda zasnovana za posodobitev števila potnikov za vozilo, ne bi bila vrnjena nobena vrednost, vendar bi jo podatkovni element v cilju spremenil.
Objekti so temeljni koncept v OODB. V bistvu so predmeti abstraktna predstavitev stvari iz resničnega sveta, ki so v njem shranjene. Objekt je primerek razreda v smislu, da je izključen iz njegove definicije.
Predmet si lahko predstavljate kot samostojen paket, ki ima tri dele:
- Lasti osebni podatki, vrednosti podatkov.
- Zasebni postopki, ki bodo manipulirali z vrednostmi prek definicije razreda.
- Odpri vmesnik, tako da lahko ta predmet komunicira z drugimi.
primeri OODB
Uporaba OODB poenostavlja konceptualizacijo, ker je bolj naravno predstavljati informacije, ki jih je treba shraniti. Za modeliranje strukture ali logike baze podatkov vam uporaba razrednih diagramov omogoča, da uvedete razrede z njihovimi strukturnimi odnosi in dedovanjem. Za modeliranje dela dinamike, interakcije inobnašanje med objekti, bo uporabljen diagram zaporedja za predstavitev interakcije med objekti, ki se nahajajo v začasnem razmerju, ki opisuje možna stanja, tako da jih je mogoče najti glede na spremenjeno stanje po nastopu dogodka.
Primer objektno usmerjene baze podatkov je prikazan spodaj.
Imajo ime in življenjsko dobo, ki je lahko začasna ali trajna. Ključ OODB je zmožnost, ki jo zagotovijo razvijalcu, da določi, koliko struktur in operacij bo uporabljenih zanje. Obstaja prilagodljivost in podpora za ravnanje s kompleksnimi vrstami podatkov. Ustvarite lahko razrede in podrazrede, na primer baza odjemalcev ima lahko podrazred te odjemalčeve povezave in bo podedovala vse atribute in značilnosti prvotnega razreda, ta pristop vam omogoča hitro in fleksibilno obdelavo kompleksnih podatkov.