Databases Reference
In-Depth Information
sein: Wird ein Auftrag storniert, entfallen auch alle Positionen. Bei der Definition
der Tabelle position wäre dann Folgendes anzugeben (wir unterstellen diesmal,
dass für die einzelnen Wertebereiche der Attribute Domänen definiert wurden):
CREATE TABLE position (
bestell_nr Bestell_key NOT NULL,
artikel_nr Artikel_key NOT NULL,
mwst Prozentsatz,
-- aus Artikeldatei zu übernehmen
bestellmenge CARDINAL NOT NULL,
liefermenge CARDINAL,
gesamtpreis MONEY,
CHECK (bestellmenge >= 1),
CHECK (liefermenge <= bestellmenge)),
PRIMARY KEY (bestell_nr, artikel_nr),
CONSTRAINT fk_position_bestellung
FOREIGN KEY (bestell_nr)
REFERENCES bestellung
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT fk_position_artikel
FOREIGN KEY (artikel_nr)
REFERENCES artikel
);
Die Kurzform, bei der die Fremdschlüsseleigenschaft einer Spalte direkt bei der
Spaltendefinition angegeben wird, lautet hier:
CREATE TABLE position (
bestell_nr Bestell_key NOT NULL
FOREIGN KEY REFERENCES bestellung
ON UPDATE CASCADE
ON DELETE CASCADE,
,,,
);
4.3.6 Assertions
Integritätsbedingungen, die mehrere Tabellen betreffen, können nicht immer als
Bestandteil der CREATE TABLE-Anweisung formuliert werden. Solche Einschrän-
kungen werden im Standard als Assertion (»Zusicherung«) bezeichnet. Es gibt
dort auch eine entsprechende Anweisung CREATE ASSERTION mit folgender Syntax:
CREATE ASSERTION assertion_name
CHECK (bedingung) [attributliste]
 
Search WWH ::




Custom Search