Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik
Auswirkungen
Notizen:
Es sei vorausgeschickt, dass in den Beispielen auf dieser und den folgenden Folien nur die linke Tabelle Inhalte darstellt. Die rechte Tabelle stellt den Datenumfang eines Insert-Statements dar, der in eine auf der Folie nicht dargestellte Tabelle eingefügt werden soll (wobei davon ausgegangen werden kann, dass dabei keine Eindeutigkeitsverletzungen passieren würden). In der Fplie rot unterlegte Datensätze verletzen dabei die jeweilige Match-Regel. Bitte denken Sie insbesondere sorgfältig darüber nach, warum in den Beispielen jeweils die unterlegten Datensätze die Match-Regel verletzen, aber andere nicht!
Match Simple
Enthält eine der Fremdschlüsselspalten NULL, wird die RI gar nicht überprüft: die Zeile wird also aufgenommen, egal, was in anderen Fremdschlüsselfeldern stehen mag.
Für das Beispiel auf der Folie bedeutet das:
„Dagobert Duck“ hat „Dagobert Duck“, „Donald Duck“ hat „Donald Duck“ als Kopfdatensatz.Die Kombinationen „NULL Duck“, „Trick NULL“ & „NULL NULL“ werden nicht überprüft (und somit aufgenommen). „Daniel Düsentrieb“ hat keinen Kopfdatensatz und ist deswegen nicht erlaubt.
Match Partial
Alle Non-NULL-Inhalte in Fremdschlüsselspalten haben eine Entsprechung bei einem Schlüsselkandidaten in der referenzierten Tabelle (etwas problematisch)
„Dagobert Duck“ hat „Dagobert Duck“, „Donald Duck“ hat „Donald Duck“ als Kopfdatensatz. Die Kombination „NULL Duck“ hat sogar 2 mögliche Kopfdatensätze: nämlich „Dagobert Duck“ & „Donald Duck“ (etwas problematisch), weil „Duck“ in beiden Kopfdatensätzen vorkommt, und NULL im zweiten Fremdschlüsselfeld erlaubt ist. „Daniel Düsentrieb“ und „Trick NULL“ haben keinen Kopfdatensatz und sind deswegen nicht erlaubt. „NULL NULL“ wird nicht überprüft und deswegen zugelassen.
Match Full
Alle Fremdschlüsselspalten haben eine Entsprechung bei einem Schlüsselkandidaten in der referenzierten Tabelle oder sind NULL.
„Dagobert Duck“ hat „Dagobert Duck“, „Donald Duck“ hat „Donald Duck“ als Kopfdatensatz.Die Kombinationen „NULL Duck“ und „Trick NULL“ haben nicht in allen Fremdschlüssel-spalten eine Entsprechung und auch nicht in allen Fremdschlüsselspalten „NULL“, wes-wegen sie verboten sind. „Daniel Düsentrieb“ hat keinen Kopfdatensatz und ist deswegen nicht erlaubt. „NULL NULL“ wird nicht überprüft und deswegen zugelassen.
Anm.: DB-Server (z.B. MS SQL) unterstützen oft nur Match Full und enthalten somit die entsprechenden Sprachelemente gar nicht.