Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.3 Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.

Ähnliche Präsentationen


Präsentation zum Thema: "RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.3 Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben."—  Präsentation transkript:

1 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.3 Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben werden. Terminologie - Klasse: Typ-Schnittstelle + eine Implementierung - Typ:Typ-Schnittstelle + eine oder mehrere Implementierungen Nur Typ-Schnittstellen werden festgelegt, keine Implementierung - Angaben in der Typ-Schnittstelle: - Typeigenschaften ( Oberklassen, Extent, Schlüssel ), - Objekteigenschaften ( Attribute, Beziehungen ), - Objektoperationen

2 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 2 6.2.3 Die Objekt-Definitionssprache ODL (2/24) Die Typ-Schnittstelle interface Typname[ : Supertyp(en)] Typeigenschaften (type properties): extent keys Objekteigenschaften (instance properties): attribute relationship Objektoperationen

3 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 3 6.2.3 Die Objekt-Definitionssprache ODL (3/24) Typeigenschaften legen die Klasseneigenschaften fest. Objekteigenschaften und -operationen geben an, wie sich ein Objekt der Klasse verhält. Im folgenden wird der Begriff Klasse anstelle von Typ verwendet (gewohnte OO Begriffswelt) Besonderheiten der ODL: Eine Beziehung (relationships) kann ebenfalls Schlüssel oder Teil eines Schlüssels sein Klassenattribute oder Klassenoperationen können nicht deklariert werden. Keine Unterscheidung zwischen abstrakten und konkreten Klassen.

4 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 4 6.2.3 Die Objekt-Definitionssprache ODL (4/24) Festlegen von Klasseneigenschaften Direkte Oberklassen der beschriebenen Klasse Extent der Klasse (Name des Behälters, der alle erzeugten Objekte einer Klasse aufnimmt (i.allg. wird der Plural des Klassennamens dafür verwendet) Schlüssel der Klasse, d.h. Schlüsselattribute & Beziehungen der Klasse, die es erlauben, Objekte der Klasse eindeutig zu identifizieren (Jedes Objekt hat eigene interne OID, d.h. kein Primärschlüssel nötig) (angegeben hinter dem Klassennamen nach: mehrere Oberklassen werden durch Komma getrennt)

5 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 5 6.2.3 Die Objekt-Definitionssprache ODL (5/24) Festlegen von Objekteigenschaften und -operationen Attribute der Objekte - Attributtyp - Attributname Beziehungen der Objekte - Assoziationen oder Aggregationen zu Objekten anderer oder der eigenen Klasse - Für jede Beziehung wird die Klasse angegeben, zu deren Objekten die Beziehung bestehen kann, und der Name der Beziehung oder der entsprechende Rollenname - Beziehungen sind binär

6 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 6 6.2.3 Die Objekt-Definitionssprache ODL (6/24) Kardinalitäten - 1:1, 1:n, n:m Objektoperationen - Namen - Ein- und Ausgabeparameter mit ihren Typen - Namen für Ausnahmen (exceptions)

7 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 7 6.2.3 Die Objekt-Definitionssprache ODL (7/24) Typ-Implementierung definiert die Datenstrukturen, in denen die Objekte physikalisch repräsentiert werden, und die Operationsrümpfe, die auf diesen Datenstrukturen arbeiten. wird in einer Programmiersprache geschrieben Es kann mehrere Implementierungen für ein Objekt geben. Welche Implementierung für ein Objekt verwendet wird, wird zur Erzeugungszeit des Objekts spezifiziert.

8 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 8 6.2.3 Die Objekt-Definitionssprache ODL (8/24) ODL-Syntax interface_dcl interfaceidentifierinheritance_spec type_property_list persistent transient : ; interface_body {}

9 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 9 6.2.3 Die Objekt-Definitionssprache ODL (9/24) inheritance_spec scoped_name :, type_property_list () extent_speckey_spec

10 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 10 6.2.3 Die Objekt-Definitionssprache ODL (10/24) extent_spec identifierextent key_spec key keys,

11 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 11 6.2.3 Die Objekt-Definitionssprache ODL (11/24) key scoped_name (), identifier :

12 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 12 6.2.3 Die Objekt-Definitionssprache ODL (12/24) Beispiel 6-1: interface Dozent: Person // Person ist Oberklasse ( extent Dozenten // Dozenten enthält alle erzeugten // Objekte von Dozent key Personen_Nummer ) : persistent // Objekte von Dozent { // Eigenschaften(Attribute, //Beziehungen) // Operationen };

13 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 13 6.2.3 Die Objekt-Definitionssprache ODL (13/24) Interface_body type_dcl const_dcl except_dcl attr_dcl rel_dcl op_dcl ;

14 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 14 6.2.3 Die Objekt-Definitionssprache ODL (14/24) attrib_dcl attributedomain_type readonly identifier pos_int_const []

15 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 15 6.2.3 Die Objekt-Definitionssprache ODL (15/24) domain_type simple_type_spec struct_type enum_type Set List Bag Array literal identifier < < > >

16 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 16 6.2.3 Die Objekt-Definitionssprache ODL (16/24) Beispiel 6-2: (Fortsetzung von Beispiel 6-1: ) interface Dozent: Person ( extent Dozenten key Dozenten_Nummer ) : persistent { attribute Unsigned_Short Dozenten_Nummer; attribute StringBiographie; attribute Float Umsatz; attribute Bag Praemien; // Multimenge // Beziehungen // Operationen };

17 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 17 6.2.3 Die Objekt-Definitionssprache ODL (17/24) rel-dcl Beziehungsdeklaration relationshiptarget_of_pathidentifier inverseinverse_traversal-path order_byscoped_name, [ ]

18 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 18 6.2.3 Die Objekt-Definitionssprache ODL (18/24) target_of_path identifier Set List Bag Array identifier <> inverse_traversal-path identifier ::

19 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 19 6.2.3 Die Objekt-Definitionssprache ODL (19/24) Eine Beziehungsdeklaration definiert einen Assoziations- oder Aggregationspfad, der durchlaufen werden kann. Pfadausgabe gibt die Zielklasse an, sie enthält - Angaben über den inversen Pfad, der in der Zielklasse enthalten ist (optional). Die inverse Pfadangabe muß auch bei den Eigenschaften der Zielklasse definiert sein. Fehlt der inverse Pfad, so ist die Beziehung unidirektional.

20 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 20 6.2.3 Die Objekt-Definitionssprache ODL (20/24) - Ordnungsangaben (optional). Jedes Attribut, das bei order_by angegeben ist, muß deklariert sein. - Kardinalitätsangaben Set, Bag, List, Array Maxkardinalität > 1 (auf der Zielseite) sonst Maxkardinalität =1

21 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 21 6.2.3 Die Objekt-Definitionssprache ODL (21/24) op_dcl Operationsdeklaration simple_type_specidentifier onewayvoid param_dcl scoped_name string_literal ( ( ( ) ) ),,, raises context

22 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 22 6.2.3 Die Objekt-Definitionssprache ODL (22/24) param_dcl in out inout simple_type_specdeclarator

23 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 23 6.2.3 Die Objekt-Definitionssprache ODL (23/24) Beispiel 6-3: (Fortsetzung von Beispiel 6-1: und Beispiel 6-2: ) Attribute interface Dozent: Person ( extent Dozenten key Dozenten_Nummer ) : persistent { // Attribute attribute Unsigned_Short Dozenten_Nummer; attribute String Biographie; attribute Float Umsatz; attribute Bag Praemien; // Multimenge

24 RelationentheorieObjektorientierte Datenbanken AIFB SS2001 24 6.2.3 Die Objekt-Definitionssprache ODL (24/24) Beziehungen // Beziehungen relationship Set kann_fachlich_abhalten inverse Seminartyp :: kann_abgehalten_werden_von ; relationship Set Referent inverse Veranstaltung :: abgehalten_von; relationship Set Seminarleiter inverse Veranstaltung :: geleitet_von; Operationen // Operationen void Praemien_berechnen (out Float Praemie); Geldeinheit Gehalt(); } ;


Herunterladen ppt "RelationentheorieObjektorientierte Datenbanken AIFB SS2001 1 6.2.3 Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben."

Ähnliche Präsentationen


Google-Anzeigen