Objektumorientált adatbázisok: koncepció, alapfogalmak, kezelés, példák

Tartalomjegyzék:

Objektumorientált adatbázisok: koncepció, alapfogalmak, kezelés, példák
Objektumorientált adatbázisok: koncepció, alapfogalmak, kezelés, példák
Anonim

Az objektum-orientált adatbázisokban (OODB) a felhasználók műveleteket állíthatnak be egy adott adatbázison, amely sokféle típusú objektumból áll, és amelyekhez a műveletek be vannak állítva. Hatékonyan tudják kezelni a bináris információkat, például a multimédiás objektumokat. Az OODB további előnye, hogy kis eljárási eltérésekkel programozható anélkül, hogy az egész rendszerre hatással lenne.

A szabvány létrehozásának előfeltételei

Az objektumorientált OODB adatbázisok története a múlt század végén kezdődik. Az új alkalmazások igényeinek kielégítésére készültek. Az volt a feltételezés, hogy az objektum-orientált adatbázisok forradalmasítják a szoftverrendszereket az 1990-es években. Ma már világos, hogy ez nem így van. Ennek a koncepciónak a szabad szoftverközösségeken keresztüli újjáélesztése és a megfelelő alkalmazások azonosítása azonban indokolja a jellemzők felülvizsgálatát. OODB, amely a mindenütt jelenlévő relációs adatbázisok alternatívája.

A szabvány megalkotásának előfeltételei
A szabvány megalkotásának előfeltételei

Az objektumorientált rugalmasságot biztosít néhány vagy összes követelmény kezelésére, és nem korlátozódik a hagyományos adatbázisok adattípusaira és lekérdezési nyelveire. Az OODB-k kulcsfontosságú jellemzője az a képesség, amelyet a fejlesztő számára biztosítanak, lehetővé téve számára, hogy meghatározza az összetett objektumok szerkezetét és az alkalmazás műveleteit. Az OODB-k létrehozásának másik oka a nyelvek növekvő szoftverfejlesztési használata.

Az adatbázisok sok információs rendszer alapjává váltak, de a hagyományos adatbázisokat nehéz használni, ha az azokat elérő alkalmazások C++, Smalltalk vagy Java nyelven íródnak. Például az 1C objektum-orientált adatbázisokat úgy tervezték meg, hogy közvetlenül integrálhatók legyenek objektum-orientált nyelveket használó alkalmazásokkal a koncepcióik átvételével: Visual Studio. Net, C ++, C, Microsoft SQL Server és mások.

Az OODB fő előnye, hogy teljesen kiküszöböli az RMs1 (impedancia) szükségességét, a későbbi teljesítményjavításokkal.

Az OODB fő előnye
Az OODB fő előnye

Hibák:

  1. Nagyon primitív konzultációs mechanizmusok, nincs önstandard elfogadott platform.
  2. Az eljárások nem tárolhatók, mert az objektumok csak a kliensben érhetők el.
  3. Éretlenség a piacon.
  4. Nincs az objektumok fizikai csoportosítása.

Objektumparadigma

Tárgyparadigma
Tárgyparadigma

Az objektum-orientált adatbázisok olyan programozható adatbázisok, amelyek közvetlenül tárolják az összetett adatokat és azok kapcsolatait sorok és oszlopok hozzárendelése nélkül, így alkalmasabbá teszik őket a nagy kötegekkel működő alkalmazásokhoz. Az objektumok sok-sok kapcsolattal rendelkeznek, és elérhetők a hozzájuk társított mutatók használatával kapcsolatok létrehozásához. Mint minden programozható, az OODB is egy alkalmazásfejlesztő környezetet és egy kiaknázásra kész állandó tárolót biztosít. Tárgyak formájában digitalizálható információkat tárol és kezel, gyors hozzáférést biztosít és nagyszerű feldolgozási lehetőségeket biztosít.

Az objektumorientált adatbázisokban használt alapfogalmak:

  • objektum azonossága;
  • konstruktor típusa;
  • nyelv-kompatibilitás;
  • típushierarchiák és öröklődés;
  • összetett objektumok feldolgozása;
  • polimorfizmus és operátor túlterhelés;
  • verziók létrehozása.
Verziószámítás
Verziószámítás

Annak érdekében, hogy teljes mértékben figyelembe vegyük az objektum-orientált adatbázisokra jellemző összes szempontot, fontos megjegyezni az összes fontos objektum-paradigmát:

  1. A beágyazás egy olyan tulajdonság, amely lehetővé teszi más objektumok információinak elrejtését, ezzel megelőzve a helytelen hozzáférést vagy az ütközéseket.
  2. Az öröklődés egy olyan tulajdonság, amellyel az objektumok öröklik a viselkedést egy osztályhierarchiában.
  3. A polimorfizmus egy művelet olyan tulajdonsága, amellyel alkalmazhatókülönböző típusú objektumok.
  4. Egy művelet interfésze vagy aláírása tartalmazza argumentumainak vagy paramétereinek nevét és adattípusait.
  5. Egy művelet megvalósítása vagy módszere külön van megadva, és az interfész befolyásolása nélkül módosítható. A felhasználói alkalmazások úgy dolgozhatnak az adatokkal, hogy meghatározott műveleteket hívnak meg a nevükön és argumentumaikon keresztül, függetlenül attól, hogy hogyan lettek implementálva.

Osztályok és funkciók

Osztályok és funkcionalitás
Osztályok és funkcionalitás

Az OODB osztályok fogalmának mérlegelésekor különbséget kell tenni az "osztály" és a "típus" között. A típus a hasonló viselkedésű objektumok halmazának leírására szolgál. Ebben az értelemben attól függ, hogy milyen műveletek hívhatók meg az objektumon. Az osztály olyan objektumok gyűjteménye, amelyek ugyanazt a belső struktúrát osztják meg, tehát egy implementációt határoz meg, míg egy típus a használatát írja le.

A példányosítás kifejezés arra a tényre utal, hogy egy osztály példányosítása felhasználható olyan objektumok halmazának előállítására, amelyek szerkezete és viselkedése megegyezik az osztály által beállítottval.

Az objektumok fejlődése szempontjából nagyon fontos tulajdonság, hogy képes megváltoztatni az osztályát, beleértve az attribútumokat és a műveleteket, miközben megőrzi az azonosságot. Ehhez egy olyan mechanizmusra lenne szükség, amely kezeli a keletkező szemantikai integritást.

A szervezet objektumorientált adatbázisának öröklése lehetővé teszi, hogy egy osztályt egy már létező szuperosztály alosztályaként definiáljunk. Ez utóbbitól örökli az összes attribútumot és metódust, és opcionálisan meghatározhatjasaját. Ez a koncepció az újrahasználat támogatásának fontos mechanizmusa. Két különböző osztály szerkezetének ugyanazon részei csak egyszer definiálhatók egy közös szuperosztályban, így kevesebb kód kerül kiírásra. Vannak olyan rendszerek, amelyek lehetővé teszik, hogy egy osztály egynél több szuperosztály alosztálya legyen. Ezt a funkciót többszörös öröklődésnek nevezik, szemben az egyszeres öröklődéssel.

Példa egy objektumorientált adatbázisra

Gyakran hasznos, ha ugyanazt a nevet használjuk a média szuperosztály különböző, de hasonló metódusaihoz a kép és videó osztályokból. Sok fájlt különböző nézők tekinthetnek meg. Gyakran meg kell nézniük az összes fotót és videót a "view" módszerrel, és el kell indítani a megfelelő programot. A funkció meghívásakor és a videóra mutató hivatkozás átadásakor elindul a médialejátszó. Ennek a funkciónak a megvalósításához először is meg kell határozni a "bemutató" műveletet a közös média szuperosztályban a kép és videó osztályokból. Az egyes alosztályok saját igényeiknek megfelelően újradefiniálják a keresési műveletet. Ez különböző metódusokat eredményez, amelyeknek ugyanaz a műveletneve. Ebben az esetben a funkció használatának fontos előnye van.

OODB szerkezet

OODB szerkezet
OODB szerkezet

Az objektum-orientált paradigma az egyes objektumokhoz kapcsolódó adatok és kódok egyetlen modulba való beágyazásán alapul. Elméletileg minden interakció közte és a rendszer többi része között üzenetek segítségével történik. Ezért az interfészközöttük az engedélyezett halmaz határozza meg.

Általában minden objektum egy halmazhoz van társítva:

  1. Objektumadatokat tartalmazó és az ER-modell attribútumainak megfelelő változók.
  2. Üzenetek, amelyekre válaszol. Mindegyiknek lehet paramétere, vagy nem, egy vagy több.
  3. Módszerek, amelyek mindegyike egy kód, amely üzeneteket valósít meg, és válaszul egy értéket ad vissza.

Az üzenetküldés OO környezetben nem jelenti a fizikai SMS használatát a számítógépes hálózatokban. Éppen ellenkezőleg, az objektumok közötti kérések cseréjére vonatkozik, függetlenül azok megvalósításának pontos részleteitől. Néha egy kifejezés metódusokat hív meg annak kiváltására, hogy üzenetet küldtek egy objektumnak, és a megfelelő metódus végrehajtását használja.

Objektumazonosító

Tárgyazonosság
Tárgyazonosság

Az objektum-orientált adatbázis-rendszer egyedi azonosítást biztosít az adatbázisban tárolt minden egyes független objektum számára. Általában rendszer által generált egyedi objektumazonosítóval vagy OID-vel valósítják meg. Az OID érték nem látható a külső felhasználó számára, de a rendszer belsőleg használja az objektumok közötti kapcsolatok kezelésére.

Az OID fő tulajdonsága, hogy megváltoztathatatlan. Egy adott objektum OID értéke soha nem változhat. Ez megőrzi a megjelenített valós világ identitását. Az is előnyös, ha minden OID-t csak egyszer használunk fel, még ha eltávolítjuk is az adatbázisból, az OID-t nem szabad másikhoz rendelni. Gyakran helytelennek tartják azt is, hogy fizikailag alapozzáka tárolóban lévő objektum címét, mivel az adatbázisban való átszervezésük megváltoztathatja az OID-t. Egyes rendszerek azonban a fizikai címet használják OID-ként, hogy növeljék az objektumok visszakeresésének hatékonyságát. Az objektumorientált keretrendszer automatikusan relációs megszorításokat ír elő, amelyek általában jobban alkalmazhatók: tartomány, kulcs, objektum integritás és hivatkozási integritás.

Három fő konstruktor

Három fő konstruktőr
Három fő konstruktőr

Az OODB-ben összetett objektumok értékei vagy állapotai hozhatók létre másokból bizonyos típusú konstruktorok segítségével. Az egyik módja annak, hogy ábrázoljuk őket, ha mindegyiket hármasnak tekintjük (i, c, v), ahol i az objektum egyedi azonosítója (OID), c a konstruktor, vagyis egy mutató arra, hogy az objektum értéke hogyan alakul. létrehozva, v pedig az objektum értéke vagy állapota. Az adatmodelltől és az OO rendszertől függően több konstruktor is lehet.

Három alapvető objektum-orientált adatbázis-konstruktor:

  • atomok;
  • tuples;
  • készletek.

Egyéb gyakoribb felhasználási módok a listák és diagramok. Létezik a D tartomány is, amely tartalmazza a rendszeren közvetlenül elérhető összes alapvető atomi értéket. Általában egész számokat, valós számokat, karakterláncokat, dátumokat és bármilyen más típusú adatot tartalmaznak, amelyet a rendszer közvetlenül kezel. Az objektumok szerkezete és a műveletek egyaránt szerepelnek az osztálydefiníciókban.

Kompatibilitás programozási nyelvekkel

Az objektumorientált adatbázisok alapfogalmait használjáktervezőeszközként és az adatbázissal való együttműködéshez kódolva.

Több lehetséges nyelven integrálhatók ezek a fogalmak:

  1. Az olyan adatfeldolgozási nyelvek kiterjesztése, mint az SQL, összetett típusok és OOP hozzáadásával. A rendszerek objektumorientált kiterjesztést biztosítanak a relációs rendszerekhez, amelyeket objektum-orientált relációs rendszereknek neveznek.
  2. Egy meglévő objektum-orientált programozási nyelv használata és kiterjesztése adatbázisokkal való együttműködésre. Ezeket perzisztens programozási nyelveknek nevezik, és lehetővé teszik a fejlesztők számára, hogy közvetlenül dolgozzanak az adatokkal anélkül, hogy át kellene menniük egy olyan adatfeldolgozó nyelven, mint az SQL. Perzisztensnek nevezik őket, mert az adatok az őket létrehozó program vége után is léteznek.

A választáskor ne feledje, hogy a perzisztens nyelvek általában erősek, és viszonylag könnyű olyan programozási hibákat elkövetni, amelyek károsítják az adatbázist. A nyelvek összetettsége megnehezíti a magas szintű automatikus optimalizálást, például a lemez I/O csökkentését. Sok alkalmazásban fontos a deklaratív lekérdezések lehetősége, de a perzisztens nyelvek jelenleg nem teszik lehetővé az ilyen lekérdezéseket probléma nélkül.

Az öröklődési típusok hierarchiája

Az objektumorientált adatbázissémák általában nagy számú osztályt igényelnek. Azonban több osztály hasonlít egymásra. A köztük lévő hasonlóságok közvetlen ábrázolásához el kell helyezniszakirányok hierarchiájába. Ez a koncepció hasonló az ER modellekhez. Az osztályspecializációkat alosztályoknak nevezzük, amelyek további attribútumokat és metódusokat határoznak meg egy meglévő osztályhoz. Az alosztályokkal létrehozott objektumok mindent a szülőtől örökölnek. Ezen öröklött jellemzők némelyikét maguk is a hierarchiában magasabban lévőktől kölcsönözték.

Az objektumok összetettnek számítanak, mivel nagy mennyiségű tárhelyet igényelnek, és nem tartoznak az objektumorientált adatbázis-kezelés (OODBS) által általában kínált szabványos adattípusok közé. Mivel az objektumok mérete jelentős, a SOOBMS fogadhatja az objektum egy részét, és a teljes objektum megszerzése előtt átadhatja azt egy alkalmazásnak. Használhat puffer- és gyorsítótár-módszereket is, hogy egy objektum részeit idő előtt megszerezze, mielőtt az alkalmazás hozzáférhetne hozzájuk.

Az OODB lehetővé teszi a felhasználók számára, hogy új típusokat hozzanak létre, amelyek struktúrát és műveleteket is tartalmaznak, jelen esetben a bővíthető típusú rendszert. Új típusú könyvtárakat hozhat létre azok szerkezetének és műveleteinek meghatározásával. Sokan képesek tárolni és fogadni egy nagy strukturált objektumot karakterláncok, karakterek vagy bitek formájában, amelyeket „ahogyan” adnak át az alkalmazási programnak értelmezés céljából.

A metódus név szerint közvetlenül elérheti a célobjektum attribútumait, beleértve a szülőosztályoktól örökölt attribútumokat is, de másodlagos jelekkel hozzá kell férnie más objektumok attribútumaihoz. A koncepció lehetővé teszi, hogy ugyanazt az operátornevet vagy szimbólumot társítsa a következőhözkét vagy több különböző megvalósítása, attól függően, hogy milyen objektumokra vonatkozik.

Építőalkalmazások

Alkalmazás létrehozása
Alkalmazás létrehozása

Sok OO rendszert használó adatbázis-alkalmazás ugyanannak az objektumnak több verzióját igényli. Jellemzően a karbantartási tevékenységeket egy szoftverrendszerre alkalmazzák, amikor azok követelményei változnak, és bizonyos fejlesztési és megvalósítási modulokat is módosítanak. Ha a rendszer már fut, és ha egy vagy több modult módosítani kell, a fejlesztőnek mindegyikből új verziót kell létrehoznia a változtatásokkal.

Ne feledje, hogy egy objektumnak kettőnél több verziója is lehet, ha kettőre van szükség az eredeti modulon kívül. Ugyanazon szoftvermodul saját verziói egyidejűleg frissíthetők. Ezt párhuzamos objektum-orientált adatbázis-tervezésnek hívják. Azonban mindig eljön az a pont, amikor ezeket össze kell vonni, hogy a hibrid OODB beépítse az elvégzett módosításokat, hogy azok kompatibilisek legyenek.

Objektumorientált feltételek

Minden számítógépes rendszernek rendelkeznie kell az architektúra tulajdonságaival, hogy figyelembe lehessen venni. Például egy rendszernek táblákkal kell rendelkeznie ahhoz, hogy relációsnak tekinthető. Az OODB sem kivétel, és tartalmazza az objektum architektúra néhány alapvető tulajdonságát. A való világban azonban ezen tulajdonságok közül sokat tárgyalnak, és néhányat, például a többszörös öröklődést, inkább az objektumorientált adatbázis-modell továbbfejlesztésének tekintik, mintsemaz alapvonal részeként. Például a Smalltalk objektumorientált nyelvben a többszörös öröklődés nem támogatott, noha az objektumarchitektúra részének tekintendő.

Az osztály metódusai meghatározzák az objektumon végrehajtható műveletek halmazát. Például, amikor egy objektumra alkalmazzák, akkor vagy értéket ad vissza, vagy végrehajt valamilyen műveletet az értékek frissítésére. Néha a módszerek nem adják vissza. Ha a módszert egy jármű utasszámának frissítésére tervezték, akkor nem adna vissza értéket, de a cél adateleme megváltoztatná azt.

Az objektumok az OODB alapvető fogalmai. Lényegében az objektumok a benne tárolt valós világ dolgainak absztrakt reprezentációi. Az objektum egy osztály példánya abban az értelemben, hogy ki van zárva a definíciójából.

Az objektumot úgy képzelheti el, mint egy önálló csomagot, amely három részből áll:

  1. Saját személyes adatok, adatértékek.
  2. Privát eljárások, amelyek az osztálydefiníción keresztül módosítják az értékeket.
  3. Nyissa meg a felületet, hogy ez az objektum kommunikálhasson másokkal.

OODB példák

Az OODB használata leegyszerűsíti a fogalomalkotást, mert természetesebb a tárolni kívánt információ megjelenítése. Az adatbázis szerkezetének vagy logikájának modellezéséhez az osztálydiagramok használata lehetővé teszi az osztályok strukturális kapcsolataival és öröklődésével való bemutatását. A dinamika egy részének modellezése érdekében az interakció ésAz objektumok közötti viselkedést egy szekvenciadiagram fogja használni az ideiglenes kapcsolatban elhelyezkedő objektumok közötti interakció ábrázolására, leírva a lehetséges állapotokat, hogy azok az esemény bekövetkezte után megváltozott állapot esetén megtalálhatók legyenek.

OODB példák
OODB példák

Példa egy objektum-orientált adatbázisra az alábbiakban látható.

Példák objektum-orientált adatbázisokra
Példák objektum-orientált adatbázisokra

Van egy nevük és egy életük, ami lehet ideiglenes vagy állandó. Az OODB kulcs az a képesség, amelyet a fejlesztőnek biztosítanak annak meghatározására, hogy hány struktúrát és műveletet alkalmazzanak rájuk. Az összetett adattípusok kezeléséhez rugalmasság és támogatás áll rendelkezésre. Létrehozhat osztályokat és alosztályokat, például az ügyfélbázisnak lehet egy alosztálya ennek a kliens hivatkozásának, és az örökli az eredeti osztály összes attribútumait és jellemzőit, ez a megközelítés lehetővé teszi az összetett adatok gyors és rugalmas feldolgozását.

Ajánlott: