Hi Elliot,
vielleicht hätte ich noch die domain Definitionen mitgeben sollen:
SQL-Code:
CREATE DOMAIN "DOM_PK" AS INTEGER NOT NULL;
CREATE DOMAIN "DOM_FK" AS INTEGER;
Beachte, dass der FK bei mir NULL Werte annehmen darf. So erhältst du keine constraint violations. SET DEFAULT ist bei ownership relations grundsätzlich falsch. Mit SET NULL machst du das Löschen einer Anlage, der bereits Schäden zugeordnet wurden, zu einem alltäglichen Fall (use case). Wenn die Anforderungen das hergeben - Okay. Wenn es auf deinem Mist gewachsen ist - schnell ändern oder nochmal nachfragen. Bei meiner Empfehlung von ON DELETE CASCADE gehe ich davon aus, dass Anlagen mit Schäden nicht gelöscht werden dürfen.
Das mit dem default master record würde ich nicht machen. Warum solche Krücken, wo dir
FB doch die Mittel zu einer semantisch sauberen Lösung bietet?
marabu