Wie Verwenden von Regeln der referentiellen Integrität und die SQL-MATCH Prädikats

Referenzielle Integritätsregeln erfordern, daß die Werte einer Spalte oder Spalten in einer SQL-Tabelle in einer anderen Tabelle, die die Werte einer Spalte oder Spalten entsprechen. Sie beziehen sich auf die Spalten in der ersten Tabelle als die Unbekannter Schlüssel und die Säulen in der zweiten Tabelle als Primärschlüssel oder eindeutigen Schlüssel.

Zum Beispiel können Sie die Spalte deklarieren EmpDeptNo in einer Tabelle EMPLOYEE als Fremdschlüssel, die referenziert AbteilungNr Spalte einer Tabelle DEPT. Diese matchup stellt sicher, dass, wenn Sie einen Mitarbeiter in der Tabelle EMPLOYEE als Arbeits in Abteilung 123 aufnehmen, eine Zeile in der Tabelle DEPT angezeigt, in dem AbteilungNr 123 ist.

Wenn die Mitglieder des Fremdschlüssels / Primär beide Schlüsselpaar aus einer einzigen Spalte bestehen, ist die Situation ziemlich einfach. Jedoch können die zwei Tasten aus mehreren Spalten besteht. Das AbteilungNr Wert ist, kann beispielsweise nur in einem eindeutig sein Ort- daher eindeutig zu identifizieren, ein DEPT Zeile, müssen Sie sowohl eine angeben Ort und AbteilungNr.

Wenn beide Boston und Tampa Büros eine Abteilung 123 haben, müssen Sie die Abteilungen zu identifizieren, wie ( 'Boston', '123') und ( 'Tampa', '123'). In diesem Fall muss die Tabelle EMPLOYEE zwei Spalten ein zu identifizieren DEPT. Rufen Sie die Spalten EmpLoc und EmpDeptNo. Wenn ein Mitarbeiter arbeitet in Abteilung 123 in Boston, die EmpLoc und EmpDeptNo Werte 'Boston' und '123'. Und die Fremdschlüssel-Deklaration in der Tabelle EMPLOYEE sieht so aus:

FOREIGN KEY (EmpLoc, EmpDeptNo) LITERATUR DEPT (Ort, AbteilungNr)

gültige Schlüsse aus Ihren Daten Zeichnung wird ungeheuer kompliziert, wenn die Daten enthält NULL-Werte. Das liegt daran, manchmal will man solche Daten eine Möglichkeit, zu behandeln und manchmal möchte man es anders zu behandeln. Das EINZIGARTIG, EINFACH, TEILWEISE, und VOLL geben Sie Schlüsselwörter verschiedene Arten von Daten, die die Behandlung von NULL-Werte enthält.

Wenn Ihre Daten tut NULL-Werte enthalten, fallen nun aus Speed-Lesemodus und lesen Sie die folgende Liste langsam und vorsichtig. Jeder Eintrag in der hier gegebenen Liste stellt eine andere Situation in Bezug auf Nullwerte - und erzählt, wie der SPIEL Prädikat behandelt sie.

Hier sind Szenarien, die die Regeln für den Umgang mit Nullwerten illustrieren und die SPIEL Prädikat:

  • Die Werte sind sowohl die eine oder die andere. Wenn keiner der Werte EmpLoc und EmpDeptNo sind null (oder beides sind null), dann sind die Regeln der referentiellen Integrität der gleiche wie für Single-Spalte Schlüssel mit Werten, die null oder nicht null sind.

  • Ein Wert ist null und eins ist es nicht. Wenn zum Beispiel, EmpLoc ist null und EmpDeptNo nicht null ist - oder EmpLoc ist nicht null und EmpDeptNo null ist - Sie neue Regeln brauchen. Wenn Regeln der Umsetzung, wenn Sie die Tabelle EMPLOYEE einzufügen oder zu aktualisieren, mit EmpLoc und EmpDeptNo Werte von (NULL, '123') oder ( 'Boston', NULL), Sie haben sechs wichtigsten Alternativen: EINFACH, TEILWEISE, und VOLL, jeweils mit oder ohne die EINZIGARTIG Stichwort.

  • Das EINZIGARTIG Stichwort vorhanden ist. Eine passende Zeile in der Unterabfrage Ergebnistabelle muss eindeutig sein, um für das Prädikat zu einem wahren Wert zu bewerten.

  • Beide Komponenten des Zeilenwertausdrucks R sind null. Das SPIEL Prädikat gibt einen wahren Wert, unabhängig vom Inhalt der Subquery Ergebnistabelle verglichen werden.

  • Weder Komponente des Zeilenwertausdrucks R null, EINFACH angegeben, EINZIGARTIG nicht angegeben ist, und mindestens eine Zeile in der Tabelle subquery Ergebnis passt R. Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Weder Komponente des Zeilenwertausdrucks R ist null, EINFACH angegeben, EINZIGARTIG angegeben ist, und mindestens eine Zeile in der Tabelle Unterabfrage Ergebnis ist einzigartig und entspricht R. Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Jede Komponente des Zeilenwertausdrucks R ist null und EINFACH angegeben. Das SPIEL Prädikat gibt einen wahren Wert.

  • Jede Komponente des Zeilenwertausdrucks R ist nicht null, TEILWEISE angegeben, EINZIGARTIG ist nicht das Nicht-Null-Teil der Tabelle mindestens eine Zeile in der Unterabfrage Ergebnis passt R. angegeben, und Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Jede Komponente des Zeilenwertausdrucks R nicht null ist, TEILWEISE angegeben, EINZIGARTIG ist angegeben, und die Nicht-Null-Teile von R werden die von null Teile mindestens eine eindeutige Zeile in der Unterabfrage Ergebnistabelle entsprechen. Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Weder Komponente des Zeilenwertausdrucks R ist null, VOLL angegeben, EINZIGARTIG nicht angegeben ist, und mindestens eine Zeile in der Tabelle subquery Ergebnis passt R. Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Weder Komponente des Zeilenwertausdrucks R ist null, VOLL angegeben, EINZIGARTIG angegeben ist, und mindestens eine Zeile in der Tabelle Unterabfrage Ergebnis ist einzigartig und entspricht R. Das SPIEL Prädikat gibt einen wahren Wert. Ansonsten gibt es einen falschen Wert.

  • Jede Komponente des Zeilenwertausdrucks R null ist, und VOLL angegeben. Das SPIEL Prädikat gibt einen falschen Wert.

Menü