Databases Reference
In-Depth Information
Hier wird ein Typ für Angestellte als Subtyp von otyp _ person eingerichtet, der
seinerseits zuvor deklariert worden sein muss, und den wir hier einfach unter-
stellen. Die Attribute angest_nr und gehalt ergänzen die Attribute des Typs
otyp_person. Die Methode gehaltserhoehung kann von außen aufgerufen werden.
Von dieser Methode sehen wir hier nur die Signatur, aus der hervorgeht, dass
man einen Booleschen Wert zu übergeben hat, der festlegt, ob die Gehaltserhö-
hung um einen absoluten Geldbetrag oder prozentual erfolgt. Der Rückgabewert
ist eine Zahl vom Typ DECIMAL(7,2) , das neue Gehalt. Die Implementierung der
Methode ist hier nicht sichtbar. Sie erfolgt mit prozeduralen Sprachelementen
von SQL 9 .
Tabellendefinition auf Typbasis
Benutzerdefinierte Typen, die mit dem Zusatz OBJECT angelegt wurden, können
zur Definition von Tabellen verwendet werden. Der entsprechende Befehl lautet:
CREATE TABLE tabelle OF typ
Dabei übernimmt die Tabelle alle Attribute und Methoden des Typs. Jedes
Typattribut wird in eine Tabellenspalte übernommen. Da der Datentyp eines
Attributs selbst wieder ein komplexer Typ sein kann, ist die Vorstellung von
einer Tabelle als zweidimensionale Struktur von Zeilen und Spalten, wobei jede
Zelle am Schnittpunkt von Zeile und Spalte einen skalaren Wert aufweist, aller-
dings überholt - er kann auch mehrwertig sein. Die erste Normalform ist somit
nicht mehr notwendig. Dennoch werden die Begriffe Zeile, Spalte und Tabelle
beibehalten. Jede Zeile in der typisierten Tabelle stellt eine Instanz des Objekt-
typs dar. Sie erhält automatisch eine systemgenerierte OID (»object identifier«),
der von den Attributwerten unabhängig ist und vom Nutzer nicht geändert wer-
den kann.
9.2.2 Konstruktoren für komplexe Typen
Spezielle Konstruktoren sind für die Erzeugung von »collection types« vorgesehen
(vgl, Abschnitt 9.1.2). SQL sieht die Konstruktoren ARRAY und MULTISET vor. MULTI-
SET haben wir in 9.1.2 als bag eingeführt.
Beispiel:
Eine Rundreise, die über bis zu 12 Orte geht und mehrere Teilnehmer hat, kann fol-
gende Attribute enthalten:
teilnehmer otyp_person MULTISET,
stationen otyp_ort ARRAY[12]
9
Vgl. Kapitel 7.3
 
Search WWH ::




Custom Search