6.2.3 Die Objekt-Definitionssprache ODL (3/24)
-
Upload
jillian-lara -
Category
Documents
-
view
24 -
download
1
description
Transcript of 6.2.3 Die Objekt-Definitionssprache ODL (3/24)
![Page 1: 6.2.3 Die Objekt-Definitionssprache ODL (3/24)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/1.jpg)
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)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/2.jpg)
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)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/3.jpg)
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)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/4.jpg)
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)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/5.jpg)
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)](https://reader036.fdokument.com/reader036/viewer/2022082818/568135de550346895d9d51f1/html5/thumbnails/6.jpg)
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();
};