Obje ktovo orientovan datab zy odbms
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

Obje ktovo – Orientovan é Datab ázy (ODBMS) PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

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íí

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Obje ktovo orientovan datab zy odbms

Objektovo – Orientované Databázy (ODBMS)

Martin Janušek

MFF UK Praha

26.11.2003


Pr iny vzniku odbms

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


Hist ria

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)


Odmg 93 objektov model

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


Odmg 93 objektov model 2

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í


Odmg 93 typy

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


Odmg 93 objekty

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)


Odmg 93 objekty 2

ODMG-93 Objekty (2)

  • Typ Object

    • identita (OID)

    • pomenovanie

    • popis

      • predikáty

    • vlastnosti

      • Has_name?:Boolean

      • name: Set<String>

      • type: Type


Odmg 93 objekty 3

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


  • Odmg 93 vlastnosti

    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


    Odmg 93 oper cie

    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


    Odmg 93 trukt rovan objekty

    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ť


    Odmg 93 trukt rovan objekty 2

    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


    Odmg 93 trukt rovan liter ly

    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


  • Odmg 93 kompatibilita tran sakcie typ database

    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


    Odmg 93 object defintion language odl

    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ý


    Odmg 93 object defintion language odl 2

    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


    Odmg 93 object defintion language odl 3

    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í ...


    Odmg 93 object query language oql

    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


    Odmg 93 object query language oql 2

    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


    Odmg 93 object query language oql 3

    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


  • Login