bluepeople12
Aktiver Benutzer
- Beiträge
- 26
Hallo Leute,
hab hier ne Aufgabe zu Integritätsbedingungen. Könnt ihr mal schauen ob das soweit alles stimmt.
Zur Info: Also bei c) wird gesagt, dass die F aus S eine Teilmenge von A aus R sein muss.
Das wäre soweit zu a) bis c). Bei d) denk ich mal, kann man ein Trigger nehmen:
Meint ihr das ist so richtig? Gerade die IF-Bedingung, da habe ich so meine Sorgen ... :-/
hab hier ne Aufgabe zu Integritätsbedingungen. Könnt ihr mal schauen ob das soweit alles stimmt.
Zur Info: Also bei c) wird gesagt, dass die F aus S eine Teilmenge von A aus R sein muss.
Code:
CREATE TABLE R(
A VARCHAR PRIMARY KEY,
B NUMBER,
C VARCHAR);
CREATE TABLE S(
D VARCHAR UNIQUE NOT NULL,
E NUMBER
F VARCHAR,
FOREIGN KEY (F) REFERENCES R(A));
Das wäre soweit zu a) bis c). Bei d) denk ich mal, kann man ein Trigger nehmen:
Code:
CREATE TRIGGER bed_d
ON R
AFTER INSERT OR UPDATE
REFERENCES old AS old new AS new
BEGIN
IF ((SELECT SUM(B) FROM R) >= (SELECT MAX(E) FROM S))
SIGNALE SQLSTATE '45001'
SET MESSAGE_TEXT = 'Summe von B darf nicht größer sein als Maximum von E';
END IF;
END;
/
Meint ihr das ist so richtig? Gerade die IF-Bedingung, da habe ich so meine Sorgen ... :-/