1 / 21

Obje ktovo – Orientovan é Datab ázy (ODBMS)

Obje ktovo – Orientovan é Datab ázy (ODBMS). Martin Janušek MFF UK Praha 26.11.2003. Príčiny vzniku ODBMS. Databáza ako fundamentálna komponenta softvérových systémov Potreba komplexnejších aplikácíí

kerryn
Download Presentation

Obje ktovo – Orientovan é Datab ázy (ODBMS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektovo – Orientované Databázy (ODBMS) Martin Janušek MFF UK Praha 26.11.2003

  2. Príčiny vzniku ODBMS • Databáza ako fundamentálna komponenta softvérových systémov • Potreba komplexnejších aplikácíí • Tradičné databázy neumožňovali špecifikovať štruktúru komplexných objektov a operácie s nimi • Rozvoj objektovo orientovaných programovacích jazykov

  3. História • Vznik prvých objektovo orientovaných databázových systémov (DBMS) • OPENOODB – Texas Instruments • ARDENT – Ardent Software • ODE – AT&T Bell Labs … • Vznik štandardu ODMG-93 konzorciom ODMG (Object Database Management Group)

  4. ODMG-93 Objektový Model • Základné modelové primitivum – objekt • Kategorizácia objektov – typy • spoločné chovanie • spoločný rozsah stavov • Definícia chovania na objekte – operácie • Stav objektu – skupina vlastností • atribúty • vzťahy

  5. ODMG-93 Objektový Model(2) • typ – jeden interface, viac implemntácií • interface • vlastnosti • operácie na danom type objektu • implementácie • dátové štruktúry • implementácia operácií

  6. ODMG-93 Typy • Definuje stav a chovanie (charakteristiku) inštancie objektu • stav – množina vlastností • chovanie – množina operácií • Dedičnosť • abstraktné typy • strom dedičnosti – acyklický graf

  7. ODMG-93 Objekty • koreňový typ - Denotable_Object • hierarchia • Object - nestály (mutable) • Atomic_Object - atomický (atomic) • Structured_Object - štruktúrovaný (structured) • Literal - stály (immutable) • Atomic_Literal - atomický (atomic) • Structured_Literal- štruktúrovaný (structured)

  8. ODMG-93 Objekty (2) • Typ Object • identita (OID) • pomenovanie • popis • predikáty • vlastnosti • Has_name?:Boolean • name: Set<String> • type: Type

  9. ODMG-93 Objekty (3) • operácie • delete() • same_as? (oid: Object_id) ->b:Boolean • životný cyklus • procedúra • proces • databáza • Typ Literal • atomické – integer, float, boolean, character • štruktúrované – bit_string, char_string, enumeration, date, time, dateTime, interval

  10. ODMG-93 Vlastnosti • Atribúty • typ literal alebo množina literálov - bez OID • definované operácie – set_value, get_value • definujú abstraktný stav • Vzťahy • definované medzi nestálymi objektmi • pomenovaný každý smer vzťahu • 1:1, 1:N, M:N

  11. ODMG-93 Operácie • definované na 1-objektových typoch • signatúra operácie • argumenty, typy, výnimky • preťažovanie operácií • koreňový typ Výnimka

  12. ODMG-93 Štruktúrované objekty • Kolekcie (Collection) • abstraktné typy • typ Iterator T – Collection::create_iterator • nepomenované pozície • rovnaký typ • množina (set) – nezoradená, bez duplikátov • batoh (bag) – nezoradená, duplikáty • zoznam (list) – zoradená, duplikáty • pole (array) – 1 dimenzia, variabilná veľkosť

  13. ODMG-93 Štruktúrované objekty (2) • Štruktúry • pevná dĺžka • pomenované pozície • dvojica (názov, hodnota) • pri kopírovaní sa vytvára „plytká“ kópia

  14. ODMG-93 Štruktúrované literály • po vytvorení sa nedajú meniť • Kolekcie • neimplementujú operáciu remove() • String, Bit_String • Štruktúry • používajú sa ako návratové typy dotazov • Date, Time, DateTime

  15. ODMG-93 Kompatibilita, tran- sakcie,typ Database • Kompatibilita • silne typová kontrola • nedefinované konverzie medzi literálmi • Transakcie • Typ Database • open() • close() • contains_object? (oid:Object) ->b: Boolean • lookup_object (oid:Object) ->b: Boolean

  16. ODMG-93 Object Defintion Language (ODL) • ODL by mal podporovať všetky konštrukcie ODMG Objektového Modelu • ODL nie je programovací jazyk, ale špecifikácia jazyka pre signatúry interfacov • ODL je nezávislý na programovacom jazyku • ODL by mal byť kompatibilný s Interface Definition Language • ODL by mal byť rozšíriteľný

  17. ODMG-93 Object Defintion Language (ODL) (2) • ODL je DDL pre objektové typy • schéma pre definíciu objektových typov v akomkoľvek OOPJ • pre aplikáciu zabezpečuje „izoláciu“ medzi programovacím jazykom a podkladovým ODBMS produktom

  18. ODMG-93 Object Defintion Language (ODL) (3) • Špecifikácia typu <type definition> ::= Interface <type_name> [<supertype_list> ] { [<type_property_list>] [<property_list>] [<operation_list>] }; • Špecifikácie charakteristík, atribútov, vzťahov, operácií ...

  19. ODMG-93 Object Query Language (OQL) Založený na nasledujúcich princípoch a predpokladoch: • OQL je dotazovací jazyk, ktorý sprostredkúva jednoduchý prístup k objektovej databázi • OQL nie je výpočtovo kompletný • OQL umožňuje deklaratívny prístup k objektom

  20. ODMG-93 Object Query Language (OQL) (2) • OQL závisí na ODMG Objektovom Modele • OQL má abstraktnú syntax • OQL má konkrétne syntaxe definované na prepojenie s programovacími jazykmi • OQL nezabezpečuje explicitné update operátory, ale spolieha sa na definované operácie na objektoch

  21. ODMG-93 Object Query Language (OQL) (3) • Formálna sémantika OQL je ľahko definovateľná • OQL je ľahko optimalizovateľný • OQL ako samostatný jazyk používa konkrétnu syntax podobnú SQL

More Related