obje ktovo orientovan datab zy odbms
Download
Skip this Video
Download Presentation
Obje ktovo – Orientovan é Datab ázy (ODBMS)

Loading in 2 Seconds...

play fullscreen
1 / 21

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


  • 118 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Obje ktovo – Orientovan é Datab ázy (ODBMS)' - kerryn


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

::= Interface [ ]

{

[]

[]

[]

};

  • Š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
ad