Objektorientētās datubāzēs (OODB) lietotāji var iestatīt darbības konkrētai datu bāzei, kas sastāv no objektiem, kuru tipi var būt ļoti dažādi un kuriem ir iestatītas darbības. Tie var efektīvi apstrādāt bināro informāciju, piemēram, multivides objektus. Vēl viena OODB papildu priekšrocība ir tā, ka to var ieprogrammēt ar nelielām procesuālām atšķirībām, neietekmējot visu sistēmu.
Priekšnoteikumi standarta izveidei
Objektorientēto OODB datu bāzu vēsture sākas pagājušā gadsimta beigās. Tie tika izveidoti, lai apmierinātu jaunu lietojumprogrammu vajadzības. Tika pieņemts, ka 90. gados objektorientētas datu bāzes radīs revolūciju programmatūras sistēmās. Tagad ir skaidrs, ka tas tā nav. Tomēr šīs koncepcijas atdzimšana, izmantojot bezmaksas programmatūras kopienas un tai piemērotu lietojumprogrammu noteikšana, motivē pārskatīt raksturlielumus. OODB, kas ir alternatīva visuresošajām relāciju datu bāzēm.
Objektorientēta nodrošina elastību, lai izpildītu dažas vai visas prasības, un tā neaprobežojas tikai ar tradicionālo datu bāzu datu tipiem un vaicājumu valodām. Galvenā OODB iezīme ir spēja, ko tie nodrošina izstrādātājam, ļaujot viņam norādīt gan sarežģītu objektu struktūru, gan lietojumprogrammu darbības. Vēl viens iemesls OODB izveidei ir arvien pieaugošais valodu lietojums programmatūras izstrādei.
Datu bāzes ir kļuvušas par daudzu informācijas sistēmu pamatu, taču tradicionālās datu bāzes ir grūti izmantot, ja lietojumprogrammas, kas tām piekļūst, ir rakstītas C++, Smalltalk vai Java valodā. Piemēram, 1C objektorientētās datu bāzes tika izstrādātas tā, lai tās varētu tieši integrēt ar lietojumprogrammām, kurās izmanto objektorientētas valodas, pārņemot to koncepcijas: Visual Studio. Net, C ++, C, Microsoft SQL Server un citi.
OODB galvenā priekšrocība ir pilnīga nepieciešamības pēc RMs1 (pretestības) atcelšana ar sekojošiem veiktspējas uzlabojumiem.
Trūkumi:
- Ļoti primitīvi konsultāciju mehānismi, nav pašstandarta pieņemtas platformas.
- Nevar saglabāt procedūras, jo objektiem var piekļūt tikai klientā.
- Nebriedums tirgū.
- Nav fiziskas objektu grupēšanas.
Objektu paradigma
Objektorientētas datu bāzes ir programmējamas datu bāzes, kas tieši glabā sarežģītus datus un to attiecības, nepiešķirot rindas un kolonnas, padarot tās piemērotākas lietojumprogrammām, kas darbojas ar lielām partijām. Objektiem ir attiecības daudzi pret daudziem, un tie ir pieejami, izmantojot norādes, kas ir saistītas ar tiem, lai izveidotu attiecības. Tāpat kā jebkurš programmējams, OODB nodrošina lietojumprogrammu izstrādes vidi un pastāvīgu repozitoriju, kas ir gatavs lietošanai. Tā uzglabā un apstrādā informāciju, ko var digitalizēt objektu veidā, nodrošina ātru piekļuvi un nodrošina lieliskas apstrādes iespējas.
Pamatjēdzieni, ko izmanto objektu orientētā datu bāzē:
- objekta identitāte;
- konstruktora veids;
- valodu saderība;
- tipa hierarhijas un mantojumu;
- sarežģītu objektu apstrāde;
- polimorfisms un operatora pārslodze;
- versiju izveide.
Lai pilnībā ņemtu vērā visus aspektus, kas raksturo objektorientētu datubāzi, ir svarīgi atzīmēt visas svarīgās objektu paradigmas:
- Ikapsulēšana ir rekvizīts, kas ļauj paslēpt informāciju citiem objektiem, tādējādi novēršot nepareizu piekļuvi vai konfliktus.
- Mantojums ir īpašība, ar kuru objekti pārmanto uzvedību klases hierarhijā.
- Polimorfisms ir darbības īpašība, ar kuru to var attiecinātdažāda veida objekti.
- Darbības saskarne vai paraksts ietver tās argumentu vai parametru nosaukumu un datu tipus.
- Darbības ieviešana vai metode ir norādīta atsevišķi, un to var mainīt, neietekmējot saskarni. Lietotāju lietojumprogrammas var strādāt ar datiem, izsaucot noteiktas darbības, izmantojot to nosaukumus un argumentus, neatkarīgi no tā, kā tās tika ieviestas.
Nodarbības un funkcionalitāte
Apsverot klašu jēdzienu OODB, ir jānošķir termini "klase" un "tips". Tips tiek izmantots, lai aprakstītu objektu kopu ar līdzīgu darbību. Šajā ziņā tas ir atkarīgs no tā, kādas darbības var izsaukt ar objektu. Klase ir objektu kopums, kam ir viena un tā pati iekšējā struktūra, tāpēc tā definē ieviešanu, savukārt tips apraksta, kā to izmantot.
Termins instantiācija attiecas uz faktu, ka klases instantiāciju var izmantot, lai izveidotu objektu kopu, kam ir tāda pati struktūra un darbība, kāda ir noteikta klasei.
Iezīme, kas ir ļoti svarīga objektu attīstībai, ir tā, ka tā var mainīt savu klasi, tostarp atribūtus un darbības, vienlaikus saglabājot identitāti. Tam būtu nepieciešams mehānisms, lai apstrādātu iegūto semantisko integritāti.
Organizācijas objektorientētās datu bāzes mantošana ļauj klasi definēt kā jau esošas virsklases apakšklasi. Tas pārmantos visus atribūtus un metodes no pēdējās un pēc izvēles var definētpašu. Šī koncepcija ir svarīgs mehānisms atkārtotas izmantošanas atbalstam. Vienas un tās pašas divu dažādu klašu struktūras daļas kopējā virsklasē var definēt tikai vienu reizi, tādējādi tiks rakstīts mazāk koda. Ir dažas sistēmas, kas ļauj klasei būt vairāk nekā vienas virsklases apakšklasei. Šo līdzekli sauc par vairākkārtēju mantojumu, nevis vienu mantojumu.
Objektorientētas datu bāzes piemērs
Bieži vien ir lietderīgi izmantot vienu nosaukumu dažādām, bet līdzīgām multivides virsklases metodēm no attēlu un video klasēm. Daudzus failus var skatīt dažādi skatītāji. Viņiem bieži ir nepieciešams apskatīt visus fotoattēlus un videoklipus, izmantojot "skatīšanas" metodi, un ir jāpalaiž atbilstošā programma. Kad funkcija tiek izsaukta un tiek nodota saite uz video, tiek palaists multivides atskaņotājs. Lai ieviestu šo funkciju, pirmkārt, ir jādefinē "prezentācijas" darbība kopējā mediju superklasē no attēlu un video klasēm. Katra no apakšklasēm no jauna definē uzmeklēšanas darbību savām īpašajām vajadzībām. Tā rezultātā tiek izmantotas dažādas metodes, kurām ir vienāds darbības nosaukums. Šajā gadījumā šīs funkcijas izmantošanai ir svarīga priekšrocība.
OODB struktūra
Objektorientētās paradigmas pamatā ir ar katru objektu saistīto datu un koda iekapsulēšana vienā modulī. Konceptuāli visa mijiedarbība starp to un pārējo sistēmu tiek veikta, izmantojot ziņojumus. Līdz ar to saskarnestarp tiem nosaka atļautā kopa.
Kopumā katrs objekts ir saistīts ar kopu:
- Mainīgie, kas satur objekta datus un atbilst ER modeļa atribūtiem.
- Ziņojumi, uz kuriem viņš atbild. Katram var būt vai nebūt parametri, viens vai vairāki.
- Metodes, no kurām katra ir kods, kas ievieš ziņojumus un atgriež vērtību, reaģējot uz to.
Ziņojumapmaiņa OO vidē nenozīmē fizisko SMS izmantošanu datortīklos. Gluži pretēji, tas attiecas uz pieprasījumu apmaiņu starp objektiem neatkarīgi no to īstenošanas pareizajām detaļām. Dažreiz izteiksme izsauc metodi, lai aktivizētu faktu, ka ziņojums ir nosūtīts objektam, un izmanto atbilstošās metodes izpildi.
Objekta identitāte
Objektorientētā datu bāzes sistēma nodrošina unikālu identifikāciju katram neatkarīgam objektam, kas glabājas datu bāzē. To parasti īsteno, izmantojot sistēmas ģenerētu unikālu objekta identifikatoru vai OID. OID vērtība ir neredzama ārējam lietotājam, taču sistēma to izmanto iekšēji, lai pārvaldītu saites starp objektiem.
OID galvenā īpašība ir būt nemainīgam. Konkrēta objekta OID vērtība nekad nedrīkst mainīties. Tādējādi tiek saglabāta pārstāvētās reālās pasaules identitāte. Vēlams arī, lai katrs OID tiktu izmantots tikai vienu reizi, pat ja tas tiek izņemts no datu bāzes, tā OID nedrīkst piešķirt citam. Bieži tiek uzskatīts arī par nepiemērotu to balstīt uz fiziskukrātuvē esošā objekta adrese, jo to reorganizēšana datu bāzē var mainīt OID. Tomēr dažas sistēmas izmanto fizisko adresi kā OID, lai palielinātu objektu izguves efektivitāti. Objektorientēta sistēma automātiski uzliek relāciju ierobežojumus, kas parasti ir piemērotāki: domēns, atslēga, objekta integritāte un atsauces integritāte.
Trīs galvenie konstruktori
ODB kompleksu objektu vērtības vai stāvokļus var izveidot no citiem, izmantojot noteikta veida konstruktorus. Viens veids, kā tos attēlot, ir domāt par katru kā tripletu (i, c, v), kur i ir objekta unikālais identifikators (OID), c ir konstruktors, tas ir, norāde uz to, kā ir objekta vērtība. izveidots, un v ir objekta vērtība vai stāvoklis. Atkarībā no datu modeļa un OO sistēmas var būt vairāki konstruktori.
Trīs pamata objektorientētas datu bāzes konstruktori:
- atomi;
- korpusi;
- komplekti.
Citi biežāk izmantotie lietojumi ir saraksti un diagrammas. Ir arī D domēns, kas satur visas pamata atomu vērtības, kas ir tieši pieejamas sistēmā. Tie parasti ietver veselus skaitļus, reālus skaitļus, rakstzīmju virknes, datumus un jebkura cita veida datus, ko sistēma apstrādā tieši. Gan objektu struktūra, gan darbības ir iekļautas klašu definīcijās.
Saderība ar programmēšanas valodām
Tiek izmantoti objektorientētu datu bāzu pamatjēdzienikā dizaina rīki un kodēti darbam ar datu bāzi.
Ir vairākas iespējamās valodas, kurās šos jēdzienus var integrēt:
- Datu apstrādes valodas, piemēram, SQL, paplašināšana, pievienojot sarežģītus veidus un OOP. Sistēmas nodrošina uz objektu orientētus paplašinājumus relāciju sistēmām, ko sauc par objektorientētām relāciju sistēmām.
- Esošas objektorientētas programmēšanas valodas izmantošana un tās paplašināšana darbam ar datu bāzēm. Tās sauc par pastāvīgām programmēšanas valodām un ļauj izstrādātājiem strādāt tieši ar datiem, neizmantojot tādu datu apstrādes valodu kā SQL. Tos sauc par pastāvīgiem, jo dati turpina pastāvēt pēc tās programmas beigām, kas tos izveidoja.
Izlemjot, kuru opciju izmantot, ņemiet vērā, ka pastāvīgās valodas mēdz būt spēcīgas, un ir samērā viegli pieļaut programmēšanas kļūdas, kas sabojā datu bāzi. Valodu sarežģītība apgrūtina augsta līmeņa automātisko optimizāciju, piemēram, diska I/O samazināšanu. Daudzās lietojumprogrammās ir svarīga iespēja veikt deklaratīvus vaicājumus, taču pastāvīgās valodas pašlaik nepieļauj šādus vaicājumus bez problēmām.
Mantojuma veidu hierarhija
Objektorientētām datu bāzes shēmām parasti ir nepieciešams liels skaits klašu. Tomēr vairākas klases ir līdzīgas viena otrai. Lai varētu tieši attēlot to līdzības, jums jāievietotos specializāciju hierarhijā. Šī koncepcija ir līdzīga ER modeļiem. Klašu specializācijas sauc par apakšklasēm, kas definē esošai klasei papildu atribūtus un metodes. Objekti, kas izveidoti ar apakšklasēm, manto visu no vecāka. Dažas no šīm iedzimtajām pazīmēm pašas var būt aizgūtas no hierarhijas augstākajām pazīmēm.
Objekti tiek uzskatīti par sarežģītiem, jo tiem ir nepieciešams liels krātuves apjoms un tie nav daļa no standarta datu tipiem, ko parasti piedāvā objektorientētā datu bāzes pārvaldība (OODBS). Tā kā objektu izmēri ir nozīmīgi, SOOBMS var saņemt daļu no objekta un nodrošināt to lietojumprogrammai pirms visa objekta iegūšanas. Tā var arī izmantot bufera un kešatmiņas metodes, lai iegūtu objekta daļas pirms laika, pirms lietojumprogramma var tām piekļūt.
OODB ļauj lietotājiem izveidot jaunus tipus, kas ietver gan struktūru, gan darbības, šajā gadījumā paplašināma tipa sistēmu. Varat izveidot jaunu veidu bibliotēkas, definējot to struktūru un darbības. Daudzi no tiem var saglabāt un saņemt lielu strukturētu objektu virkņu un rakstzīmju vai bitu veidā, kas tiek nodoti interpretācijai lietojumprogrammai "tādas, kādas tās ir".
Metode var tieši piekļūt mērķa objekta atribūtiem pēc nosaukuma, tostarp jebkuram mantojumam no vecākklasēm, taču tai ir jāpiekļūst citu objektu atribūtiem ar sekundāriem signāliem. Koncepcija ļauj saistīt vienu un to pašu operatora nosaukumu vai simbolu ardivas vai vairākas dažādas tā ieviešanas atkarībā no objektu veida, uz kuriem tas attiecas.
Būvprogrammas
Daudzām datu bāzes lietojumprogrammām, kas izmanto OO sistēmas, ir nepieciešamas vairākas viena un tā paša objekta versijas. Parasti apkopes darbības tiek piemērotas programmatūras sistēmai, mainoties to prasībām, un tās ietver dažu izstrādes un ieviešanas moduļu maiņu. Ja sistēma jau darbojas un ir jāmaina viens vai vairāki moduļi, izstrādātājam ir jāizveido jauna katra no tiem versija, veicot izmaiņas.
Ņemiet vērā, ka objektam var būt vairāk nekā divas versijas, ja papildus sākotnējam modulim ir nepieciešamas divas. Viena un tā paša programmatūras moduļa versijas var tikt atjauninātas vienlaikus. To sauc par paralēlu objektu orientētu datu bāzes dizainu. Tomēr vienmēr pienāk brīdis, kad tie ir jāapvieno, lai hibrīdajā OODB iekļautu veiktās izmaiņas, lai tās būtu saderīgas.
Objektorientēti apstākļi
Lai ņemtu vērā visas datorsistēmas, ir jābūt to arhitektūras īpašībām. Piemēram, sistēmā ir jābūt tabulām, lai to uzskatītu par relāciju. OODB nav izņēmums un satur dažas objekta arhitektūras pamatīpašības. Tomēr reālajā pasaulē daudzi no šiem rekvizītiem tiek apspriesti, un daži, piemēram, daudzkārtēja mantošana, tiek uzskatīti par objektorientētās datu bāzes modeļa uzlabojumiem, nevis.kā daļu no bāzes līnijas. Piemēram, objektorientētajā valodā Smalltalk vairākkārtēja mantošana netiek atbalstīta, lai gan tā tiek uzskatīta par objekta arhitektūras daļu.
Klases metodes nosaka darbību kopumu, ko var veikt ar objektu. Piemēram, kad tas tiek lietots objektam, tas vai nu atgriež vērtību, vai veic kādu darbību, lai atjauninātu vērtības. Dažreiz metodes to neatgriež. Ja metode būtu izstrādāta, lai atjauninātu transportlīdzekļa pasažieru skaitu, vērtība netiktu atgriezta, bet mērķa datu elements to mainītu.
Objekti ir OODB pamatjēdziens. Būtībā objekti ir abstrakts reālās pasaules lietu attēlojums, kas tajā tiek glabāts. Objekts ir klases gadījums tādā nozīmē, ka tas ir izslēgts no tā definīcijas.
Jūs varat uzskatīt objektu kā atsevišķu pakotni, kurai ir trīs daļas:
- Savu personas informāciju, datu vērtības.
- Privātas procedūras, kas manipulēs ar vērtībām, izmantojot klases definīciju.
- Atveriet saskarni, lai šis objekts varētu sazināties ar citiem.
OODB piemēri
ODB izmantošana vienkāršo konceptualizāciju, jo ir dabiskāk attēlot informāciju, kas jāsaglabā. Lai modelētu datu bāzes struktūru vai loģiku, klašu diagrammu izmantošana ļauj ieviest klases ar to strukturālajām attiecībām un pārmantojamību. Lai modelētu daļu no dinamikas, mijiedarbības unuzvedību starp objektiem, secības diagramma tiks izmantota, lai attēlotu mijiedarbību starp objektiem, kas atrodas pagaidu attiecībās, aprakstot iespējamos stāvokļus, lai tos varētu atrast, ņemot vērā mainīto stāvokli pēc notikuma rašanās.
Zemāk ir parādīts objektorientētas datu bāzes piemērs.
Viņiem ir vārds un mūžs, kas var būt īslaicīgs vai pastāvīgs. OODB atslēga ir iespēja, ko tie nodrošina izstrādātājam, lai norādītu, cik struktūru un darbību tiem tiks piemērots. Pastāv elastība un atbalsts sarežģītu datu tipu apstrādei. Varat izveidot klases un apakšklases, piemēram, klientu bāzē var būt šī klienta saites apakšklase, un tā pārmantos visus sākotnējās klases atribūtus un īpašības, šī pieeja ļauj ātri un elastīgi apstrādāt sarežģītus datus.