Objektově orientované systémy databází

Verze z 22. 9. 2014, 00:45, kterou vytvořil Daria Roik (diskuse | příspěvky) (Založena nová stránka s textem „==Typy databází== Na současném databázovém trhu existují tři základní typy – relační databáze ('''Relational Database Manageme…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Typy databází

Na současném databázovém trhu existují tři základní typy – relační databáze (Relational Database Management System, RDBMS), objektově-relační (Object Relational Database Management System, ORDBMS) a objektové (Object Database Management System, ODBMS). Za posledních 25 let vývoje počítačů a programování aplikací můžeme vysledovat mohutný trend přechodu od strukturovaného k objektově orientovanému programování. Toto platí i v oblasti zpracování dat a databází.


Definice

Objektově orientovaná databáze (také Objektově orientované systémy databází) - je systém spravy databázi, ve kterém informace je představena formou objektů stejne jako v objektově orientovaných programovacích jazycích.
Pro objektové databáze neexistuje žádný oficiální standard. Standardem je de facto kniha Morgana Kaufmana The Object Database Standard: ODMG-V2.0. Důraz ODBMS je na přímou korespondenci mezi následujícími:

  • Objekty a objektové vztahy v aplikaci napsané v OO jazycích
  • jejich uchovávání v databázi.

Schema DB a dotazovací jazyk (query language) musejí podporovat všechny vlastnosti nutné k práci s objekty, tedy:

  • plná podpora objektů
  • třídy
  • zapouzdření
  • dědičnost
  • polymorfismus
  • jednoznačná identifikace objektu
  • reference mezi objekty

Konkrétní koncové implementace OOSD se mužou zásadně od sebe lišit podle:

  • dotazovacího jazyku
  • integraci dotazu
  • navigačních interfaců

Dotazovací jazyk

Objektově orientovaný jazyk (C++, Java, Smalltalk) je jazykem jak pro aplikaci, tak i pro databázi. Poskytuje těsný vztah mezi objektem aplikace a uloženým objektem a nabízí možnost hledat objekty pomocí deklarativního programovacího přístupu.


Prace s objekty

Databáze je integrovana do programavacího jazyku, což umožňuje programátorům vyvoj produktů, jejich ukladání jako objektů, reduplikovaci a modifikaci již existujících objektů pro vytváření nových objektů v ramci OODBMS. Programator může dodržovat konzistenci v ramci jediného prostředí, ve kterém OODBMS a programovácí jazyk použivají jediný reprezentační model.

S objekty se dá pracovat přímo v programovacím jazyku vytvářením a přístupem přes metody. Není tedy nutný žádný mezistupeň pro práci s daty, jako je například SQL.

Objektově orientované DB jsou navrhnute pro spolehlivou praci s objektově orientované jazyky jako Delphi, Ruby, Python, Perl, Java, C#,Visual Basic .NET, C++, Objective-C a Smalltalk, taký použivají vlastní programovací jazyky. Rozšiřují funkčnost objektových programovacích jazyků (C++, Smalltalk, Java) a poskytují plnou schopnost programování databáze. Datový model aplikace a datový model databáze se ve výsledku hodně shodují a výsledný kód se dá mnohem efektivněji udržovat.


Datový model

Objektové databáze využívají datového modelu, který má objektově orientované aspekty jako třídy s atributy a metodami a integritními omezeními; poskytují objektové identifikátory (OID) pro každou trvalou instanci třídy; podporují zapouzdření (encapsulation); násobnou dědičnost (multiple inheritance) a podporují abstraktní datové typy. Objektové databáze kombinují prvky objektově orientovaného programování s databázovými schopnostmi.

Vyhody OOSD

Přístup k datům je snadnějsí - objekt může být získan přímo bez vyhledávání, pomocí tzn. pointerů.
Hodně objektových databází, např. Gemstone nebo VOSS, nabízí podporu versioningu. Objekt může být představen jako množina svých verzí.
Efektivita takové databáze se hodně zvyšuje v oblástech, který vyžadují obrovské počty dat o jedném předmetu. Například, banka může na základě informace o účtu uživatele poskýtnout mu další rozsáhlá data jako vypís transakcí, záznamy v účtu atd.

Použití objektových databází

Objektové databáze založene na perzistentním programování získaly segment v takových oblastéch jako inženýrství, telekomunikace, fyzice částic a molekulární biologii.

  • British Airways použivají Versant Object Database pro svoje Origin and Destination (O&D) Revenue Management System. Systém O&D Revenue Management se použivá pro zvyšení výnosů světových sítí a aliancí British Airways.
  • bioMérieux použivá FastObjects pro ukládání a získávání komplexních informací o krevních testech.
  • Siemens zužitková technologii GemStone Smalltalk jako vyrovnávací pámět a korpus pro svůj CONDIS system, který řídí sítě a systémové infrastruktury v realném čase pomocí objektové technologii. Systému CONDIS využívají takové struktury jako např. Swiss Railways, City of London, Telecom Argentina.


Další skupina ODBMS produktů je zaměřena na použití v elektronických zařízeních, softwarových balíčcích a real-time systémech.

Zdroje

  1. Object-Oriented Database Management System (OODBMS) Definition
  2. Objektově orientované databáze
  3. Object Database
  4. Relační vs. objektově-relační vs. objektové databáze



Související články