Databases Reference
In-Depth Information
CONSTRAINT nn_mindestbestand mindestbestand NOT NULL,
CONSTRAINT chk_mindestbestand
CHECK (mindestbestand >= 0),
CONSTRAINT chk_nachbestell
CHECK (nachbestellmenge >= 0)
-- FOREIGN KEY entfaellt wegen Einbindung mwst als REF-Typ
);
Beim Einfügen von Tupeln muss, wie wir bereits gesehen haben, der Typ der Attri-
bute respektiert werden, was bei ADTs den Einsatz des Konstruktors erfordert. Der
Konstruktor für den MwstSatz heißt in unserem Fall REF und muss sich auf ein
konkretes Objekt vom Typ otyp_mwstsatz beziehen. Dies macht eine Abfrage erfor-
derlich, weil wir auf andere Weise keine Referenz auf ein Mwst-Objekt erzeugen
können. Alle anderen Attribute müssen dabei als Konstante mit angegeben werden.
INSERT INTO otab_artikel
(Artikel_Nr, Verpackung, Bezeichnung, Lagerplatz,
Bestand, Mindestbestand, Listenpreis, MWST)
SELECT 'G001','0,7 l','Whisky',7,397,50,38.50,
REF(m) FROM otab_mwstsatz m
WHERE m.mwst = 2
Mit der obigen Einfügeabfrage wird für das Attribut MWST die OID des Objekts mit
dem Schlüsselwert mwst = 2 eingetragen.
9.3.5 Abfragen
Für die Abfrage einer Objekttabelle steht zunächst einmal der SELECT-Befehl in
seiner bekannten Form zur Verfügung. Allerdings sind die Resultate nicht unbe-
dingt sehr leserlich, wenn man in der Projektionsangabe den Namen eines nicht-
skalaren Attributs angibt. Zum Beispiel liefert die Abfrage des Attributs mwst der
Ta b e l l e otab_artikel eine Ausgabe der folgenden Art:
0000220208A456CA777B2811D3A9080000E867DD32A456CA437B2811D3A
Abgesehen davon, dass man die OID eigentlich als Nutzer nicht sehen sollte, ist
das natürlich keine Aussage von Wert. Man muss daher, um die Mehrwertsteuer-
angaben eines Artikels im Klartext zu sehen, die Referenz auflösen, sozusagen
ersetzen durch das konkrete Objekt, auf das sie zeigt. Dafür gibt es den Operator
DEREF
SELECT artikel_nr, verpackung, bezeichnung, DEREF(mwst)
FROM otab_artikel;
In der Antwort werden nicht einfach die Werte des entsprechenden Tupels der
Mehrwertsteuer-Tabelle ausgegeben, sondern dies geschieht mit vorangestellten
Typbezeichnern in Klammern. Auch hier sieht man, dass das objektrelationale
Modell sehr genau Typen und Werte unterscheidet.
 
Search WWH ::




Custom Search