60 likes | 191 Views
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)
E N D
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: RelationentheorieObjektorientierte DatenbankenÓ AIFB • 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.
6.2.3 Die Objekt-Definitionssprache ODL (4/24) • Festlegen von Klasseneigenschaften • Direkte Oberklassen der beschriebenen Klasse • (angegeben hinter dem Klassennamen nach: mehrere Oberklassen werden durch Komma getrennt) • Extent der Klasse (Name des „Behälters“, der alle erzeugten Objekte einer Klasse aufnimmt (i.allg. wird der Plural des Klassennamens dafür verwendet) RelationentheorieObjektorientierte DatenbankenÓ AIFB • 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)
6.2.3 Die Objekt-Definitionssprache ODL (5/24) • Festlegen von Objekteigenschaften und -operationen • Attribute der Objekte • Attributtyp • Attributname RelationentheorieObjektorientierte DatenbankenÓ AIFB • 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.2.3 Die Objekt-Definitionssprache ODL (6/24) • Kardinalitäten • 1:1, 1:n, n:m RelationentheorieObjektorientierte DatenbankenÓ AIFB • Objektoperationen • Namen • Ein- und Ausgabeparameter mit ihren Typen • Namen für Ausnahmen (exceptions)
6.2.3 Die Objekt-Definitionssprache ODL (23/24) • Beispiel 6-3: (Fortsetzung von Beispiel 6-1: und Beispiel 6-2: ) • interface Dozent: Person ( extent Dozenten key Dozenten_Nummer ) : persistent{// Attribute attribute Unsigned_Short Dozenten_Nummer; attribute String Biographie; attribute Float Umsatz; attribute Bag <Float> Praemien; // Multimenge RelationentheorieObjektorientierte DatenbankenÓ AIFB
6.2.3 Die Objekt-Definitionssprache ODL (24/24) • // Beziehungen • relationship Set <Seminartyp> kann_fachlich_abhalten inverse Seminartyp :: kann_abgehalten_werden_von ;relationship Set <Veranstaltung> Referent inverse Veranstaltung :: abgehalten_von;relationship Set <Veranstaltung> Seminarleiter inverse Veranstaltung :: geleitet_von; • // Operationen void Praemien_berechnen (out Float Praemie); Geldeinheit Gehalt();}; RelationentheorieObjektorientierte DatenbankenÓ AIFB