Heim >häufiges Problem >Was ist ein Fremdschlüssel?
Fremdschlüssel sind Schlüsselwörter. Wenn ein gemeinsamer Schlüssel der Primärschlüssel in einer Beziehung ist, wird der gemeinsame Schlüssel als Fremdschlüssel einer anderen Beziehung bezeichnet. Fremdschlüssel stellen die relevante Verbindung zwischen zwei Beziehungen dar. Fremdschlüssel können die Datenkonsistenz und -integrität aufrechterhalten. Ihr Hauptzweck besteht darin, die in der Fremdschlüsseltabelle gespeicherten Daten zu steuern.
Einführung in Fremdschlüssel:
Wenn ein öffentlicher Schlüssel der Primärschlüssel in einer Beziehung ist, dann wird dieser öffentliche Schlüssel als Fremdschlüssel einer anderen Beziehung bezeichnet. Es ist ersichtlich, dass Fremdschlüssel die relevanten Verknüpfungen zwischen zwei Beziehungen darstellen. Die Tabelle mit dem Fremdschlüssel einer anderen Beziehung als Primärschlüssel wird als Master-Tabelle bezeichnet, und die Tabelle mit dem Fremdschlüssel wird als Slave-Tabelle der Master-Tabelle bezeichnet. Fremdschlüssel werden auch Fremdschlüsselwörter genannt.
(Lernvideo-Sharing: MySQL-Video-Tutorial)
Funktion:
Aufrechterhaltung der Datenkonsistenz und -integrität Der Hauptzweck besteht darin, die in Fremdschlüsseltabellen gespeicherten Daten zu kontrollieren. Um zwei Tabellen zu verknüpfen, kann der Fremdschlüssel nur auf die Werte der Spalten in der Tabelle verweisen oder Nullwerte verwenden.
Ausführung verhindern
Fügen Sie eine neue Zeile aus der Tabelle ein und der Fremdschlüsselwert ist nicht der Primärschlüsselwert der Haupttabelle. Verhindern Sie dann das Einfügen.
Ändern Sie den Fremdschlüsselwert aus der Tabelle. und der neue Wert ist nicht der Primärschlüsselwert der Haupttabelle. Änderung verhindern;
Löschen Sie eine Zeile aus der Haupttabelle, und ihr Primärschlüsselwert wird daran gehindert, gelöscht zu werden, wenn er in der Sekundärtabelle vorhanden ist (wenn Sie Wenn Sie ihn löschen möchten, müssen Sie zuerst die relevanten Zeilen aus der Sekundärtabelle löschen.
Ändern Sie den Primärschlüsselwert aus der Primärtabelle. Die Änderung wird verhindert, wenn der alte Wert in der Sekundärtabelle vorhanden ist (um ihn zu ändern). , müssen zunächst die entsprechenden Zeilen in der Sekundärtabelle gelöscht werden).
Kaskadenausführung
Zeilen aus der Haupttabelle löschen und verwandte Zeilen gemeinsam aus der Slave-Tabelle löschen;
Ändern Sie den Primärschlüsselwert der Mastertabelle und ändern Sie die Fremdschlüsselwerte von die zugehörigen Zeilen aus der Slave-Tabelle zusammen. Den Benutzern stehen zwei Methoden zur Auswahl zur Verfügung. Egal welche Methode gewählt wird, es werden keine zusätzlichen Zeilen in der Tabelle angezeigt. Aus einer anderen Perspektive wird dasselbe erreicht, indem die Inkonsistenz zwischen den Flags in der Slave-Tabelle und der Master-Tabelle zurückgewiesen wird, um Konsistenz mit den Flags in der Master-Tabelle zu erreichen.
Verwandte Empfehlungen: MySQL-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist ein Fremdschlüssel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!