6.2.3 Die Objekt-Definitionssprache ODL

Werbung
6.2.3 Die Objekt-Definitionssprache ODL
(3/24)
• 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.
RelationentheorieObjektorientierte Datenbanken  AIFB SS2001
• Typeigenschaften legen die Klasseneigenschaften fest.
3
6.2.3 Die Objekt-Definitionssprache ODL
(4/24)
•
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)
•
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)
RelationentheorieObjektorientierte Datenbanken  AIFB SS2001
Festlegen von Klasseneigenschaften
4
6.2.3 Die Objekt-Definitionssprache ODL
(5/24)
•
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
RelationentheorieObjektorientierte Datenbanken  AIFB SS2001
Festlegen von Objekteigenschaften und -operationen
5
6.2.3 Die Objekt-Definitionssprache ODL
(6/24)
- 1:1, 1:n, n:m
• Objektoperationen
- Namen
- Ein- und Ausgabeparameter mit ihren Typen
- Namen für Ausnahmen (exceptions)
RelationentheorieObjektorientierte Datenbanken  AIFB SS2001
• Kardinalitäten
6
6.2.3 Die Objekt-Definitionssprache ODL
(23/24)
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 SS2001
Beispiel 6-3:
(Fortsetzung von Beispiel 6-1: und Beispiel 6-2: )
23
6.2.3 Die Objekt-Definitionssprache ODL
(24/24)
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 SS2001
// Beziehungen
24
Herunterladen