Durch das Festlegen von Fremdschlüsseln in der Tabelle wird referenzielle Integrität erreicht.
Referenzielle Integrität erfordert, dass Verweise auf nicht existierende Entitäten in der Beziehung nicht zulässig sind. Entitätsintegrität ist eine Integritätsbeschränkung, die das relationale Modell erfüllen muss, um die Datenkonsistenz sicherzustellen. Referenzielle Integrität wird auch referentielle Integrität genannt. (Empfohlenes Lernen: MySQL-Video-Tutorial)
Referenzielle Integrität ist eine der vollständigen Einschränkungen des relationalen Modells und eine Art Datenintegrität Andere umfassen: Entität Integrität, benutzerdefinierte Integrität.
Referentielle Integritätsregeln: Wenn ein Attribut oder eine Attributgruppe F ein Fremdschlüssel einer Basisrelation R ist, entspricht es dem Primärschlüssel Ks der Basisrelation S (den Basisrelationen R). und S sind nicht unbedingt unterschiedliche Beziehungen), dann muss der Wert jedes Tupels in R auf F sein:
(1) Nullwert, jeder Attributwert von F ist null.
(2) Der Primärschlüsselwert (Primärcodewert) in einem Tupel in S.
Das heißt, der Attributwert in der referenzierten Beziehung muss in der referenzierten Beziehung gefunden werden oder einen Nullwert annehmen, andernfalls entspricht er nicht der Semantik der Datenbank. Überprüfen Sie bei tatsächlichen Vorgängen wie dem Aktualisieren, Löschen und Einfügen von Daten in eine Tabelle, ob die Datenoperation für die Tabelle korrekt ist, indem Sie auf die Daten in einer anderen Tabelle verweisen, die miteinander in Beziehung stehen. Wenn sie falsch sind, wird die Operation ausgeführt abgelehnt
Eigenschaften
Referenzielle Integrität gehört zu den Regeln zwischen Tabellen. Wenn bei verwandten Tabellen mit permanenten Beziehungen beim Aktualisieren, Einfügen oder Löschen von Datensätzen nur einer geändert wird, der andere jedoch nicht, wird die Integrität der Daten beeinträchtigt:
Zum Beispiel durch Ändern die übergeordnete Tabelle Nach der Eingabe des Schlüsselwerts ändert sich der Schlüsselwert der untergeordneten Tabelle nicht entsprechend. Nach dem Löschen eines Datensatzes in der übergeordneten Tabelle wird der entsprechende Datensatz in der untergeordneten Tabelle nicht gelöscht, wodurch diese Datensätze zu verwaisten Datensätzen werden. Für Datensätze, die in die untergeordnete Tabelle eingefügt werden, gibt es in der übergeordneten Tabelle keine Datensätze mit entsprechenden Schlüsselwortwerten usw. Die Integrität der Daten zwischen diesen Designtabellen wird zusammenfassend als referenzielle Integrität bezeichnet.
Referenzielle Integrität ist eine Einschränkung zwischen zwei verwandten Tabellen. Insbesondere muss der Wert des Fremdschlüssels jedes Datensatzes in der Mastertabelle vorhanden sein, wenn zwischen zwei eine Beziehung hergestellt wird Tabellen wirken sich Vorgänge in einer Beziehung auf Datensätze in der anderen Tabelle aus.
Wenn referenzielle Integrität implementiert ist, können Datensätze nicht zu einer zugehörigen Tabelle hinzugefügt werden, wenn in der Haupttabelle keine zugehörigen Datensätze vorhanden sind. Sie können keine Datensätze in der Haupttabelle löschen, wenn in der zugehörigen Tabelle übereinstimmende Datensätze vorhanden sind, und Sie können auch nicht den Primärschlüsselwert in der Haupttabelle ändern, wenn in der zugehörigen Tabelle verknüpfte Datensätze vorhanden sind.
Mit anderen Worten: Nachdem die referenzielle Integrität implementiert wurde, überprüft das System bei der Bearbeitung des Primärschlüsselfelds in der Tabelle automatisch das Primärschlüsselfeld, um festzustellen, ob das Feld hinzugefügt, geändert oder gelöscht wurde. Wenn eine Änderung des Primärschlüssels gegen die Anforderungen der referenziellen Integrität verstößt, erzwingt das System automatisch die referenzielle Integrität.
Weitere technische Artikel zum Thema MySQL finden Sie in der Spalte MySQL-Tutorial.
Das obige ist der detaillierte Inhalt vonWelche Art von Datenintegrität wird durch das Festlegen von Fremdschlüsseln in der Tabelle erreicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!