Databases Reference
In-Depth Information
SIMPLE
Mit der Klausel MATCH SIMPLE wird festgelegt, dass die referenzielle Integrität
bereits als erfüllt gilt, wenn eines der Fremdschlüsselattribute NULL ist. Das
bedeutet, die Übereinstimmung des Fremdschlüssels mit einem Schlüssel in der
Vatertabelle wird überhaupt nur dann überprüft, wenn alle Fremdschlüsselattri-
bute einen Wert haben. Diese Regel gilt auch implizit, wenn keine MATCH-Klausel
angegeben wird, und war in bisherigen Versionen des Standards die einzige Mög-
lichkeit.
PA RT I A L
Hier wird zugelassen, dass Teile eines Fremdschlüssel NULL-Werte haben dürfen.
Die Übereinstimmung von Fremdschlüssel- und Primär- oder Kandiatenschlüssel
wird im Unterschied zur SIMPLE-Variante überprüft, aber nur für die Attribute,
die einen Wert haben.
FULL
Hier wird generell verlangt, dass entweder alle Fremdschlüsselattribute NULL
sind oder alle einen Wert haben müssen, der dann auf Übereinstimmung mit
Schlüsselwerten in der referenzierten Tabelle überprüft wird. Enthält ein Teil der
Fremdschlüsselattribute eine Nullmarke, gilt die referenzielle Integrität als ver-
letzt.
Wenn bei der Tabellendefinition für alle Fremdschlüsselattribute NOT NULL verlangt
wird - kein Fremdschlüsselattribut darf dann fehlen - ist die Unterscheidung der
Übereinstimmungstypen ohne Relevanz, die MATCH-Klausel ist dann überflüssig.
Aktionsregeln für die referenzielle Integrität
Mit der FOREIGN KEY-Klausel wird erreicht, dass nur gültige Fremdschlüssel-
werte erfasst werden können. Damit ist bei »Vater-Sohn-Beziehungen« zwischen
Ta b e l l e n d i e I n t e g r i t ät der abhängigen Tabelle gesichert. Die referenzielle Integrität
kann aber auch durch Änderungen in der Vatertabelle bedroht sein. Dies ist dann
der Fall, wenn dort eine Zeile gelöscht wird, deren Primärschlüsselwert von der
abhängigen Tabelle referenziert wird, oder wenn ein als Fremdschlüsselwert vor-
kommender Primärschlüsselwert verändert wird.
Der SQL-Standard definiert eine Syntax für Regeln, die bei schreibenden Zugriffen
auf referenzierte Primärschlüsselwerte die Integrität gewährleisten. Darin können
Aktionen festgelegt werden: Die Veränderung kann ganz verboten werden, sie
kann an den Fremdschlüsselwert weitergegeben werden oder dieser kann auf NULL
bzw. den Default-Wert gesetzt werden.
Syntaktisch ist Folgendes definiert:
änderungsaktion ::=
NO ACTION | CASCADE | SET NULL | SET DEFAULT
 
Search WWH ::




Custom Search