Objektorienteeritud andmebaasid: kontseptsioon, põhimõisted, juhtimine, näited

Sisukord:

Objektorienteeritud andmebaasid: kontseptsioon, põhimõisted, juhtimine, näited
Objektorienteeritud andmebaasid: kontseptsioon, põhimõisted, juhtimine, näited
Anonim

Objektorienteeritud andmebaasides (OODB) saavad kasutajad määrata toiminguid konkreetse andmebaasiga, mis koosneb väga erinevat tüüpi objektidest ja mille jaoks on määratud toimingud. Nad saavad tõhus alt käsitleda binaarset teavet, näiteks multimeediumobjekte. Veel üks OODB lisaeelis on see, et seda saab programmeerida väikeste protseduuriliste erinevustega, ilma et see mõjutaks kogu süsteemi.

Eeldused standardi loomiseks

Objektorienteeritud OODB andmebaaside ajalugu algab eelmise sajandi lõpus. Need loodi uute rakenduste vajaduste rahuldamiseks. Eeldati, et objektorienteeritud andmebaasid muudavad 1990ndatel tarkvarasüsteemid revolutsiooniliseks. Nüüd on selge, et see pole nii. Selle kontseptsiooni taaselustamine vaba tarkvara kogukondade kaudu ja selle jaoks sobivate rakenduste leidmine motiveerib aga omadusi üle vaatama. OODB, mis on alternatiiv üldlevinud relatsiooniandmebaasidele.

Standardi loomise eeldused
Standardi loomise eeldused

Objektorienteeritud pakub paindlikkust mõne või kõigi nõuete käsitlemiseks ega piirdu traditsiooniliste andmebaaside andmetüüpide ja päringukeeltega. OODB-de põhiomadus on võime, mida need arendajale pakuvad, võimaldades tal määrata nii keeruliste objektide struktuuri kui ka rakenduse toiminguid. Teine põhjus OODB-de loomisel on keelte kasvav kasutamine tarkvaraarenduses.

Andmebaasidest on saanud paljude infosüsteemide vundament, kuid traditsioonilisi andmebaase on raske kasutada, kui neile juurde pääsevad rakendused on kirjutatud C++, Smalltalki või Java keeles. Näiteks 1C objektorienteeritud andmebaasid kujundati nii, et neid saab otse integreerida objektorienteeritud keeli kasutavate rakendustega, võttes kasutusele nende kontseptsioonid: Visual Studio. Net, C ++, C, Microsoft SQL Server ja teised.

OODB peamine eelis on RMs1 (impedantsi) vajaduse täielik kõrvaldamine koos järgnevate jõudluse täiustustega.

OODB peamine eelis
OODB peamine eelis

Puudused:

  1. Väga primitiivsed konsultatsioonimehhanismid, isestandardist aktsepteeritud platvorm puudub.
  2. Ei saa salvestada protseduure, kuna objektidele pääseb juurde ainult kliendis.
  3. Ebaküpsus turul.
  4. Objekte pole füüsilist rühmitamist.

Objekti paradigma

Objekti paradigma
Objekti paradigma

Objektorienteeritud andmebaasid on programmeeritavad andmebaasid, mis salvestavad keerulisi andmeid ja nende seoseid otse ilma ridu ja veerge määramata, muutes need sobivamaks rakendustele, mis töötavad suurte partiidega. Objektidel on palju-mitmele seosed ja need on ligipääsetavad suhete loomiseks nendega seotud osutite abil. Nagu iga programmeeritav, pakub OODB rakenduste arenduskeskkonda ja püsivat hoidlat, mis on kasutamiseks valmis. See salvestab ja töötleb teavet, mida saab digiteerida objektide kujul, pakub kiiret juurdepääsu ja suurepäraseid töötlemisvõimalusi.

Objektorienteeritud andmebaasis kasutatavad põhimõisted:

  • objekti identiteet;
  • konstruktori tüüp;
  • keele ühilduvus;
  • tüüpi hierarhiad ja pärand;
  • keeruliste objektide töötlemine;
  • polümorfism ja operaatori ülekoormus;
  • versioonide loomine.
Versioonide koostamine
Versioonide koostamine

Objektorienteeritud andmebaasi kõigi aspektide täielikuks arvessevõtmiseks on oluline märkida kõik olulised objektiparadigmad:

  1. Kapseldamine on atribuut, mis võimaldab peita teavet teiste objektide eest, vältides sellega ebaõiget juurdepääsu või konflikte.
  2. Pärimine on omadus, mille järgi objektid pärivad käitumise klassihierarhias.
  3. Polümorfism on operatsiooni omadus, millega seda saab rakendadaerinevat tüüpi objekte.
  4. Toimingu liides või signatuur sisaldab selle argumentide või parameetrite nime ja andmetüüpe.
  5. Toimingu rakendamine või meetod määratakse eraldi ja seda saab muuta liidest mõjutamata. Kasutajarakendused saavad andmetega töötada, kutsudes välja määratud toiminguid nende nimede ja argumentide kaudu, olenemata nende rakendamise viisist.

Klassid ja funktsioonid

Klassid ja funktsionaalsus
Klassid ja funktsionaalsus

Kui käsitleda klasside kontseptsiooni OODB-s, on vaja eristada mõisteid "klass" ja "tüüp". Tüüpi kasutatakse sarnase käitumisega objektide komplekti kirjeldamiseks. Selles mõttes sõltub see sellest, milliseid operatsioone saab objektil välja kutsuda. Klass on objektide kogum, millel on sama sisemine struktuur, nii et see määratleb teostuse, tüüp aga kirjeldab, kuidas seda kasutada.

Mõte eksemplar viitab tõsiasjale, et klassi teostust saab kasutada objektide komplekti loomiseks, millel on klassi määratud struktuur ja käitumine.

Objektide evolutsiooni jaoks väga oluline omadus on see, et see võib muuta oma klassi, sealhulgas atribuute ja toiminguid, säilitades samal ajal identiteedi. See nõuaks mehhanismi, mis käsitleks saadud semantilise terviklikkuse.

Organisatsiooni objektorienteeritud andmebaasi pärimine võimaldab klassi määratleda juba olemasoleva ülemklassi alamklassina. See pärib viimaselt kõik atribuudid ja meetodid ning võib valikuliselt määratledaoma. See kontseptsioon on oluline korduskasutamise toetamise mehhanism. Kahe erineva klassi struktuuri samu osi saab ühises ülemklassis määratleda ainult üks kord, seega kirjutatakse vähem koodi. Mõned süsteemid võimaldavad klassil olla rohkem kui ühe ülemklassi alamklass. Seda funktsiooni nimetatakse mitmekordseks pärandiks, mitte üksikpärimiseks.

Objektorienteeritud andmebaasi näide

Tihti on kasulik kasutada sama nime meedia superklassi erinevate, kuid sarnaste meetodite jaoks pildi- ja videoklassidest. Paljusid faile saavad vaadata erinevad vaatajad. Tihti peavad nad kõiki fotosid ja videoid vaatama "vaate" meetodil ning käivitama vastava programmi. Funktsiooni kutsumisel ja video linki edastamisel käivitatakse meediumipleier. Selle funktsiooni realiseerimiseks on kõigepe alt vaja pildi- ja videoklassidest defineerida ühises meedia superklassis toiming "esitlus". Iga alamklass määratleb otsinguoperatsiooni oma spetsiifiliste vajaduste jaoks ümber. Selle tulemuseks on erinevad meetodid, millel on sama toimingu nimi. Sel juhul on selle funktsiooni kasutamisel oluline eelis.

OODB struktuur

OODB struktuur
OODB struktuur

Objektorienteeritud paradigma põhineb iga objektiga seotud andmete ja koodide kapseldamisel ühte moodulisse. Põhimõtteliselt toimub kogu selle ja ülejäänud süsteemi vaheline suhtlus sõnumite abil. Sellest ka liidesnende vahel määratakse lubatud hulgaga.

Üldiselt on iga objekt seotud komplektiga:

  1. Muutujad, mis sisaldavad objektiandmeid ja vastavad ER mudeli atribuutidele.
  2. Sõnumid, millele ta vastab. Igal neist võib olla üks või mitu parameetrit, kuid ei pruugi olla.
  3. Meetodid, millest igaüks on kood, mis rakendab sõnumeid ja tagastab sellele vastuseks väärtuse.

Sõnumite saatmine OO keskkonnas ei tähenda füüsiliste SMS-ide kasutamist arvutivõrkudes. Vastupidi, see viitab päringute vahetamisele objektide vahel, sõltumata nende rakendamise õigetest üksikasjadest. Mõnikord kutsub avaldis välja meetodi, et käivitada fakt, et sõnum on objektile saadetud, ja kasutab vastava meetodi täitmist.

Objekti identiteet

Objekti identiteet
Objekti identiteet

Objektorienteeritud andmebaasisüsteem pakub igale andmebaasi salvestatud sõltumatule objektile kordumatut identifitseerimist. Tavaliselt rakendatakse seda süsteemi loodud kordumatu objekti identifikaatori või OID abil. OID väärtus on välisele kasutajale nähtamatu, kuid süsteem kasutab seda sisemiselt objektide vaheliste linkide haldamiseks.

OID-i peamine omadus on olla muutumatu. Konkreetse objekti OID väärtus ei tohiks kunagi muutuda. See säilitab esindatava reaalse maailma identiteedi. Samuti on eelistatud, et iga OID-d kasutatakse ainult üks kord, isegi kui see andmebaasist eemaldatakse, ei tohiks selle OID-d teisele määrata. Sageli peetakse kohatuks ka seda, kui lähtuda füüsilisestlaos oleva objekti aadress, kuna nende ümberkorraldamine andmebaasis võib muuta OID-d. Mõned süsteemid kasutavad aga füüsilist aadressi OID-na, et suurendada objektide toomise tõhusust. Objektorienteeritud raamistik kehtestab automaatselt relatsioonipiirangud, mis on tavaliselt kohaldatavamad: domeen, võti, objekti terviklikkus ja viiteterviklikkus.

Kolm peamist konstruktorit

Kolm peamist konstruktorit
Kolm peamist konstruktorit

OODB-s saab teatud tüüpi konstruktoreid kasutades luua keerukate objektide väärtusi või olekuid teiste põhjal. Üks viis nende esitamiseks on mõelda igale kolmikule (i, c, v), kus i on objekti kordumatu identifikaator (OID), c on konstruktor, st viitab sellele, kuidas objekti väärtus on loodud ja v on objekti väärtus või olek. Sõltuv alt andmemudelist ja OO-süsteemist võib olla mitu konstruktorit.

Kolm põhilist objektorienteeritud andmebaasikonstruktorit:

  • aatomid;
  • korter;
  • komplektid.

Muud levinumad kasutusalad on loendid ja diagrammid. Samuti on olemas D-domeen, mis sisaldab kõiki süsteemis otse saadaolevaid põhilisi aatomiväärtusi. Tavaliselt sisaldavad need täisarve, reaalarve, märgistringe, kuupäevi ja mis tahes muud tüüpi andmeid, mida süsteem otseselt käsitleb. Nii objektide struktuur kui ka operatsioonid sisalduvad klasside definitsioonides.

Ühilduvus programmeerimiskeeltega

Objektorienteeritud andmebaaside põhimõisteid kasutataksedisainitööriistadena ja kodeeritud andmebaasiga töötamiseks.

Neid mõisteid saab integreerida mitmes võimalikus keeles:

  1. Andmetöötluskeele (nt SQL) laiendamine keerukate tüüpide ja OOP-i lisamisega. Süsteemid pakuvad relatsioonisüsteemidele objektorienteeritud laiendusi, mida nimetatakse objektorienteeritud relatsioonisüsteemideks.
  2. Olemasoleva objektorienteeritud programmeerimiskeele kasutamine ja selle laiendamine andmebaasidega töötamiseks. Neid nimetatakse püsivateks programmeerimiskeelteks ja need võimaldavad arendajatel andmetega otse töötada, ilma et nad peaksid läbima andmetöötluskeelt nagu SQL. Neid nimetatakse püsivateks, kuna andmed jäävad alles pärast need loonud programmi lõppu.

Kasutatava valiku valimisel pidage meeles, et püsivad keeled kipuvad olema võimsad ja andmebaasi kahjustavaid programmeerimisvigu on suhteliselt lihtne teha. Keelte keerukus muudab kõrgetasemelise automaatse optimeerimise, näiteks ketta I/O vähendamise, keeruliseks. Paljude rakenduste puhul on deklaratiivsete päringute tegemise võimalus oluline, kuid püsivad keeled ei võimalda praegu selliseid päringuid probleemideta teha.

Pärimise tüüpide hierarhia

Objektorienteeritud andmebaasiskeemid nõuavad tavaliselt suurt hulka klasse. Kuid mitmed klassid on üksteisega sarnased. Nendevaheliste sarnasuste otseseks esitamiseks peate panemaneed erialade hierarhiasse. See kontseptsioon sarnaneb ER mudelitega. Klasside spetsialiseerumisalasid nimetatakse alamklassideks, mis määratlevad olemasoleva klassi täiendavad atribuudid ja meetodid. Alamklassidega loodud objektid pärivad kõik vanem alt. Mõned neist päritud omadustest võivad olla laenatud hierarhias kõrgemal asuvatelt isikutelt.

Objekte peetakse keerukateks, kuna need nõuavad palju salvestusruumi ega kuulu standardsete andmetüüpide hulka, mida objektorienteeritud andmebaasihaldus (OODBS) tavaliselt pakub. Kuna objektide suurus on märkimisväärne, võib SOOBMS vastu võtta osa objektist ja edastada selle rakendusele enne kogu objekti omandamist. Samuti võib see kasutada puhvri ja vahemälu meetodeid, et hankida objekti osad enne tähtaega, enne kui rakendus neile juurde pääseb.

OODB võimaldab kasutajatel luua uusi tüüpe, mis sisaldavad nii struktuuri kui ka toiminguid, antud juhul laiendatavat tüüpi süsteemi. Saate luua uut tüüpi teeke, määratledes nende struktuuri ja toimingud. Paljud neist suudavad salvestada ja vastu võtta suuri struktureeritud objekte stringide ja märkide või bittide kujul, mis edastatakse "nagu on" rakendusprogrammile tõlgendamiseks.

Meetod pääseb nime järgi otse juurde sihtobjekti atribuutidele, kaasa arvatud mis tahes vanemklassidest päritud, kuid peab juurde pääsema sekundaarsete signaalidega muude objektide atribuutidele. Kontseptsioon võimaldab teil seostada sama operaatori nime või sümboligaselle kaks või enam erinevat teostust, olenev alt objektide tüübist, millele see rakendub.

Ehitusrakendused

Rakenduse loomine
Rakenduse loomine

Paljud OO-süsteeme kasutavad andmebaasirakendused nõuavad sama objekti mitut versiooni. Tavaliselt rakendatakse hooldustoiminguid tarkvarasüsteemile vastav alt nende nõuete muutumisele ning see hõlmab mõne arendus- ja juurutusmooduli muutmist. Kui süsteem juba töötab ja kui üht või mitut moodulit on vaja muuta, peab arendaja muudatusi tehes looma neist igaühe uue versiooni.

Pange tähele, et objektil võib olla rohkem kui kaks versiooni, juhul kui lisaks algsele moodulile on vaja kahte. Sama tarkvaramooduli enda versioone saab värskendada samal ajal. Seda nimetatakse paralleelseks objektorienteeritud andmebaasi kujundamiseks. Siiski tuleb alati ette hetk, kus need tuleb ühendada, et hübriid-OODB hõlmaks tehtud muudatusi, et need ühilduksid.

Objektorienteeritud tingimused

Kõigil arvutisüsteemidel peavad olema nende arhitektuuri omadused, mida arvesse võtta. Näiteks peavad süsteemil olema tabelid, et seda saaks pidada relatsiooniliseks. OODB pole erand ja sisaldab mõningaid objekti arhitektuuri põhiomadusi. Kuid tegelikus maailmas arutatakse paljusid neist omadustest ja mõnda, näiteks mitmekordset pärimist, peetakse pigem objektorienteeritud andmebaasimudeli täiustusteks kuiosana baasjoonest. Näiteks objektorienteeritud keeles Smalltalk ei toetata mitut pärimist, kuigi seda peetakse objektiarhitektuuri osaks.

Klassi meetodid määratlevad operatsioonide komplekti, mida saab objektiga sooritada. Näiteks kui seda objektile rakendatakse, tagastab see väärtuse või teostab väärtuste värskendamiseks mõne toimingu. Mõnikord meetodid seda ei tagasta. Kui meetod oleks mõeldud sõiduki reisijate arvu värskendamiseks, siis väärtust ei tagastata, kuid sihtmärgi andmeelement muudaks seda.

Objektid on OODB põhikontseptsioon. Põhimõtteliselt on objektid selles talletatud reaalse maailma asjade abstraktsed kujutised. Objekt on klassi eksemplar selles mõttes, et see on selle määratlusest välja jäetud.

Objekti võib pidada iseseisvaks pakendiks, millel on kolm osa:

  1. Oma isiklik teave, andmeväärtused.
  2. Privaatsed protseduurid, mis manipuleerivad väärtusi klassidefinitsiooni kaudu.
  3. Ava liides, et see objekt saaks teistega suhelda.

OODB näited

OODB kasutamine lihtsustab kontseptualiseerimist, kuna on loomulikum esitada salvestatavat teavet. Andmebaasi struktuuri või loogika modelleerimiseks võimaldab klassidiagrammide kasutamine tutvustada klasse nende struktuuriliste seoste ja pärilikkusega. Selleks, et modelleerida osa dünaamikast, interaktsioonist jaobjektidevahelise käitumise korral kasutatakse ajutises seoses asuvate objektide interaktsiooni kujutamiseks jadadiagrammi, mis kirjeldab võimalikke olekuid, nii et neid saab pärast sündmuse toimumist muudetud oleku korral leida.

OODB näited
OODB näited

Allpool on näidatud objektorienteeritud andmebaasi näide.

Näited objektorienteeritud andmebaasidest
Näited objektorienteeritud andmebaasidest

Neil on nimi ja eluiga, mis võib olla ajutine või püsiv. OODB-võti on nende poolt arendajale pakutav võimalus määrata, kui palju struktuure ja toiminguid neile rakendatakse. Keeruliste andmetüüpide käsitlemisel on paindlikkus ja tugi. Saate luua klasse ja alamklasse, näiteks võib kliendibaasis olla selle kliendi lingi alamklass ja see pärib kõik algklassi atribuudid ja omadused, see lähenemisviis võimaldab teil kiiresti ja paindlikult töödelda keerulisi andmeid.

Soovitan: