Objektno usmerjene podatkovne zbirke: koncept, osnovni koncepti, upravljanje, primeri

V objektno usmerjenih podatkovnih zbirkah (OODB) lahko uporabniki nastavijo operacije na določeni podatkovni zbirki, sestavljeni iz objektov, ki jih je mogoče različnih vrst podatkovnih zbirk vrst in za katere so bile vzpostavljene operacije. Učinkovito lahko obdelujejo binarne informacije, kot so večpredstavnostni predmeti. Dodatna prednost OODBMS je, da jo je mogoče programirati z manjšimi postopkovnimi razlikami, ne da bi to vplivalo na celoten sistem.

Predpostavka standarda

Zgodovina objektno usmerjenih podatkovnih zbirk OODB se je začela konec prejšnjega stoletja. Ustvarjeni so bili za potrebe novih aplikacij. Od objektno usmerjenih podatkovnih zbirk se je pričakovalo, da bodo v devetdesetih letih prejšnjega stoletja revolucionarno spremenile programske sisteme. Zdaj je jasno, da temu ni tako. Vendar je ponovni vzpon koncepta zaradi skupnosti proste programske opreme in prepoznavanja ustreznih aplikacij spodbudil ponoven razmislek o značilnostih OODBMS kot alternative vseprisotnim relacijskim podatkovnim bazam.

Predpostavka standarda

Objektna usmerjenost omogoča prožnost pri izpolnjevanju nekaterih ali vseh zahtev in ni omejena s podatkovnimi vrstami in jeziki poizvedb tradicionalnih podatkovnih zbirk. Ključna značilnost OODBMS je možnost, ki jo zagotavlja razvijalcu, saj mu omogoča, da določi strukturo kompleksnih objektov in delovanje aplikacije. Še en razlog za ustanovitev OOPD je vse pogostejša uporaba jezikov za razvoj programske opreme.

Podatkovne zbirke so postale temelj številnih informacijskih sistemov, vendar je tradicionalne podatkovne zbirke težko uporabljati, če so aplikacije, ki dostopajo do njih, napisane v jezikih C++, Smalltalk ali Java. Na primer, objektno usmerjene podatkovne zbirke iz podjetja 1C so bile razvite tako, da jih je bilo mogoče neposredno povezati z aplikacijami, ki uporabljajo objektno usmerjene jezike, in so prevzele njihove koncepte: Visual Studio.Net,C ++, C #, Microsoft SQL Server in drugi.

Glavna prednost OOPD je popolna odprava potrebe po RM1 (impedanca) in posledično izboljšanje zmogljivosti.

Glavna prednost OODBMS

Slabosti:

  1. Zelo osnovni mehanizmi posvetovanja brez samostojnega standarda, ki bi ga sprejela platforma.
  2. Nezmožnost uporabe shranjenih postopkov, saj je mogoče predmete pregledovati samo v odjemalcu.
  3. Nezrelost na trgu.
  4. Brez fizičnega združevanja predmetov.

Predmetna paradigma

Predmetna paradigma

Objektno usmerjene zbirke podatkov so programirljive zbirke podatkov, ki shranjujejo kompleksne podatke in njihove povezave neposredno, brez dodeljevanja vrstic in stolpcev, zato so primernejše za aplikacije, ki delajo z velikimi serijami. Objekti so povezani z mnogimi in so dostopni z uporabo kazalnikov, ki so povezani z njimi, da se vzpostavijo razmerja. Tako kot vsak programirljiv program tudi OOPD zagotavlja okolje za razvoj aplikacij in trajno shrambo, pripravljeno za uporabo. Hrani in obdeluje informacije, ki jih je mogoče digitalizirati kot predmete, omogoča hiter dostop in ponuja velike možnosti obdelave.

Osnovni koncepti, ki se uporabljajo v objektno usmerjeni podatkovni zbirki:

  • identiteta predmeta;
  • tip konstruktorja;
  • združljivost z jeziki;
  • Hierarhije tipov in dedovanje;
  • obdelava kompleksnih predmetov;
  • polimorfizem in preobremenitev operatorjev;
  • oblikovanje različic.
Oblikovanje različic

Da bi v celoti upoštevali vse vidike, kakšni koncepti značilnosti objektno usmerjene podatkovne zbirke, je treba omeniti vse pomembne objektne paradigme:

  1. Ovitje - lastnost, s katero lahko skrije informacije za druge predmete in tako prepreči nepravilen dostop ali konflikte.
  2. Dedovanje - lastnost, po kateri predmeti podedujejo vedenje v hierarhiji razredov.
  3. Polimorfizem je lastnost operacije, ki jo je mogoče uporabiti za različne vrste predmetov.
  4. Vmesnik ali podpis operacije vključuje ime in podatkovne vrste njenih argumentov ali parametrov.
  5. Izvedba ali metoda delovanja je določena ločeno in jo je mogoče spremeniti, ne da bi to vplivalo na vmesnik. Uporabniški aplikacijski programi lahko operirajo s podatki tako, da kličejo določene operacije prek njihovih imen in argumentov, ne glede na to, kako so bile izvedene.

Razredi in funkcionalnost

Razredi in funkcionalnost

Pri obravnavi koncepta razredov v OOPD je treba razlikovati med pojmoma "razred" in "tip". Tip se uporablja za opis množice predmetov s podobnim obnašanjem. V tem smislu je odvisno od tega, katere operacije je mogoče izvesti na objektu. Razred je zbirka predmetov, ki imajo enako notranjo strukturo, zato določa implementacijo, tip pa opisuje, kako se uporablja.

Izraz "ustvarjanje primerkov" je namenjen dejstvu, da se lahko instanciranje razreda uporabi za oblikovanje množice predmetov, ki imajo enako strukturo in obnašanje, kot ju določa razred.

Značilnost , ki je zelo je za razvoj predmetov pomembno, da lahko spremenijo svoj razred, vključno z atributi in operacijami, hkrati pa ohranijo identiteto. To bi zahtevalo mehanizem za obravnavo semantične celovitosti, ki nastane.

Dedovanje iz objektno usmerjene zbirke podatkov omogoča, da je razred opredeljen kot podrazred obstoječega nadrazreda. Od slednjega podeduje vse atribute in metode ter lahko dodatno opredeli svoje. Ta koncept je pomemben mehanizem za podporo ponovni uporabi. Isti deli strukture dveh različnih razredov so lahko v skupnem nadrazredu definirani samo enkrat, zato je treba napisati manj kode. Obstaja nekaj sistemov, ki omogočajo, da je razred lahko podrazred več kot enega nadrazreda. To se imenuje večkratno dedovanje v nasprotju z enojnim dedovanjem.

Primer objektno usmerjene podatkovne zbirke

Pogosto je koristno uporabiti isto ime za različne, vendar podobne metode nadrazreda media iz razredov picture in video. Številne datoteke si lahko ogledate z različnimi pregledovalniki. Pogosto morajo pregledati vse fotografije in videoposnetke z metodo "ogled", zato je treba zagnati ustrezen program. Ko je funkcija poklicana in je posredovana video povezava, se zažene medijski predvajalnik. Za izvajanje te funkcije moramo najprej v skupnem nadrazredu media razredov slike in videa opredeliti operacijo "pogled". Vsak podrazred nadomešča operacijo pogleda za svoje specifične potrebe. To vodi do različnih metod, ki imajo enako ime operacije. V tem primeru ima uporaba te funkcije pomembno prednost.

Struktura OOPD

Struktura OOPD

Objektno usmerjena paradigma temelji na tem, da so podatki in koda, ki se nanašajo na vsak objekt, zaprti v enem samem modulu. Konceptualno se vse interakcije med njim in preostalim delom sistema izvajajo s sporočili. Zato je vmesnik med njima opredeljen z dovoljenim naborom.

Na splošno je vsak predmet povezan z nizom:

  1. Spremenljivke, ki vsebujejo podatke o objektu in ustrezajo atributom modela ER.
  2. Sporočila, na katera se odziva. Vsak od njih ima ali nima parametrov, enega ali več.
  3. Metode, od katerih je vsaka koda, ki izvaja sporočilo in kot odgovor nanj vrne vrednost.

Sporočilo v okolju OO ne pomeni uporabe fizičnih SMS v računalniških omrežjih. Nasprotno pa se nanaša na izmenjavo zahtevkov med predmeti, ne glede na pravilne podrobnosti izvedbe. Včasih izraz pokliče metodo za začetek pošiljanja sporočila objektu in uporabi izvajanje ustrezne metode.

Identiteta predmeta

Identiteta predmeta

Sistem objektno usmerjene zbirke podatkov zagotavlja edinstveno identiteto vsakega neodvisnega objekta, shranjenega v zbirki podatkov. Običajno se izvaja s pomočjo edinstvenega sistemskega identifikatorja objekta (OID). Vrednost OID je za zunanjega uporabnika nevidna, vendar jo sistem interno uporablja za upravljanje referenc med predmeti.

Osnovna lastnost identifikatorja OID je, da je nespremenljiv. Vrednost OID za določen predmet se ne sme nikoli spremeniti. S tem se ohrani identiteta predstavljenega resničnega sveta. Prav tako je zaželeno, da se vsak OID uporablja samo enkrat, tudi če je izbrisan iz zbirke podatkov, se njegov OID ne sme dodeliti drugemu. Pogosto se zdi tudi neprimerno, da bi temeljili na fizičnem naslovu predmeta v skladišču, saj lahko reorganizacija predmeta v zbirki podatkov spremeni OID. Vendar pa nekateri sistemi uporabljajo fizični naslov kot OID, da bi povečali učinkovitost iskanja objektov. Objektno usmerjena struktura samodejno nalaga relacijske omejitve, ki so običajno bolj uporabne: domena, ključ, celovitost objekta in referenčna celovitost.

Trije osnovni konstruktorji

Trije osnovni konstruktorji

V ODB je mogoče vrednosti ali stanja kompleksnih objektov ustvariti iz drugih objektov z uporabo konstruktorjev določenih vrst. Eden od načinov za njihovo predstavitev je, da vsakega obravnavamo kot trojček (i, c, v), kjer je i edinstven identifikator objekta (OID), c je konstruktor, tj. kazalec na način ustvarjanja vrednosti objekta, in v je vrednost ali stanje objekta. Odvisno od podatkovnega modela in sistema OO lahko obstaja več kot en konstruktor.

Trije osnovni konstruktorji objektno usmerjenih podatkovnih zbirk:

  • atomi;
  • kupole;
  • nastavitve.

Drugi pogostejši so seznami in sheme. Obstaja tudi domena D, ki vsebuje vse osnovne atomske vrednosti, ki so neposredno na voljo v sistemu. To so običajno cela števila, realna števila, znakovni nizi, datumi in vse druge podatkovne vrste, ki jih sistem obdeluje neposredno. Struktura objektov in operacije so vključene v definicije razredov.

Združljiv s programskimi jeziki

Osnovni koncepti objektno usmerjenih podatkovnih zbirk se uporabljajo kot orodja za načrtovanje in so kodificirani za delo z podatkovna zbirka.

Obstaja več možnih jezikov, v katere je mogoče vključiti te koncepte:

  1. 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.
  2. Vzemite obstoječi objektno usmerjeni programski jezik in ga razširite za delo s podatkovnimi bazami. Imenujejo se vztrajni programski jeziki in razvijalcem omogočajo neposredno delo s podatki, ne da bi jim bilo treba uporabljati jezik za obdelavo podatkov, kot je SQL. Imenujejo se trajni, ker podatki obstajajo tudi po tem, ko se program, ki jih je ustvaril, konča.

Pri odločanju o izbiri možnosti je treba upoštevati, da so obstojni jeziki ponavadi zmogljivi in da je razmeroma lahko narediti programske napake, ki poškodujejo podatkovno zbirko. Zaradi zapletenosti jezikov so samodejne optimizacije na visoki ravni, kot je zmanjšanje vnosa/iznosa na disku, težavne. V številnih aplikacijah je možnost deklarativnih poizvedb bistvenega pomena, vendar trajni jeziki trenutno ne omogočajo takšnih poizvedb brez težav.

Hierarhija vrst dedovanja

Objektno usmerjene sheme podatkovnih zbirk običajno zahtevajo veliko število razredov. Vendar je več razredov med seboj podobnih.Da bi lahko neposredno prikazali podobnosti med njimi, bi jih bilo treba razvrstiti v hierarhijo specializacij. Ta koncept je podoben modelom ER. Specializacije razredov se imenujejo podrazredi, ki določajo dodatne atribute in metode za obstoječi razred. Objekti, ustvarjeni s podrazredi, podedujejo vse od starševskega razreda. Nekatere od teh podedovanih značilnosti so si lahko izposodili od višjih v hierarhiji.

Objekti veljajo za kompleksne, ker zahtevajo veliko prostora za shranjevanje in niso del standardnih podatkovnih tipov, ki jih običajno ponuja objektno usmerjeno upravljanje podatkovnih zbirk (OODM). Ker je velikost objektov precejšnja, lahko DSS pridobi del objekta in ga da na voljo aplikacijskemu programu, preden pridobi celoten objekt. Uporabljajo lahko tudi metode predpomnilnika in predpomnilnika, s katerimi vnaprej pridobijo dele predmeta, preden do njih lahko dostopi aplikacijski program.

OOPD uporabnikom omogoča ustvarjanje novih tipov, ki vključujejo samega sebe kot strukturo in operacije, v tem primeru gre za razširljiv sistem tipov. Ustvarite lahko knjižnice novih tipov, tako da določite njihovo strukturo in operacije. Mnogi med njimi lahko shranijo in prikličejo obsežen strukturiran objekt v obliki nizov in znakov ali bitov, ki posredujejo "kot je" aplikacijskemu programu za interpretacijo.

Metoda lahko neposredno dostopa do atributov ciljnega objekta po imenu, vključno z vsemi atributi, podedovanimi od nadrejenih razredov, vendar mora imeti dostop do atributov drugih objektov s sekundarnimi signali. Koncept omogoča, da se isto ime ali simbol operatorja poveže z dvema ali več različnimi izvedbami, odvisno od vrste predmetov, za katere se uporablja.

Ustvarjanje aplikacij

Ustvarjanje aplikacij

Veliko aplikacij podatkovnih zbirk, ki uporabljajo sisteme OO, zahteva več različic istega predmeta. Dejavnosti vzdrževanja se običajno uporabljajo za sistem programske opreme, ko se spreminjajo njegove zahteve, in vključujejo spreminjanje nekaterih razvojnih in izvedbenih modulov. Če sistem že deluje in je treba spremeniti enega ali več modulov, mora razvijalec ustvariti novo različico vsakega modula tako, da spremeni.

Upoštevajte, da lahko obstajata več kot dve različici predmeta, če sta poleg prvotnega modula potrebni še dve. Lastniške različice istega programskega modula se lahko posodabljajo hkrati. To se imenuje sočasno načrtovanje objektno usmerjenih podatkovnih zbirk. Vendar pa vedno pride trenutek, ko jih je treba združiti, da bi hibridni DAS vključeval spremembe.

Objektno usmerjeni izrazi

Vsi računalniški sistemi morajo imeti lastnosti svoje arhitekture, da jih lahko obravnavamo kot. Na primer, da bi sistem veljal za relacijski, mora imeti tabele. OODB ni izjema in vsebuje nekatere osnovne lastnosti objektne arhitekture. V resničnem svetu pa se o mnogih od teh lastnosti razpravlja, nekatere, kot je večkratno dedovanje, pa se obravnavajo kot Izboljšave modela objektno usmerjenih podatkovnih baz, ne pa kot del osnovnega okvira. Večkratno dedovanje na primer ni podprto v objektno usmerjenem jeziku Smalltalk, čeprav velja za del objektne arhitekture.

Metode za razred določajo nabor operacij, ki jih je mogoče izvesti na objektu. Na primer, ko se uporabi za objekt, vrne vrednost ali izvede operacijo za posodobitev vrednosti. Včasih metode ne vračajo. Če bi bila zasnovana metoda za posodabljanje števila potnikov za vozilo, ne bi bila vrnjena nobena vrednost, ampak bi jo spremenil podatkovni element v ciljnem objektu.

Objekti so temeljni koncept v OOPD. Predmeti so v bistvu abstraktna predstavitev stvari iz resničnega sveta, ki so shranjene v njem. Objekt je primerek razreda v smislu, da je izključen iz njegove definicije.

Predmet si lahko predstavljate kot samostojen paket, ki je sestavljen iz treh delov:

  1. Lastni osebni podatki, vrednosti podatkov.
  2. Zasebni postopki, ki bodo manipulirali z vrednostmi prek definicije razreda.
  3. Odprt vmesnik, da lahko ta objekt komunicira z drugimi.

Primeri OOPD

Uporaba OOBD poenostavi konceptualizacijo, saj je bolj naravno predstaviti informacije, ki jih je treba shraniti. Za modeliranje strukture ali logike podatkovne zbirke se uporabljajo diagrami razredov, ki omogočajo uvedbo razredov z njihovimi strukturnimi odnosi in dedovanjem. Za modeliranje dela dinamike, interakcije in obnašanja med objekti bo uporabljen diagram zaporedja, ki predstavlja interakcijo med objekti, ki se nahajajo v časovnem razmerju, in opisuje možna stanja, tako da jih je mogoče najti glede na spremenjeno stanje po nastanku dogodka.

Primeri OOPD

Primer objektno usmerjene podatkovne zbirke je naveden spodaj.

Primeri objektno usmerjenih podatkovnih zbirk

Imajo ime in življenjsko dobo, ki je lahko kratkotrajna ali trajna. Ključna lastnost OODBD je možnost, da razvijalec določi, koliko struktur in operacij se bo uporabilo zanje. Prožnost in podpora za ravnanje s kompleksnimi podatkovnimi vrstami. Ustvarite lahko razrede in podrazrede, na primer baza strank ima lahko podrazred te referenčne stranke, ki podeduje vse atribute in značilnosti prvotnega razreda; ta pristop omogoča hitro in prilagodljivo obdelavo kompleksnih podatkov.

Članki na tem področju