Objektum-orientált adatbázisok: koncepció, alapfogalmak, menedzsment, példák

Az objektum-orientált adatbázisokban (oobd) a felhasználók műveleteket állíthatnak be egy adott adatbázissal, amely objektumokból áll különböző típusok és mely műveletek vannak beállítva. Hatékonyan tudják feldolgozni a bináris információkat, például a multimédiás objektumokat. Az OOBD további előnye, hogy kis eljárási különbségekkel programozható anélkül, hogy az egész rendszert befolyásolná.

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

Az objektum-orientált oobd adatbázisok története a múlt század végén kezdődik. Ezeket az új alkalmazások igényeinek kielégítésére hozták létre. Ugyanakkor feltételezték, hogy az objektumorientált adatbázisok forradalmasítják a szoftverrendszereket a 90-es években. Jelenleg egyértelmű, hogy nem ez a helyzet. Ennek a koncepciónak a szabad szoftverközösségeknek köszönhetően történő újjáéledése, valamint az ehhez megfelelő alkalmazások azonosítása azonban motiválja a DBMS jellemzőinek felülvizsgálatát, amely alternatívája a mindenütt jelenlévő relációs adatbázisoknak.

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

Az objektumorientáció rugalmasságot biztosít néhány vagy az összes követelmény kezeléséhez, és nem korlátozódik a hagyományos adatbázisok adattípusaira és lekérdezési nyelveire. Az OOBD-k egyik legfontosabb jellemzője az a lehetőség, amelyet a fejlesztőnek nyújtanak, lehetővé téve számára, hogy meghatározza mind a komplex objektumok szerkezetét, mind a alkalmazási műveletek. Egy másik a létrehozás oka Az OOBD a nyelvek növekvő használata a szoftverfejlesztéshez.

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

Az OOBD fő előnye az RMs1 (impedancia) szükségességének teljes kiküszöbölése a későbbi teljesítményjavítással.

Az OOBD fő előnye

Hátrányok:

  1. Nagyon primitív tanácsadási mechanizmusok, az elfogadott platform független szabványa nélkül.
  2. A tárolt eljárások lehetetlensége, mivel az objektumok csak az ügyfélben tekinthetők meg.
  3. Éretlenség a piacon.
  4. Az objektumok fizikai csoportosítása nem létezik.

Objektum paradigma

Objektum paradigma

Az objektumorientált adatbázisok olyan programozható adatbázisok, amelyek komplex adatokat és azok kapcsolatait közvetlenül, sorok és oszlopok hozzárendelése nélkül tárolják, ami alkalmasabbá teszi őket a nagy csomagokkal dolgozó alkalmazásokhoz. Az objektumok sok-sok kapcsolattal rendelkeznek, és a hozzájuk kapcsolódó mutatók használatával érhetők el a kapcsolatok létrehozásához. Mint minden programozható adatbázis, ez is környezetet biztosít az alkalmazásfejlesztéshez és egy állandó, üzemkész adattárat. Tárolja és manipulálja az objektumként digitalizálható információkat, gyors hozzáférést és nagyszerű feldolgozási képességeket biztosít.

Objektum-orientált adatbázisban használt alapfogalmak:

  • objektumok azonosítása;
  • konstruktor típusa;
  • nyelvi kompatibilitás;
  • hierarchiák és öröklődés;
  • összetett objektumok feldolgozása;
  • polimorfizmus és kezelői túlterhelés;
  • verziók létrehozása.
Verziók létrehozása

Annak érdekében, hogy teljes mértékben figyelembe vegye az összes szempontot, milyen fogalmakról jellemezze az objektum-orientált adatbázist, fontos megjegyezni az objektum összes fontos paradigmáját:

  1. A kapszulázás olyan tulajdonság, amely lehetővé teszi más objektumok információinak elrejtését, ezáltal megakadályozva a helytelen hozzáférést vagy konfliktusokat.
  2. Az öröklés olyan tulajdonság, amellyel az objektumok öröklik a viselkedést egy osztályhierarchiában.
  3. A polimorfizmus egy olyan művelet tulajdonsága, amellyel különböző típusú objektumokra alkalmazható.
  4. A művelet interfésze vagy aláírása tartalmazza az argumentumok vagy paraméterek nevét és adattípusait.
  5. A művelet végrehajtása vagy módja külön van megadva, és megváltoztatható az interfész befolyásolása nélkül. A felhasználói alkalmazásprogramok úgy dolgozhatnak az adatokkal, hogy a megadott műveleteket nevükön és argumentumaikon keresztül hívják meg, függetlenül attól, hogy hogyan hajtották végre őket.

Osztályok és funkcionalitás

Osztályok és funkcionalitás

Figyelembe véve az osztályok fogalmát az OOBD-ben, meg kell különböztetni az "osztály" és a "típus"kifejezéseket. 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űveleteket lehet meghívni az objektumon. Az osztály olyan objektumok halmaza, amelyeknek ugyanaz a belső szerkezete, tehát meghatározza az implementációt, a típus pedig leírja annak használatát.

A "példányosítás" kifejezés arra a tényre irányul, hogy az osztály specifikációja alkalmazható olyan objektumok halmazának kialakítására, amelyek ugyanolyan szerkezettel és viselkedéssel rendelkeznek, mint az osztály.

Egy funkció, ez nagyon az objektumok evolúciója szempontjából fontos, hogy meg tudja változtatni az osztályát, beleértve az attribútumokat és a műveleteket, miközben megőrzi az identitást. Ehhez mechanizmusra lesz szükség a kapott szemantikai integritás kezeléséhez.

A szervezet objektum-orientált adatbázisának öröklése lehetővé teszi egy osztály meghatározását egy már létező szuperosztály alosztályaként. Ez örökli az összes attribútumot és metódust az utóbbitól, és emellett meghatározhatja a sajátját. Ez a koncepció fontos mechanizmus az újrafelhasználás támogatására. Két különböző osztály struktúrájának ugyanazok a részei csak egyszer definiálhatók egy közös szuperosztályban, így kevesebb kód lesz írva. 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ésnek nevezzük, szemben az egyszeri örökléssel.

Példa objektum-orientált adatbázisra

Gyakran hasznos ugyanazt a nevet használni a Média szuperosztály különböző, de hasonló módszereihez a kép-és videóosztályokból. Sok fájlt különböző nézők tekinthetnek meg. Gyakran szükségük van az összes fénykép és videó megtekintésére a "nézet" módszerrel, és a megfelelő programot el kell indítani. A funkció hívásakor a médialejátszó elindul. Ennek a funkciónak a megvalósításához először is meg kell határozni a "nézet" műveletet az általános média szuperosztályban a kép-videó osztályokból. Az alosztályok mindegyike újradefiniálja a nézet műveletet a sajátos igényeihez. Ez különböző módszereket eredményez, amelyeknek ugyanaz a műveleti neve. Ebben az esetben ennek a funkciónak a használata fontos előnyt jelent.

Oobd szerkezet

Oobd szerkezet

Az objektumorientált paradigma az egyes objektumokhoz kapcsolódó adatok és kódok egyetlen modulba történő beágyazásán alapul. Fogalmilag minden interakció a rendszer többi részével üzenetek segítségével történik. Ezért a köztük lévő interfészt a megengedett készlet határozza meg.

Általában minden objektum egy készlethez van társítva:

  1. Objektumadatokat tartalmazó és az ER modell attribútumainak megfelelő változók.
  2. Üzenetek, amelyekre válaszol. Mindegyiknek lehetnek paraméterei, vagy nem, egy, vagy több.
  3. Metódusok, amelyek mindegyike olyan kód, amely végrehajtja az üzeneteket, és egy értéket ad vissza válaszként.

Az OO környezetben lévő üzenet 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 utal, függetlenül azok végrehajtásának helyes részleteitől. Néha egy kifejezés meghív egy metódust, hogy kezdeményezze az üzenet küldésének tényét egy objektumra, és a megfelelő metódus végrehajtását használja.

Objektumazonosító objektum

identitás

Az objektumorientált adatbázis-rendszer egyedi azonosítást biztosít az adatbázisban tárolt minden független objektumhoz. Általában a rendszer által generált objektum egyedi azonosítójával vagy OID-vel valósul meg. Az OID érték láthatatlan egy 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 képviselt valós világ identitását. Az is előnyös, ha minden OID-t csak egyszer használnak, még akkor is, ha eltávolítják az adatbázisból, OID-jét nem szabad hozzárendelni egy másikhoz. Gyakran nem tartják helyénvalónak az objektum fizikai címére alapozni az adattárban, mivel az adatbázisban történő átszervezésük megváltoztathatja az OID-t. Egyes rendszerek azonban fizikai címet használnak OID-ként az objektumok fogadásának hatékonyságának növelése érdekében. Az objektum-orientált struktúra automatikusan relációs korlátozásokat vezet be, amelyek általában jobban alkalmazhatók: tartomány, kulcs, objektum integritás és referenciális integritás.

Három fő konstruktor

Három fő konstruktor

Az OOBD-ben komplex objektumok értékei vagy állapotai hozhatók létre másokból bizonyos típusú konstruktorok segítségével. Az ábrázolás egyik módja az, hogy mindegyiket triplettként kezeljük (i, c, v), ahol i az objektum egyedi azonosítója (OID), c konstruktor, Vagyis mutató az objektum értékének létrehozására, v pedig az objektum értéke vagy állapota. Az adatmodelltől és az OO rendszertől függően több konstruktor is lehet.

Az objektum-orientált adatbázisok három fő konstruktora:

  • atomok;
  • tuples;
  • készletek.

Más általánosabb használatra listák és sémák. Van egy D tartomány is, amely tartalmazza a rendszerben közvetlenül elérhető összes alapvető atomértéket. Ezek általában egész számokat és valós számokat, karakterláncokat, dátumokat és bármely más adattípust tartalmaznak, amelyeket a rendszer közvetlenül feldolgoz. Mind az objektumszerkezet, mind a műveletek szerepelnek az osztálydefiníciókban.

Kompatibilitás a programozási nyelvekkel

Alapfogalmak objektum-orientált adatbázisok használják tervezési eszközök és kodifikált dolgozni DB-vel.

Számos lehetséges nyelv létezik, amelyekbe ezek a fogalmak integrálhatók:

  1. Nyelv kiterjesztése adatfeldolgozásra, például SQL, összetett típusok és OOP hozzáadásával. A rendszerek objektum-orientált kiterjesztéseket biztosítanak a relációs rendszerek számára, az úgynevezett objektum-orientált relációs rendszerek.
  2. Egy meglévő objektum-orientált programozási nyelvet alkalmaznak, és kiterjesztik az adatbázisokkal való együttműködésre. Tartósnak nevezik őket programozási nyelvek lehetővé teszi a fejlesztők számára, hogy közvetlenül dolgozzanak az adatokkal anélkül, hogy át kellene menniük nyelv a adatfeldolgozás, például SQL. Állandónak hívják őket, mert az adatok továbbra is léteznek, miután az őket létrehozó program befejeződött.

Amikor eldönti, hogy melyik opciót használja, szüksége van szem előtt tartani, hogy az állandó nyelvek általában erősek, és viszonylag könnyű programozási hibákat elkövetni, amelyek károsítják az adatbázist. A nyelvek bonyolultsága megnehezíti a magas szintű automatikus optimalizálást, például a lemez I/O csökkentését. Számos alkalmazásban nagy jelentőséggel bír a deklaratív lekérdezések lehetősége, de a tartós nyelvek jelenleg nem teszik lehetővé az ilyen lekérdezéseket problémamentesen.

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

Az objektumorientált adatbázis-sémák általában nagyszámú osztályt igényelnek. Több osztály azonban hasonló egymáshoz.A köztük lévő hasonlóságok közvetlen ábrázolásának lehetővé tétele érdekében a szakterületek hierarchiájába kell helyeznie őket. Ez a koncepció hasonló az ER modellekhez. Az osztályok specializációit alosztályoknak nevezzük, amelyek további attribútumokat és metódusokat határoznak meg egy meglévő osztály számára. Az alosztályok segítségével létrehozott objektumok mindent örökölnek a szülőtől. Ezen örökölt tulajdonságok egy részét maguk is a hierarchia magasabb szintjétől kölcsönözhették.

Az objektumok összetettnek tekinthetők, mivel jelentős tárterületet igényelnek, és nem tartoznak az objektumorientált adatbázis-kezelés (oobd) által általában kínált szabványos adattípusok közé. Mivel az objektumok mérete jelentős, a DBMS megszerezheti az objektum egy részét, és átadhatja azt az alkalmazási programnak, mielőtt megkapja a teljes objektumot. Ezenkívül puffer-és gyorsítótárazási módszereket is használhat az objektum egyes részeinek előzetes megszerzéséhez, mielőtt az alkalmazásprogram hozzáférne hozzájuk.

Az OOBD lehetővé teszi a felhasználók számára, hogy új típusokat hozzanak létre, amelyek a következőket tartalmazzák mindkettő struktúra és műveletek, ebben az esetben ez egy bővíthető típusú rendszer. Új típusú könyvtárakat hozhat létre a szerkezetük és műveleteik meghatározásával. Sokuk képes tárolni és fogadni egy kiterjedt strukturált objektumot karakterláncok és szimbólumok vagy bitek formájában, amelyeket átadnak."ahogy van"a tolmácsolási pályázati programhoz.

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

Alkalmazások létrehozása

Alkalmazások létrehozása

Számos oo-rendszert használó adatbázis-alkalmazáshoz ugyanazon objektum több verziója szükséges. A karbantartási műveleteket általában egy szoftverrendszerre alkalmazzák, mivel azok követelményei megváltoznak, és magában foglalja néhány fejlesztési és végrehajtási modul megváltoztatását. Ha a rendszer már fut, és ha egy vagy több modult meg kell változtatni, a fejlesztőnek mindegyik új verzióját módosítania kell.

Meg kell jegyezni, hogy az objektumnak több mint két változata lehet, ha az eredeti modulon kívül kettőre van szükség. Ugyanazon szoftvermodul saját verziói egyszerre frissíthetők. Ezt nevezzük objektum-orientált adatbázisok párhuzamos tervezésének. Azonban mindig eljön az idő, amikor össze kell kapcsolni őket, hogy a hibrid OOBD tartalmazza a végrehajtott változtatásokat, kompatibilisnek kell lenniük.

Objektumorientált feltételek

Minden számítógépes rendszernek rendelkeznie kell az architektúra tulajdonságaival, hogy figyelembe lehessen venni őket. Például egy rendszernek rendelkeznie kell táblákkal, hogy relatívnak lehessen tekinteni. Az OOBD sem kivétel, az objektumarchitektúra néhány alapvető tulajdonságát tartalmazza. A való világban azonban sok ilyen tulajdonságot tárgyalnak, néhányat, például a többszörös öröklést, úgy tekintenek fejlesztések az objektum-orientált adatbázis modellhez, nem pedig az alapkeret részeként. Például a Smalltalk objektumorientált nyelvben a többszörös öröklés nem támogatott, még akkor sem, ha az objektumarchitektúra részének tekinthető.

Egy osztály metódusai egy objektumon végrehajtható műveletek halmazát definiálják. Például, amikor egy objektumra alkalmazzák, vagy értéket ad vissza, vagy valamilyen műveletet hajt végre az értékek frissítéséhez. Néha a módszerek nem adják vissza. Ha a módszert úgy tervezték, hogy frissítse az utasok számát jármű, , a rendszer nem ad vissza értéket, de a cél adateleme megváltoztatja.

Az objektumok alapvető fogalom az OOBD-ben. Valójában az objektumok a valós világ dolgainak absztrakt ábrázolása, amelyek benne vannak tárolva. Az objektum egy osztály példánya abban az értelemben, hogy ki van zárva a definíciójából.

Gondolhat egy objektumra, mint egy önálló csomagra, amely három részből áll:

  1. Saját személyes adatok, adatértékek.
  2. Privát eljárások, amelyek manipulálják az értékeket az osztály meghatározása révén.
  3. Nyílt felület, hogy ez az objektum kommunikálhasson másokkal.

Példák az OOBD-re

Az OOBD használata egyszerűsíti a konceptualizációt, mivel természetesebb a megőrzendő információk ábrázolása. Az adatbázis szerkezetének vagy logikájának modellezéséhez az osztálydiagramok segítségével osztályokat lehet bevezetni azok strukturális kapcsolataival és öröklődésével. Az objektumok közötti dinamika, interakció és viselkedés egy részének szimulálása érdekében egy sorozatdiagramot használunk az ideiglenes kapcsolatban lévő objektumok közötti interakció ábrázolására, leírva a lehetséges állapotokat, hogy azok megtalálhatók legyenek, figyelembe véve az esemény bekövetkezése után megváltozott állapotot.

Példák az OOBD-re

Az objektum-orientált adatbázisok példáját az alábbiakban mutatjuk be.

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

Van egy nevük és egy életük, amely lehet rövid távú vagy állandó. Az OOBD kulcsa az a képesség, amelyet a fejlesztő számára biztosítanak annak meghatározására, hogy hány struktúrát és műveletet alkalmaznak rájuk. Rugalmasság és támogatás a komplex adattípusok feldolgozásához. Létrehozhat osztályokat és alosztályokat, például egy ügyfélbázisnak lehet egy alosztálya az ügyfél referenciájának, és örökölni fogja a forrásosztály összes attribútumát és jellemzőjét, ez a megközelítés lehetővé teszi a komplex adatok gyors és rugalmas feldolgozását.

Cikkek a témában