Frage zu Constraints (einträge löschen)

arian234

Grünschnabel
Hallo,

Ich hab demnächst Datenbanksysteme Prüfung und verstehe nicht ganz wie man bei einer Löschung mit Foreign keys und div. Regel umgeht, zb. on delete cascade, set null etc.

on delete cascade bedeutet ja, dass man den zu löschenden eintrag + (falls vorhanden) den dazugehörigen foreign key (wenn er auf primary key zuweist) löscht. Set null, heißt, dass man die werte auf null setzt.
In der praxis aber scheitere ich an der Endlösung.

Nehmen wir mal folgendes Beispiel her:

Delete from rechner where rechner_id = 2;

die tabellen und constraints habe ich als .doc file angehängt.


PS: Dies ist keine Hausübung oder sowas in der Art, sondern nur ein Übungszettel. Die Lösung hab ich, verstehen tuh ich sie nicht ganz.
so gehe ich vor:
ich schau nun bei alter tables nach der tabelle rechner nach und gefunden. dann schau ich ob ich on delete cascade finde, falls ja dann lösche ich inkl. refernces foreign key, oder?
in dem fall steht aber nichts, d.h. no action, oder? So darf ich nicht löschen. Aber die Lösung ist, dass man löschen darf?! warum aber?
Muss ich etwa bei alle alter tables nachschauen wo rechner_id referenziert wird (als FK)? wenn ja, wie gehe ich nun vor?
Könnte wer mir das mal erklären? Ich danke euch!!


Grüße aus Österreich
 

Anhänge

  • Bsp_Constraints.doc
    108,5 KB · Aufrufe: 68
Zurück