Wikipedista:Josef Vlach/Pískoviště5

Objektová-relační databáze

editovat

Objektově-relační databáze (ORD) nebo objektově-relační databázový systém (ORDBMS) je systém správy databáze (DBMS) podobný relační databázi, ale objektově orientovaný databázový model: objekty, třídy a dědičnost jsou přímo podporované v databázových schématech a v jazyce dotazu. Kromě toho, stejně jako u čistých relačních systémů, podporuje rozšíření datového modelu o vlastní typy a metody dat.

Objektově-relační databázi lze říci, že poskytuje prostřední základnu mezi relačními databázemi a objektově orientovanými databázemi (objektová databáze). V objektově-relačních databázích je v podstatě přístup relačních databází: data jsou uložena v databázi a jsou manipulována kolektivně s dotazy v jazyce dotazu; na druhém konci jsou OODBMSes, ve kterých je databáze v podstatě trvalým objektem pro software napsaný v objektově orientovaném programovacím jazyce s programovacím API pro ukládání a načítání objektů a malou nebo žádnou specifickou podporu pro dotazování.

Přehled

editovat

Základní potřeby objektově-relační databáze vyplývá ze skutečnosti, že relační a objektová databáze mají své individuální výhody a nevýhody. Izomorfismus relačního databázového systému s matematickým vztahem mu umožňuje využívat mnoho užitečných technik a teorémů z teorie množin. Tyto typy databází však nejsou užitečné, pokud jde o složitost dat a jejich nesoulad mezi žádostí a DBMS. Objektově orientovaný databázový model umožňuje kontejnery, jako jsou soupravy a seznamy, libovolné uživatelsky definované datové typy a také vnořené objekty. To přináší shodu mezi systémy typů aplikací a databázovými systémy, které odstraňují jakýkoliv problém nesouladu impedance. Objectové databáze, na rozdíl od relačních, však neposkytují matematickou základnu pro jejich hlubokou analýzu.

Základním cílem objektové relační databáze je překlenout propast mezi relačními databázemi a objektově orientovanými modelovacími technikami používanými v programovacích jazycích, jako je Java, C ++, Visual Basic .NET nebo C #. Nicméně, populárnější alternativou pro dosažení takového mostu je použití standardních relačních databázových systémů s nějakou formou softwaru objektově-relačního mapování (ORM). Zatímco tradiční RDBMS nebo SQL-DBMS produkty zaměřené na efektivní správu dat z omezeného souboru datových typů (definovaných příslušnými jazykovými standardy), objektově relační DBMS umožňuje vývojářům softwaru integrovat své vlastní typy a metody, které vztahuje se na ně v DBMS.

ORDBMS (jako ODBMS nebo OODBMS) je integrován s objektově orientovaným programovacím jazykem. Charakteristické vlastnosti ORDBMS jsou 1) složitá data, 2) dědičnost typu a 3) chování objektu. Vytvoření komplexních dat ve většině ORDBMS SQL je založeno na předběžné definici schématu přes uživatelsky definovaný typ (UDT). Hierarchie v rámci strukturovaných komplexních dat nabízí další vlastnost, typové dědictví. To znamená, že strukturovaný typ může mít podtypy, které znovu používají všechny jeho atributy a obsahují další atributy specifické pro daný podtyp. Další výhodou je chování objektu, které se vztahuje k přístupu k programovým objektům. Takové programové objekty musí být uchovávány a přenositelné pro zpracování databáze, proto jsou obvykle označovány jako trvalé objekty. V rámci databáze jsou všechny vztahy s trvalým programovým objektem vztahy s identifikátorem objektu (OID). Všechny tyto body lze řešit ve správném relačním systému, i když standard SQL a jeho implementace ukládají libovolná omezení a další složitost [4]

Historie

editovat

Objektově-relační systémy pro správu databází vyrastaly z výzkumu, který se objevil na počátku 90. let. Tento výzkum rozšířil existující koncepce relačních databází o přidání konceptu objektů. Vědci se zaměřili na zachování deklarativního dotazovacího jazyka založeného na predikátním počtu jako na ústřední součást architektury. Pravděpodobně nejpozoruhodnějším výzkumným projektem, Postgres (UC Berkeley), vytvořil dva produkty, které sledují svůj výzkum: Illustra a PostgreSQL.V polovině devadesátých let se objevily brzy komerční produkty. Mezi ně patří Illustra (Illustrační informační systémy získané společností Informix Software, které IBM získalo), Omniscience (společnost Omniscience Corporation, získaná společností Oracle Corporation a stala se původním Oracle Lite) a UniSQL (UniSQL, získané společností KCOMS). Ukrajinský vývojář Ruslan Zasukhin, zakladatel společnosti Paradigma Software, Inc., vyvinul a dodal první verzi databáze Valentina v polovině devadesátých let jako C ++ SDK. V příštím desetiletí se společnost PostgreSQL stala komerčně životaschopnou databází a je základem pro několik současných produktů, které si zachovávají své funkce ORDBMS. Vědci v oblasti výpočetní techniky přišli na tyto produkty označit jako "systémy pro správu relativních objektů" nebo ORDBMS. Mnoho z myšlenek časných objektově-relačních databázových snah se do značné míry začlenilo do SQL: 1999 prostřednictvím strukturovaných typů. Ve skutečnosti může být jakýkoli produkt, který dodržuje objektově orientované aspekty SQL: 1999, popsán jako objektově-relační produkt pro správu databáze. Databáze IBM DB2, Oracle a Microsoft SQL Server například tvrdí, že podporují tuto technologii a dělají to s různou mírou úspěchu.