Databases Reference
In-Depth Information
9.1.8 Lebenszeit von Objekten
Zwei Lebenszeiten sind im Objektmodell vorgesehen, die bei der Anlage von
Objekten angegeben werden müssen. Transiente Objekte sind an die Laufzeit des
Programms gebunden, in dem sie erstellt werden. Sie verschwinden mit der Been-
digung des Programms. Persistente Objekte werden durch das Objektdatenbank-
Managementsystem verwaltet und existieren unabhängig von dem Programm,
das sie ins Leben gerufen hat. Dieses sind die eigentlichen Datenbankobjekte.
9.1.9 Beziehungen
Beziehungen werden zwischen Typen definiert. Das ODMG Objektmodell unter-
stützt nur Beziehungen zwischen zwei Typen. Im Entity Relationship Modell und in
der UML sind auch mehr-stellige Beziehungen möglich. Kardinalitäten werden
ebenso festgehalten wie im Entity Relationship Modell (vgl. Kapitel 3). Eine Bezie-
hung ist selbst kein Objekt und hat keine Identität, sie dient lediglich dazu, einen
Navigationspfad zwischen Objekten herzustellen und ermöglicht es Anwendungs-
programmen, die logischen Verbindungen zwischen Objekten verschiedener Klas-
sen zu verfolgen. Die referenzielle Integrität wird durch das ODBMS gewährleistet.
Die Definition von Beziehungen in Objektdatenbanken ist auf verschiedene Weise
möglich. Wir zeigen in den Abschnitten 9.3 und 9.4 Beispiele dafür.
9.2 Objektorientierung im SQL-Standard
Im SQL-Standard wird Objektorientierung nicht verstanden als ein neues Para-
digma, das den alten, relationalen Ansatz ablöst, sondern als eine Erweiterung des
Konzepts, das damit sozusagen »aufwärtskompatibel« zum relationalen Modell
herkömmlicher Prägung ist. Dieser Ansatz wird als »objektrelational« bezeichnet.
So erlaubt SQL die Konstruktion von Datentypen beliebig komplexer Struktur ein-
schließlich der Definition von Methoden, also »abstrakte Datentypen«. Diese
Datentypen können Attributen zugewiesen werden oder es können Objekttypen
mit einer modifizierten Form der CREATE TABLE-Anweisung auf Basis eines
Datentyps definiert werden. Die Implementierung eines Objekttyps ist immer eine
Tabelle, wenngleich diese sich durch Attribute mit komplexer Struktur erheblich
von einer »flachen« Tabelle, die die erste Normalform erfüllt, unterscheiden kann.
Die »klassischen Tabellen«, wie wir sie in den übrigen Kapiteln des Buchs behan-
delt haben, sind nurmehr ein Spezialfall des erweiterten Konzepts.
9.2.1 Definition von Typen und Tabellen
SQL unterstützt die Definition benutzerdefinierter Datentypen mit folgenden
Eigenschaften:
Ein Typ ist zusammengesetzt aus einem oder mehreren Attributen.
Jedes Attribut hat einen Datentyp, wobei Standarddatentypen wie INTEGER
ebenso verwendet werden können wie nutzerdefinierte Datentypen.
 
Search WWH ::




Custom Search