Databases Reference
In-Depth Information
Beispielsweise kann die externe Spezifikation eines Typs Person durch seine Attri-
bute Name, Adresse, Familienstand und durch eine Operation heiraten beschrie-
ben werden. Diese sind für den Nutzer sichtbar. Verborgen hingegen sind die
interne Repräsentation der Attribute (so könnte z.B. das Attribut Familienstand =
verheiratet durch die Zahl 3 dargestellt werden) und der Algorithmus, mit dem
der Familienstand beim Aufruf der Operation heiraten geändert wird.
Ty p e n k önnen von Benutzern definiert werden. Ausgehend von primitiven Daten-
typen (wie numerische Datentypen, Zeichenketten, logische Werte, Datum, Uhrzeit,
Aufzählungstypen) können durch Konstruktoren 3 orthogonal 4 neue Datentypen
zusammengesetzt werden.
Tupel
Einen Datentyp, der aus mehreren Komponenten (unterschiedlicher) Datentypen
zusammengesetzt ist, erhalten wir durch den Tupel-Konstruktor. In Pascal und
Modula entspricht dieses dem RECORD , in C, und C++ dem struct, in C++ und Java
einer Klasse, die nur public Attribute, aber keine Operationen besitzt. Ein Beispiel
dafür ist die Zusammensetzung einer Adresse aus den Attributen Straße, Haus-
nummer, PLZ und Ort. Es kann ein Typ typ_adresse definiert werden, der intern
die genannten Attribute hat und bei der Definition einer Klasse als Ganzes für den
Wertebereich eines strukturierten Attributs verwendet wird. Dieses könnte in etwa
wie folgt aussehen:
TYPE typ_adresse =
RECORD
strasse: STRING;
hausnummer: INTEGER;
plz: STRING;
ort: STRING;
END;
In SQL heißt dieser Konstruktor » ROW «.
Kollektionstypen
Daneben gibt es die so genannten Kollektionstypen (auch »Sammlungen«
genannt), die wir im Folgenden erläutern. Diese Konstruktoren können auf belie-
bige - auch strukturierte - Ty p e n a n g e w a n d t w e r d e n .
3Der Begf Konstruktor wird in unterschiedlichen Zusammenhängen mit unterschiedlicher Be-
deutung verwendet: Wir meinen hier ein (sprachliches) Mittel, um komplexe (= zusammenge-
setzte) Datentypen zu konstruieren. Wenn wir dann auf diese Weise zu einer Klasse gekommen
sind, gibt es in der Klasse jeweils mindestens einen Konstruktor (jetzt andere Bedeutung!); da-
mit wird beschrieben, was beim Anlegen eines neuen Objektes in der Klasse durchzuführen ist.
4Der Begf »orthogonal« wird auf der nächsten Seite eingeführt.
 
Search WWH ::




Custom Search