Objektitietokannat: käsite, peruskäsitteet, hallinta, esimerkit

Sisällysluettelo:

Objektitietokannat: käsite, peruskäsitteet, hallinta, esimerkit
Objektitietokannat: käsite, peruskäsitteet, hallinta, esimerkit
Anonim

Oliosuuntautuneissa tietokannoissa (OODB:t) käyttäjät voivat määrittää toimintoja tietylle tietokannalle, joka koostuu objekteista, joita voi olla monenlaisia ja joille on asetettu toiminnot. Ne voivat käsitellä tehokkaasti binääritietoja, kuten multimediaobjekteja. Toinen OODB:n lisäetu on, että se voidaan ohjelmoida pienillä proseduurieroilla vaikuttamatta koko järjestelmään.

Edellytykset standardin luomiselle

Olosuuntautuneiden OODB-tietokantojen historia alkaa viime vuosisadan lopulla. Ne luotiin vastaamaan uusien sovellusten tarpeisiin. Oletuksena oli, että oliopohjaiset tietokannat mullistavat ohjelmistojärjestelmät 1990-luvulla. Nyt on selvää, että näin ei ole. Tämän konseptin elpyminen vapaiden ohjelmistoyhteisöjen kautta ja siihen sopivien sovellusten löytäminen motivoi kuitenkin ominaisuuksien tarkistamista. OODB, joka on vaihtoehto kaikkialla oleville relaatiotietokannoille.

Standardin luomisen edellytykset
Standardin luomisen edellytykset

Objektikeskeisyys tarjoaa joustavuutta joidenkin tai kaikkien vaatimusten käsittelemiseen, eikä se rajoitu perinteisten tietokantojen tietotyyppeihin ja kyselykieliin. OODB:iden keskeinen ominaisuus on niiden kehittäjälle tarjoama kyky, jonka avulla hän voi määrittää sekä monimutkaisten objektien rakenteen että sovellustoiminnot. Toinen syy OODB:iden luomiseen on kielten kasvava käyttö ohjelmistokehityksessä.

Tietokannoista on tullut monien tietojärjestelmien perusta, mutta perinteisiä tietokantoja on vaikea käyttää, kun niitä käyttävät sovellukset on kirjoitettu C++-, Smalltalk- tai Java-kielellä. Esimerkiksi 1C-oliotietokannat suunniteltiin siten, että ne voidaan integroida suoraan sovelluksiin, joissa käytetään oliokieliä ottamalla käyttöön niiden konseptit: Visual Studio. Net, C ++, C, Microsoft SQL Server ja muut.

OODB:n tärkein etu on se, että RMs1:n (impedanssin) tarve eliminoituu kokonaan, minkä jälkeen suorituskykyä parannetaan.

OODB:n tärkein etu
OODB:n tärkein etu

Epäkohdat:

  1. Hyvin primitiiviset konsultointimekanismit, ei itsestandardia hyväksyttyä alustaa.
  2. Ei voi tallentaa proseduureja, koska objekteja voi käyttää vain asiakasohjelmassa.
  3. Markkinoiden epäkypsyys.
  4. Ei objektien fyysistä ryhmittelyä.

Objektiparadigma

Objektiparadigma
Objektiparadigma

Objektipohjaiset tietokannat ovat ohjelmoitavia tietokantoja, jotka tallentavat monimutkaisia tietoja ja niiden suhteita suoraan ilman rivejä ja sarakkeita, joten ne sopivat paremmin suuria eriä käyttäville sovelluksille. Objekteilla on monesta moneen -suhteita, ja ne ovat käytettävissä niihin liittyvien osoittimien avulla suhteiden luomiseksi. Kuten mikä tahansa ohjelmoitava, OODB tarjoaa sovelluskehitysympäristön ja jatkuvan arkiston, joka on valmis käytettäväksi. Se tallentaa ja käsittelee tietoa, joka voidaan digitoida objektien muodossa, tarjoaa nopean pääsyn ja erinomaiset käsittelyominaisuudet.

Olotietokannassa käytetyt peruskäsitteet:

  • objektin identiteetti;
  • konstruktorityyppi;
  • kielen yhteensopivuus;
  • tyyppihierarkiat ja periytyminen;
  • monimutkaisten objektien käsittely;
  • polymorfismi ja operaattorin ylikuormitus;
  • versioiden luominen.
Versiointi
Versiointi

Jotta ottaa täysin huomioon kaikki oliopohjaiselle tietokannalle ominaiset näkökohdat, on tärkeää huomioida kaikki tärkeät objektiparadigmat:

  1. Kapselointi on ominaisuus, jonka avulla voit piilottaa muiden objektien tiedot ja estää siten virheellisen käytön tai ristiriidat.
  2. Perintö on ominaisuus, jolla objektit perivät käyttäytymisen luokkahierarkiassa.
  3. Polymorfismi on operaation ominaisuus, jolla sitä voidaan soveltaaerityyppisiä esineitä.
  4. Toimenpiteen käyttöliittymä tai allekirjoitus sisältää sen argumenttien tai parametrien nimet ja tietotyypit.
  5. Toimenpiteen toteutus tai menetelmä määritellään erikseen ja sitä voidaan muuttaa ilman, että se vaikuttaa käyttöliittymään. Käyttäjäsovellukset voivat työskennellä tietojen kanssa kutsumalla tiettyjä toimintoja niiden nimien ja argumenttien kautta riippumatta siitä, miten ne on toteutettu.

Luokat ja toiminnot

Luokat ja toiminnallisuus
Luokat ja toiminnallisuus

Kun tarkastellaan OODB:n luokkien käsitettä, on tarpeen tehdä ero termien "luokka" ja "tyyppi" välillä. Tyyppiä käytetään kuvaamaan joukko objekteja, joilla on samanlainen käyttäytyminen. Tässä mielessä se riippuu siitä, mitä operaatioita objektille voidaan kutsua. Luokka on kokoelma objekteja, joilla on sama sisäinen rakenne, joten se määrittelee toteutuksen, kun taas tyyppi kuvaa sen käyttöä.

Termi ilmentäminen viittaa siihen, että luokan ilmentämistä voidaan käyttää tuottamaan joukko objekteja, joilla on sama rakenne ja käyttäytyminen kuin luokassa.

Ominaisuus, joka on erittäin tärkeä objektien kehitykselle, on se, että se voi muuttaa luokkaansa, mukaan lukien attribuutit ja toiminnot, säilyttäen samalla identiteetin. Tämä vaatisi mekanismin, joka käsittelee tuloksena olevan semanttisen eheyden.

Organisaatioiden oliotietokannan periminen mahdollistaa luokan määrittämisen jo olemassa olevan superluokan alaluokiksi. Se perii kaikki attribuutit ja menetelmät jälkimmäiseltä ja voi valinnaisesti määrittääoma. Tämä konsepti on tärkeä mekanismi uudelleenkäytön tukemiseksi. Kahden eri luokan rakenteen samat osat voidaan määritellä vain kerran yhteisessä superluokassa, jolloin koodia kirjoitetaan vähemmän. Jotkut järjestelmät sallivat luokan olla useamman kuin yhden superluokan alaluokka. Tätä ominaisuutta kutsutaan moniperinnöksi toisin kuin yksittäisperinnössä.

Esimerkki oliotietokannasta

On usein hyödyllistä käyttää samaa nimeä erilaisille mutta samank altaisille media-superluokan menetelmille kuva- ja videoluokista. Eri katsojat voivat tarkastella monia tiedostoja. Heidän on usein katsottava kaikki valokuvat ja videot "view"-menetelmällä, ja sopiva ohjelma on käynnistettävä. Kun toimintoa kutsutaan ja linkki videoon välitetään, mediasoitin käynnistetään. Tämän ominaisuuden toteuttamiseksi on ensinnäkin tarpeen määritellä "esitys"-toiminto yhteisessä median superluokassa kuva- ja videoluokista. Jokainen alaluokista määrittelee hakutoiminnon uudelleen omien tarpeidensa mukaan. Tämä johtaa erilaisiin menetelmiin, joilla on sama toiminnon nimi. Tässä tapauksessa tämän toiminnon käyttäminen on tärkeä etu.

OODB-rakenne

OODB rakenne
OODB rakenne

Oliosuuntautunut paradigma perustuu kuhunkin objektiin liittyvien tietojen ja koodin kapseloimiseen yhteen moduuliin. Käsitteellisesti kaikki vuorovaikutukset sen ja muun järjestelmän välillä suoritetaan sanomien avulla. Siksi käyttöliittymäniiden välillä määräytyy sallitun joukon mukaan.

Yleensä jokainen objekti liittyy joukkoon:

  1. Muuttujat, jotka sisältävät objektitietoja ja vastaavat ER-mallin attribuutteja.
  2. Viestit, joihin hän vastaa. Jokaisella voi olla tai ei ole parametreja, yksi tai useampi.
  3. Menetelmät, joista jokainen on koodi, joka toteuttaa viestejä ja palauttaa arvon vastauksena niihin.

Viestien lähettäminen OO-ympäristössä ei tarkoita fyysisten tekstiviestien käyttöä tietokoneverkoissa. Päinvastoin, se viittaa pyyntöjen vaihtoon objektien välillä riippumatta niiden toteuttamisen oikeista yksityiskohdista. Joskus lauseke kutsuu menetelmää käynnistääkseen sen tosiasian, että viesti on lähetetty objektille, ja käyttää vastaavan menetelmän suoritusta.

Objektin identiteetti

Objektin identiteetti
Objektin identiteetti

Olopohjainen tietokantajärjestelmä tarjoaa yksilöllisen tunnisteen jokaiselle tietokantaan tallennetulle itsenäiselle objektille. Se toteutetaan yleensä käyttämällä järjestelmän luomaa yksilöllistä objektitunnistetta tai OID:tä. OID-arvo on näkymätön ulkoiselle käyttäjälle, mutta järjestelmä käyttää sitä sisäisesti objektien välisten linkkien hallintaan.

OID:n pääominaisuus on olla muuttumaton. Tietyn kohteen OID-arvo ei saa koskaan muuttua. Tämä säilyttää edustavan todellisen maailman identiteetin. On myös edullista, että kutakin OID:tä käytetään vain kerran, vaikka se poistettaisiin tietokannasta, sen OID:tä ei tule osoittaa toiselle. Usein katsotaan myös sopimattomaksi perustaa se fyysiseen seikkaantallennetun objektin osoite, koska niiden uudelleenjärjestely tietokannassa voi muuttaa OID:tä. Jotkut järjestelmät käyttävät kuitenkin fyysistä osoitetta OID-tunnuksena parantaakseen objektien noudon tehokkuutta. Oliokeskeinen kehys asettaa automaattisesti relaatiorajoituksia, jotka ovat yleensä soveltuvampia: toimialue, avain, objektin eheys ja viiteeheys.

Kolme päärakentajaa

Kolme päärakentajaa
Kolme päärakentajaa

OODB:ssä monimutkaisten objektien arvoja tai tiloja voidaan luoda muista käyttämällä tietyntyyppisiä konstruktoreita. Yksi tapa esittää niitä on ajatella jokaista kolmikkona (i, c, v), jossa i on objektin yksilöllinen tunniste (OID), c on konstruktori, eli osoitin kuinka objektin arvo on luotu, ja v on objektin arvo tai tila. Rakentajia voi olla useita tietomallista ja OO-järjestelmästä riippuen.

Kolme oliopohjaista perustietokannan rakentajaa:

  • atomit;
  • tuples;
  • setit.

Muita yleisempiä käyttötapoja ovat luettelot ja kaaviot. Siellä on myös D-alue, joka sisältää kaikki järjestelmässä suoraan saatavilla olevat perusatomiarvot. Ne sisältävät yleensä kokonaislukuja, reaalilukuja, merkkijonoja, päivämääriä ja minkä tahansa muun tyyppisen tiedon, jota järjestelmä käsittelee suoraan. Sekä objektien rakenne että operaatiot sisältyvät luokkamäärityksiin.

Yhteensopivuus ohjelmointikielten kanssa

Olopohjaisten tietokantojen ydinkäsitteitä käytetäänsuunnittelutyökaluina ja koodattu toimimaan tietokannan kanssa.

On olemassa useita mahdollisia kieliä, joilla nämä käsitteet voidaan integroida:

  1. Laajenna kielen tietojenkäsittelyä, kuten SQL, lisäämällä monimutkaisia tyyppejä ja OOP. Järjestelmät tarjoavat oliopohjaisia laajennuksia relaatiojärjestelmiin, joita kutsutaan oliorelaatiojärjestelmiksi.
  2. Olemassa olevan olioohjelmointikielen käyttäminen ja sen laajentaminen toimimaan tietokantojen kanssa. Niitä kutsutaan pysyviksi ohjelmointikieliksi, ja niiden avulla kehittäjät voivat työskennellä suoraan tietojen kanssa ilman, että heidän tarvitsee käydä läpi tietojenkäsittelykieltä, kuten SQL. Niitä kutsutaan pysyviksi, koska tiedot ovat edelleen olemassa sen luoneen ohjelman päättymisen jälkeen.

Kun päätät käyttää vaihtoehtoa, muista, että pysyvät kielet ovat yleensä tehokkaita, ja on suhteellisen helppoa tehdä ohjelmointivirheitä, jotka vahingoittavat tietokantaa. Kielten monimutkaisuus tekee korkean tason automaattisista optimoinneista, kuten levyn I/O:n pienentämisen, vaikeaksi. Monissa sovelluksissa kyky tehdä deklaratiivisia kyselyitä on tärkeä, mutta pysyvät kielet eivät tällä hetkellä salli tällaisia kyselyitä ilman ongelmia.

Perintötyyppien hierarkia

Objektipohjaiset tietokantaskeemat vaativat yleensä suuren määrän luokkia. Useat luokat ovat kuitenkin samank altaisia keskenään. Jotta niiden väliset yhtäläisyydet voidaan esittää suoraan, sinun on asetettavane erikoisalojen hierarkiaan. Tämä konsepti on samanlainen kuin ER-mallit. Luokka-erikoistumia kutsutaan alaluokiksi, jotka määrittelevät lisäattribuutteja ja -menetelmiä olemassa olevalle luokalle. Alaluokkien avulla luodut objektit perivät kaiken ylätasolta. Jotkut näistä periytyvistä ominaisuuksista ovat saaneet olla lainattuja hierarkiassa ylempänä olevilta.

Objekteja pidetään monimutkaisina, koska ne vaativat paljon tallennustilaa eivätkä kuulu vakiotietotyyppeihin, joita Object Oriented Database Management (OODBS) yleensä tarjoaa. Koska objektien koko on merkittävä, SOOBMS voi vastaanottaa osan objektista ja toimittaa sen sovellukselle ennen koko objektin hankkimista. Se voi myös käyttää puskuri- ja välimuistimenetelmiä saadakseen osat objektista etukäteen, ennen kuin sovellus voi käyttää niitä.

OODB antaa käyttäjille mahdollisuuden luoda uusia tyyppejä, jotka sisältävät sekä rakenteen että toiminnot, tässä tapauksessa laajennettavissa olevan tyyppijärjestelmän. Voit luoda uudentyyppisiä kirjastoja määrittelemällä niiden rakenteen ja toiminnot. Monet niistä voivat tallentaa ja vastaanottaa suuren strukturoidun objektin merkkijonojen ja merkkien tai bittien muodossa, jotka välitetään "sellaisenaan" sovellusohjelmalle tulkintaa varten.

Metodilla voi päästä suoraan kohdeobjektin attribuutteihin nimen perusteella, mukaan lukien kaikki emoluokista perityt, mutta sen on käytettävä muiden objektien attribuutteja toissijaisilla signaaleilla. Konseptin avulla voit yhdistää saman operaattorin nimen tai symbolinkaksi tai useampia eri toteutusta siitä riippuen objektityypeistä, joita se koskee.

Rakennussovellukset

Sovelluksen luominen
Sovelluksen luominen

Monet OO-järjestelmiä käyttävät tietokantasovellukset vaativat useita versioita samasta objektista. Tyypillisesti ylläpitotoimia sovelletaan ohjelmistojärjestelmään niiden vaatimusten muuttuessa, ja niihin liittyy joidenkin kehitys- ja toteutusmoduuleiden muuttamista. Jos järjestelmä on jo käynnissä ja jos yksi tai useampi moduuli on vaihdettava, kehittäjän on luotava jokaisesta niistä uusi versio tekemällä muutoksia.

Huomaa, että objektista voi olla enemmän kuin kaksi versiota, mikäli alkuperäisen moduulin lisäksi tarvitaan kaksi. Saman ohjelmistomoduulin omia versioita voidaan päivittää samanaikaisesti. Tätä kutsutaan rinnakkaiseksi oliopohjaiseksi tietokantasuunnitteluksi. Aina tulee kuitenkin kohta, jossa ne on yhdistettävä, jotta hybridi-OODB voi sisällyttää tehdyt muutokset, jotta ne ovat yhteensopivia.

Objektiohjautuvat olosuhteet

Kaikilla tietokonejärjestelmillä on oltava niiden arkkitehtuurin ominaisuudet, jotta ne voidaan ottaa huomioon. Esimerkiksi järjestelmässä on oltava taulukoita, jotta sitä voidaan pitää relaatioina. OODB ei ole poikkeus ja sisältää joitain objektiarkkitehtuurin perusominaisuuksia. Kuitenkin todellisessa maailmassa monista näistä ominaisuuksista keskustellaan, ja joitain, kuten moniperintöä, pidetään oliopohjaisen tietokantamallin parannuksina sen sijaan, ettäosana peruslinjaa. Esimerkiksi olio-kielessä Smalltalk moniperintöä ei tueta, vaikka sitä pidetään osana objektiarkkitehtuuria.

Luokan menetelmät määrittelevät joukon toimintoja, jotka voidaan suorittaa objektille. Esimerkiksi kun sitä käytetään objektiin, se joko palauttaa arvon tai suorittaa jonkin toiminnon arvojen päivittämiseksi. Joskus menetelmät eivät palauta sitä. Jos menetelmä olisi suunniteltu päivittämään ajoneuvon matkustajamäärää, arvoa ei palautettaisi, mutta kohteen tietoelementti muuttaisi sitä.

Objektit ovat OODB:n peruskäsite. Pohjimmiltaan esineet ovat abstrakteja esityksiä todellisen maailman asioista, jotka on tallennettu siihen. Objekti on luokan esiintymä siinä mielessä, että se jätetään sen määritelmän ulkopuolelle.

Voit ajatella objektia erillisenä pakettina, jossa on kolme osaa:

  1. Omat henkilötiedot, tietoarvot.
  2. Yksityiset proseduurit, jotka manipuloivat arvoja luokkamäärittelyn kautta.
  3. Avaa käyttöliittymä, jotta tämä objekti voi kommunikoida muiden kanssa.

OODB-esimerkit

OODB:n käyttö yksinkertaistaa käsitteellistämistä, koska on luonnollisempaa esittää tallennettavia tietoja. Tietokannan rakenteen tai logiikan mallintamiseksi luokkakaavioiden avulla voit esitellä luokkia niiden rakenteellisilla suhteilla ja periytyvillä. Osan dynamiikasta mallintamiseksi vuorovaikutusta jaKohteiden välistä käyttäytymistä, sekvenssikaaviota käytetään kuvaamaan väliaikaisessa suhteessa olevien objektien välistä vuorovaikutusta, joka kuvaa mahdollisia tiloja, jotta ne voidaan löytää muuttuneessa tilassa tapahtuman jälkeen.

OODB esimerkkejä
OODB esimerkkejä

Alla on esimerkki oliopohjaisesta tietokannasta.

Esimerkkejä oliopohjaisista tietokannoista
Esimerkkejä oliopohjaisista tietokannoista

Heillä on nimi ja elinikä, joka voi olla väliaikaista tai pysyvää. OODB-avain on kyky, jonka ne tarjoavat kehittäjälle määrittää, kuinka monta rakennetta ja toimintoa niihin sovelletaan. Monimutkaisten tietotyyppien käsittelyssä on joustavuutta ja tukea. Voit luoda luokkia ja alaluokkia, esimerkiksi asiakaskannassa voi olla tämän asiakkaan linkin aliluokka, ja se perii kaikki alkuperäisen luokan attribuutit ja ominaisuudet. Tällä lähestymistavalla voit käsitellä monimutkaisia tietoja nopeasti ja joustavasti.

Suositeltava: