Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.

Ähnliche Präsentationen


Präsentation zum Thema: "Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine."—  Präsentation transkript:

1 Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine Referenz auf ein Literal möglich  Kopiersemantik. Instanzen von Literal-Typen (sog. Sorten). Objekte: Identität unabhängig vom Wert. Mehrere Referenzen auf ein Objekt möglich  Referenzsemantik. Instanzen von Objekt-Typen (sog. Klassen). Strikte Trennung zwischen Objekt und Literal wird in den einzelnen Sprachanbindungen allerdings oft verwischt.

2 Objektidentität OID: Repräsentant einer Objektidentität Eindeutig innerhalb der Datenbasis Objektidentität ist orthogonal zu anderen Objekteigenschaften Zum Vergleich: Relational ist Wertbasierter Ansatz Schlüsselattribut Teil des Wertes eines Tupels Wird als Typ eines Attributs ein Objekttyp vereinbart, so werden dem Attribut Referenzen auf Objekte (genauer: deren Identifikatoren) als Wert zugewiesen.

3 Polymorphes Typsystem für Literale
Atomare Typen char,string,long,short,float,double,boolean Atomare Typkonstruktoren enum ::= <string> Strukturierte Typen date, time, timestamp, interval Strukturierte Typkonstruktoren struct ::= [sel:Typ, ..., sel:Typ] set ::= {Typ} bag ::= Typ list ::= <Typ> Typ: Vereinigungsmenge der Literal- und Objekttypen, [] Tupelkonstruktor, {} Mengenkonstruktor,  Multimengenkonstruktor, <> Listenkonstruktor.

4 ODMG Eingebaute atomare Sorten: Eingebaute strukturierte Sorten:
short, long, float, double, boolean, char, string, ... Eingebaute strukturierte Sorten: date, time, timestamp, interval Eingebaute Kollektions-Sorten (t,v beliebige Typen): set<t>, bag<t>, list<t>, array<t>, dictionary<t,v> Benutzerdefinierte Sorten: enum e {v1, ..., vn}: Aufzählung e mit Ausprägungen v1, ..., vn. struct c {A1: t1, ... , An: tn}: Verbund c mit Feldern A1, ..., An. ref C, wobei C Klassenname: Verweis auf Instanz von Klasse C. Elemente von ref-Typen heißen Objekt-Identifikatoren.

5 Polymorphes Typsystem für Objekte
Strukturierte Objekttypen Date, Time, Timestamp, Interval Strukturierte Typkonstruktoren Obj ::= [sel:Typ, ..., sel:Typ] Set ::= {Typ} Bag ::= Typ List ::= <Typ> Datenbankspezifisch und entscheidend für die Skalierbarkeit: Extent-Konstruktor erlaubt es, sämtliche Objekte eines gegebenen Typs in einer eigenen Extension zu sammeln: Extension Extent ::= {Objekttyp}

6 ODMG Eingebaute strukturierte Klassen:
Date, Time, Timestamp, Interval Eingebaute Kollektions-Klassen (t,v beliebige Typen): Set<t>, Bag<t>, List<t>, Array<t>, Dictionary<t,v> Benutzerdefinierte Klassen: Ist C Name, t Verbundstyp, so definiert class C {t} neuen Klassentyp. Instanzen von class C {t} sind Paare (oid,val) (Objekt) mit Identifikator oid  ref C, Zustand val  t. Konvention: Sortennamen werden kleingeschrieben, Klassennamen werden großgeschrieben. Verwendung von Extensionen: Traversieren aller Instanzen einer Klasse, Einstiegspunkt für OQL-Anfragen.


Herunterladen ppt "Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine."

Ähnliche Präsentationen


Google-Anzeigen