Objektově orientované databáze: koncept, základní pojmy, management, příklady

Obsah:

Objektově orientované databáze: koncept, základní pojmy, management, příklady
Objektově orientované databáze: koncept, základní pojmy, management, příklady
Anonim

V objektově orientovaných databázích (OODB) mohou uživatelé nastavovat operace na konkrétní databázi, která se skládá z objektů, které mohou být nejrůznějších typů a pro které jsou operace nastaveny. Mohou efektivně zpracovávat binární informace, jako jsou multimediální objekty. Další přidanou výhodou OODB je, že jej lze naprogramovat s nepatrnými procedurálními rozdíly, aniž by to ovlivnilo celý systém.

Předpoklady pro vytvoření standardu

Historie objektově orientovaných OODB databází začíná na konci minulého století. Byly vytvořeny, aby vyhovovaly potřebám nových aplikací. Předpokladem bylo, že objektově orientované databáze způsobí revoluci softwarových systémů během 90. let. Nyní je jasné, že tomu tak není. Oživení tohoto konceptu prostřednictvím komunit svobodného softwaru a identifikace vhodných aplikací pro něj však motivuje k přezkoumání charakteristikOODB, což je alternativa k všudypřítomným relačním databázím.

Předpoklady pro tvorbu normy
Předpoklady pro tvorbu normy

Objektově orientovaný poskytuje flexibilitu pro zvládnutí některých nebo všech požadavků a není omezen na datové typy a dotazovací jazyky tradičních databází. Klíčovým rysem OODB je schopnost, kterou poskytují vývojáři, což mu umožňuje specifikovat jak strukturu složitých objektů, tak aplikační operace. Dalším důvodem pro vytváření OODB je rostoucí používání jazyků pro vývoj softwaru.

Databáze se staly základem mnoha informačních systémů, ale tradiční databáze se těžko používají, když jsou aplikace, které k nim přistupují, napsány v C++, Smalltalku nebo Javě. Například objektově orientované databáze 1C byly navrženy tak, aby je bylo možné přímo integrovat s aplikacemi využívajícími objektově orientované jazyky převzetím jejich konceptů: Visual Studio. Net, C++, C, Microsoft SQL Server a ostatní.

Hlavní výhodou OODB je úplná eliminace potřeby RMs1 (impedance) s následným vylepšením výkonu.

Hlavní výhoda OODB
Hlavní výhoda OODB

Vady:

  1. Velmi primitivní konzultační mechanismy, žádná samostandardně akceptovaná platforma.
  2. Nelze ukládat procedury, protože objekty jsou přístupné pouze v klientovi.
  3. Nevyzrálost na trhu.
  4. Žádné fyzické seskupování objektů.

Objektové paradigma

Objektové paradigma
Objektové paradigma

Objektově orientované databáze jsou programovatelné databáze, které ukládají složitá data a jejich vztahy přímo bez přiřazování řádků a sloupců, takže jsou vhodnější pro aplikace, které pracují s velkými dávkami. Objekty mají vztahy many-to-many a jsou přístupné pomocí ukazatelů, které jsou s nimi spojeny za účelem navázání vztahů. Jako každý programovatelný program poskytuje OODB prostředí pro vývoj aplikací a trvalé úložiště připravené k využití. Ukládá a manipuluje s informacemi, které lze digitalizovat ve formě objektů, poskytuje rychlý přístup a poskytuje skvělé možnosti zpracování.

Základní koncepty používané v objektově orientované databázi:

  • object identity;
  • typ konstruktoru;
  • jazyková kompatibilita;
  • typ hierarchie a dědičnosti;
  • zpracování složitých objektů;
  • polymorfismus a přetěžování operátorů;
  • vytváření verzí.
Verzování
Verzování

Aby bylo možné plně zvážit všechny aspekty, které charakterizují objektově orientovanou databázi, je důležité poznamenat všechna důležitá objektová paradigmata:

  1. Zapouzdření je vlastnost, která vám umožňuje skrýt informace pro jiné objekty, a tím zabránit nesprávnému přístupu nebo konfliktům.
  2. Dědičnost je vlastnost, pomocí které objekty dědí chování v hierarchii tříd.
  3. Polymorfismus je vlastnost operace, na kterou lze aplikovatrůzné typy objektů.
  4. Rozhraní nebo podpis operace zahrnuje název a datové typy jejích argumentů nebo parametrů.
  5. Implementace nebo metoda operace je specifikována samostatně a lze ji změnit bez ovlivnění rozhraní. Uživatelské aplikace mohou pracovat s daty voláním specifikovaných operací prostřednictvím jejich jmen a argumentů, bez ohledu na to, jak byly implementovány.

Třídy a funkce

Třídy a funkčnost
Třídy a funkčnost

Při zvažování konceptu tříd v OODB je nutné rozlišovat mezi pojmy „třída“a „typ“. Typ se používá k popisu sady objektů s podobným chováním. V tomto smyslu záleží na tom, jaké operace lze na objektu volat. Třída je kolekce objektů, které sdílejí stejnou vnitřní strukturu, takže definuje implementaci, zatímco typ popisuje, jak ji používat.

Pojem konkretizace odkazuje na skutečnost, že konkretizaci třídy lze použít k vytvoření sady objektů, které mají stejnou strukturu a chování, jaké třída nastavila.

Funkce, která je velmi důležitá pro evoluci objektů, je, že může měnit svou třídu, včetně atributů a operací, při zachování identity. To by vyžadovalo mechanismus pro zpracování výsledné sémantické integrity.

Zdědění objektově orientované databáze organizace umožňuje definovat třídu jako podtřídu již existující nadtřídy. Zdědí všechny atributy a metody od druhého a může je volitelně definovatvlastní. Tento koncept je důležitým mechanismem pro podporu opětovného použití. Stejné části struktury dvou různých tříd mohou být definovány pouze jednou ve společné nadtřídě, takže bude napsáno méně kódu. Existují některé systémy, které umožňují třídě být podtřídou více než jedné nadtřídy. Tato funkce se nazývá vícenásobná dědičnost na rozdíl od jediné dědičnosti.

Příklad objektově orientované databáze

Často je užitečné používat stejný název pro různé, ale podobné metody nadtřídy médií z tříd obrázků a videa. Mnoho souborů lze zobrazit různými prohlížeči. Často potřebují prohlížet všechny fotografie a videa metodou „zobrazení“a je nutné spustit příslušný program. Po zavolání funkce a předání odkazu na video se spustí přehrávač médií. Pro implementaci této funkce je v první řadě nutné definovat operaci "prezentace" ve společné nadtřídě médií z tříd obrázek a video. Každá z podtříd předefinuje vyhledávací operaci pro své specifické potřeby. Výsledkem jsou různé metody, které mají stejný název operace. V tomto případě má použití této funkce důležitou výhodu.

Struktura OODB

Struktura OODB
Struktura OODB

Objektově orientované paradigma je založeno na zapouzdření dat a kódu souvisejícího s každým objektem v jediném modulu. Koncepčně jsou všechny interakce mezi ním a zbytkem systému prováděny pomocí zpráv. Proto rozhranímezi nimi je určena povolená množina.

Obecně je každý objekt spojen se sadou:

  1. Proměnné, které obsahují objektová data a odpovídají atributům modelu ER.
  2. Zprávy, na které odpovídá. Každý může nebo nemusí mít parametry, jeden nebo více.
  3. Metody, z nichž každá je kód, který implementuje zprávy a jako odpověď na ně vrací hodnotu.

Zasílání zpráv v prostředí OO neznamená použití fyzických SMS v počítačových sítích. Naopak, odkazuje na výměnu požadavků mezi objekty, bez ohledu na správné detaily jejich implementace. Někdy výraz zavolá metodu, která vyvolá skutečnost, že zpráva byla odeslána objektu, a použije provedení odpovídající metody.

Identita objektu

Identita objektu
Identita objektu

Objektově orientovaný databázový systém poskytuje jedinečnou identifikaci pro každý nezávislý objekt uložený v databázi. Obvykle se implementuje pomocí systémem generovaného jedinečného identifikátoru objektu nebo OID. Hodnota OID je pro externího uživatele neviditelná, ale systém ji používá interně ke správě propojení mezi objekty.

Hlavní vlastností OID je být neměnný. Hodnota OID pro konkrétní objekt by se nikdy neměla měnit. Tím je zachována identita reprezentovaného reálného světa. Je také výhodné, aby bylo každé OID použito pouze jednou, i když je odstraněno z databáze, jeho OID by nemělo být přiřazeno jinému. Často se také považuje za nevhodné vycházet z fyzickéhoadresu objektu v úložišti, protože jejich reorganizace v databázi může změnit OID. Některé systémy však používají fyzickou adresu jako OID ke zvýšení efektivity načítání objektů. Objektově orientovaný rámec automaticky ukládá relační omezení, obvykle použitelnější: doména, klíč, integrita objektu a referenční integrita.

Tři hlavní konstruktéři

Tři hlavní konstruktéři
Tři hlavní konstruktéři

V OODB lze hodnoty nebo stavy složitých objektů vytvářet z jiných pomocí konstruktorů určitých typů. Jedním ze způsobů, jak je reprezentovat, je uvažovat o každém jako o trojici (i, c, v), kde i je jedinečný identifikátor objektu (OID), c je konstruktor, tedy ukazatel na to, jak je hodnota objektu vytvořeno a v je hodnota nebo stav objektu. V závislosti na datovém modelu a systému OO může existovat více konstruktorů.

Tři základní objektově orientované databázové konstruktory:

  • atoms;
  • n-tice;
  • sady.

Další běžnější použití jsou seznamy a grafy. Existuje také doména D, která obsahuje všechny základní atomické hodnoty přímo dostupné v systému. Obvykle zahrnují celá čísla, reálná čísla, znakové řetězce, data a jakýkoli jiný typ dat, se kterými systém přímo zpracovává. Struktura objektů i operací jsou zahrnuty v definicích tříd.

Kompatibilita s programovacími jazyky

Základní koncepty objektově orientovaných databází se používají vjako designové nástroje a kodifikované pro práci s databází.

Existuje několik možných jazyků, do kterých lze tyto koncepty integrovat:

  1. Rozšíření jazyka pro zpracování dat, jako je SQL, přidáním komplexních typů a OOP. Systémy poskytují objektově orientovaná rozšíření relačních systémů, nazývaná objektově orientované relační systémy.
  2. Použití existujícího objektově orientovaného programovacího jazyka a jeho rozšíření pro práci s databázemi. Říká se jim perzistentní programovací jazyky a umožňují vývojářům pracovat přímo s daty, aniž by museli procházet jazykem pro zpracování dat, jako je SQL. Říká se jim perzistentní, protože data nadále existují i po skončení programu, který je vytvořil.

Při rozhodování, kterou možnost použít, mějte na paměti, že perzistentní jazyky bývají výkonné a je relativně snadné dělat programátorské chyby, které poškozují databázi. Složitost jazyků ztěžuje automatické optimalizace na vysoké úrovni, jako je snížení diskových I/O. V mnoha aplikacích je důležitá schopnost provádět deklarativní dotazy, ale perzistentní jazyky v současnosti takové dotazy bez problémů neumožňují.

Hierarchie typů dědičnosti

Objektově orientovaná databázová schémata obvykle vyžadují velký počet tříd. Některé třídy jsou si však navzájem podobné. Chcete-li umožnit přímou reprezentaci podobností mezi nimi, musíte dátdo hierarchie specializací. Tento koncept je podobný modelům ER. Specializace tříd se nazývají podtřídy, které definují další atributy a metody pro existující třídu. Objekty vytvořené s podtřídami dědí vše od rodiče. Některé z těchto zděděných vlastností si mohly samy vypůjčit od těch výše v hierarchii.

Objekty jsou považovány za složité, protože vyžadují velké množství úložného prostoru a nejsou součástí standardních datových typů, které obvykle nabízí Object Oriented Database Management (OODBS). Protože velikost objektů je významná, SOOBMS může přijmout část objektu a poskytnout ji aplikaci před získáním celého objektu. Může také používat metody vyrovnávací paměti a mezipaměti k získání částí objektu s předstihem, než k nim aplikace může přistupovat.

OODB umožňuje uživatelům vytvářet nové typy, které zahrnují strukturu i operace, v tomto případě systém rozšiřitelných typů. Můžete vytvářet knihovny nových typů definováním jejich struktury a operací. Mnohé z nich mohou ukládat a přijímat velký strukturovaný objekt ve formě řetězců a znaků nebo bitů, které jsou předány „tak jak jsou“aplikačnímu programu k interpretaci.

Metoda může přímo přistupovat k atributům cílového objektu podle jména, včetně všech zděděných od nadřazených tříd, ale musí přistupovat k atributům jiných objektů se sekundárními signály. Tento koncept vám umožňuje přiřadit stejné jméno operátora nebo symboldvě nebo více různých implementací, v závislosti na typu objektů, na které se vztahuje.

Vytváření aplikací

Vytvoření aplikace
Vytvoření aplikace

Mnoho databázových aplikací využívajících OO systémy vyžaduje více verzí stejného objektu. Činnosti údržby jsou obvykle aplikovány na softwarový systém, jak se mění jeho požadavky, a zahrnuje změnu některých vývojových a implementačních modulů. Pokud je systém již spuštěn a pokud je třeba změnit jeden nebo více modulů, musí vývojář vytvořit novou verzi každého z nich provedením změn.

Všimněte si, že mohou existovat více než dvě verze objektu, v případě, že jsou vyžadovány dvě navíc k původnímu modulu. Vlastní verze stejného softwarového modulu lze aktualizovat současně. Tomu se říká paralelní objektově orientovaný návrh databáze. Vždy však dojde k bodu, kdy je třeba je sloučit, aby hybridní OODB začlenil provedené změny, aby byly kompatibilní.

Objektově orientované podmínky

Všechny počítačové systémy musí mít vlastnosti své architektury, aby mohly být brány v úvahu. Například systém musí mít tabulky, aby mohl být považován za relační. OODB není výjimkou a obsahuje některé základní vlastnosti objektové architektury. V reálném světě se však o mnoha z těchto vlastností diskutuje a některé, jako například vícenásobná dědičnost, jsou považovány spíše za vylepšení objektově orientovaného databázového modelu než zajako součást základní linie. Například v objektově orientovaném jazyce Smalltalk není podporována vícenásobná dědičnost, i když je považována za součást architektury objektů.

Metody pro třídu definují sadu operací, které lze s objektem provádět. Například, když je aplikován na objekt, buď vrátí hodnotu, nebo provede nějakou operaci k aktualizaci hodnot. Někdy to metody nevrátí. Pokud by metoda byla navržena tak, aby aktualizovala počet cestujících pro vozidlo, nebyla by vrácena žádná hodnota, ale datový prvek v cíli by ji změnil.

Objekty jsou základním pojmem v OODB. Předměty jsou v podstatě abstraktní reprezentací věcí reálného světa, které jsou v něm uloženy. Objekt je instancí třídy v tom smyslu, že je vyloučen z její definice.

Předmět si můžete představit jako samostatný balíček, který má tři části:

  1. Vlastní osobní informace, datové hodnoty.
  2. Soukromé procedury, které budou manipulovat s hodnotami prostřednictvím definice třídy.
  3. Otevřete rozhraní, aby tento objekt mohl komunikovat s ostatními.

Příklady OODB

Použití OODB zjednodušuje konceptualizaci, protože je přirozenější reprezentovat informace, které je třeba uložit. K modelování struktury nebo logiky databáze vám použití diagramů tříd umožňuje představit třídy s jejich strukturálními vztahy a dědičností. Za účelem modelování části dynamiky, interakce achování mezi objekty, sekvenční diagram bude použit k reprezentaci interakce mezi objekty umístěnými v dočasném vztahu, popisující možné stavy tak, aby je bylo možné nalézt vzhledem ke změněnému stavu po události.

Příklady OODB
Příklady OODB

Příklad objektově orientované databáze je uveden níže.

Příklady objektově orientovaných databází
Příklady objektově orientovaných databází

Mají jméno a dobu života, která může být dočasná nebo trvalá. Klíč OODB je schopnost, kterou poskytují vývojáři, aby určil, kolik struktur a operací na ně bude aplikováno. Existuje flexibilita a podpora pro zpracování složitých datových typů. Můžete vytvářet třídy a podtřídy, například klientská báze může mít podtřídu odkazu tohoto klienta a zdědí všechny atributy a vlastnosti původní třídy, tento přístup vám umožňuje rychle a flexibilně zpracovávat komplexní data.

Doporučuje: