Objektově orientované systémy databází: Porovnání verzí
Řádek 62: | Řádek 62: | ||
#[http://www.dbsvet.cz/view.php?cisloclanku=2004030301/ Objektově orientované databáze] | #[http://www.dbsvet.cz/view.php?cisloclanku=2004030301/ Objektově orientované databáze] | ||
#[http://en.wikipedia.org/wiki/Object_database/ Object Database] | #[http://en.wikipedia.org/wiki/Object_database/ Object Database] | ||
− | # [http://www.fi.muni.cz/~xbatko/oracle/compare.html | + | # [http://www.fi.muni.cz/~xbatko/oracle/compare.html Relační vs. objektově-relační vs. objektové databáze] |
=== Související články === | === Související články === |
Verze z 20. 12. 2014, 14:20
Obsah
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.
Odkazy
Reference
- Object-Oriented Database Management System (OODBMS) Definition
- Objektově orientované databáze
- Object Database
- Relační vs. objektově-relační vs. objektové databáze