Ilja: Allgemeine Frage zu Foreign-Keys

Beitrag lesen

moin,

Sie verhindern auch das Einfügen von Datensätzen in Untertabellen, wenn in der übergeordneten Tabelle keine Referenz dazu vorhanden ist.

nicht ganz, der fremdschlüssel kann durch aus den "wert" NULL einnehmen, somit ist kein entsprechender gegenpart in der übergeordneten tabelle vorhanden, aber die referentielle integrität ist trotzdem nicht verletzt. wenn du auch das auschließen willst, musst du der entsprechenden spalte auch noch die eigenschaft NOT NULL geben.

Vielleicht geht das Löschen von Datensätzen etwas schneller, weil automatisch untergeordnete Daten mit gelöscht werden und man keine 2, 3 oder 4 DELETE-Statements dafür braucht.

nicht wirklich, mit referentieller integrität gehen DML operationen grundsätzlich langsamer, da das dbms zusätzlich noch überprüfungen eben bezüglich der referentiellen integrität ausführt.

Ilja