6.2.3 Die Objekt-Definitionssprache ODL (3/24)

6
RelationentheorieObjektorientierte Datenbanken AIFB SS2001 3 6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (3/24) (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.

description

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) - PowerPoint PPT Presentation

Transcript of 6.2.3 Die Objekt-Definitionssprache ODL (3/24)

Page 1: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

3

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (3/24)(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.

Page 2: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

4

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (4/24)(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)

Page 3: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

5

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (5/24)(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

Page 4: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

6

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (6/24)(6/24)

• Kardinalitäten

- 1:1, 1:n, n:m

• Objektoperationen

- Namen

- Ein- und Ausgabeparameter mit ihren Typen

- Namen für Ausnahmen (exceptions)

Page 5: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

23

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (23/24)(23/24)

Beispiel 6-3: (Fortsetzung von Beispiel 6-1: und Beispiel 6-2: )

interface Dozent: Person

( extent Dozenten

key Dozenten_Nummer ) : persistent

{ // AttributeAttribute

attribute Unsigned_Short

Dozenten_Nummer;

attribute String Biographie;

attribute Float Umsatz;

attribute Bag <Float> Praemien;

// Multimenge

Page 6: 6.2.3  Die Objekt-Definitionssprache ODL (3/24)

Re

latio

ne

nth

eo

rieO

bje

kto

rien

tiert

e D

ate

nb

an

ken

A

IFB

SS

2001

24

6.2.3 Die Objekt-Definitionssprache ODL 6.2.3 Die Objekt-Definitionssprache ODL (24/24)(24/24)

// BeziehungenBeziehungen

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;

// OperationenOperationen void Praemien_berechnen

(out Float Praemie);Geldeinheit Gehalt();

};