Hier finden Sie eine umfassende Anleitung zur Anwendung von Fremdschlüssel in einer Datenbank, einschließlich Beispielen und Überlegungen:
Fremdschlüssel verstehen
* Zweck: Fremdschlüssel zwingen die Beziehungen zwischen Tabellen in einer relationalen Datenbank durch. Sie gewährleisten die Datenintegrität, indem sie ungültige Dateneinträge verhindern.
* Wie es funktioniert: Eine Fremdschlüsselspalte in einer Tabelle bezieht sich auf die Spalte der Primärschlüssel einer anderen Tabelle. Dadurch wird ein Link erstellt, in dem sichergestellt wird, dass die Werte in der Spalte Fremdschlüssel als gültige Primärschlüsselwerte in der Referenzentabelle vorhanden sind.
Schritte zur Anwendung eines Fremdschlüssels
1. Die Tabellen definieren:
* übergeordnete Tabelle: Die Tabelle, die den Primärschlüssel enthält (auf die Tabelle verwiesen wird).
* Kindertabelle: Die Tabelle, die den Fremdschlüssel enthält (die Tabelle, die auf die übergeordnete Tabelle verweist).
2. Geben Sie die Spalten an:
* Primärschlüssel: Die Spalte in der übergeordneten Tabelle, die als Primärschlüssel fungiert.
* Fremdschlüssel: Die Spalte in der untergeordneten Tabelle, in der der Primärschlüssel verweist.
3. Erstellen Sie die Einschränkung: Die Syntax variiert je nach Datenbanksystem geringfügig (MySQL, PostgreSQL, SQL Server usw.). Hier ist ein allgemeiner Ansatz:
`` `SQL
TABELLE TABLE CHILDTABLENAME
Fügen Sie die Einschränkung der Einschränkung hinzu
Auslandskey (ForeignKeyColumn)
Referenzen ParentTableName (PrimaryKeyColumn);
`` `
* ConstraintName: Eine eindeutige Kennung für die Einschränkung.
* ChildTableName: Der Name der Tabelle, die den Fremdschlüssel enthält.
* ForeignKeyColumn: Der Name der Spalte in der untergeordneten Tabelle, die als Fremdschlüssel fungiert.
* parentTableName: Der Name der Tabelle, die den Primärschlüssel enthält.
* primärkeyColumn: Der Name der Spalte in der übergeordneten Tabelle, die als Primärschlüssel fungiert.
Beispiele
Szenario: Erstellen einer Datenbank für eine Bibliothek. Wir haben einen Tisch für "Bücher" und einen Tisch für "Kreditnehmer".
Tabellen:
* Bücher:
* `book_id` (Primärschlüssel)
* `title`
* `Author`
* Kreditnehmer:
* `borrower_id` (Primärschlüssel)
* `name`
* `address`
* `book_id` (Fremdschlüssel, verweist auf das` book_id` in der Büchertabelle)
SQL -Code:
`` `SQL
- Erstellen Sie die Büchertisch
Tischbücher erstellen (
book_id int primärschlüssel,
Titel varchar (255),
Autor Varchar (255)
);
- Erstellen Sie die Kreditnehmerstabelle mit der fremden Schlüsselbeschränkung
Erstellen Sie Tabellenkreditnehmer (
Dohlower_id int Primärschlüssel,
Name Varchar (255),
Adress varchar (255),
book_id int,
Fremdschlüssel (book_id) Referenzen Bücher (book_id)
);
`` `
wichtige Überlegungen
* Datenintegrität: Fremdschlüssel tragen dazu bei, dass Daten in verwandten Tabellen konsistent bleiben. Zum Beispiel können Sie einen Kreditnehmer -Datensatz nicht mit einem `book_id` einfügen, der in der Tabelle" Bücher "nicht existiert.
* Kaskadenoptionen: Sie können definieren, wie sich fremde Schlüsselbeschränkungen verhalten sollten, wenn Daten in der übergeordneten Tabelle geändert oder gelöscht werden.
* Kaskade löschen: Löscht Zeilen in der untergeordneten Tabelle, wenn eine übereinstimmende Zeile in der übergeordneten Tabelle gelöscht wird.
* Cascade -Update: Aktualisiert verwandte Zeilen in der untergeordneten Tabelle, wenn die entsprechende Zeile in der übergeordneten Tabelle aktualisiert wird.
* Leistung: Ausländische Schlüssel können sich auf die Leistung auswirken, insbesondere bei großen Tischen. Erwägen Sie, Indizes zu verwenden, um die Abfragegeschwindigkeit zu verbessern.
* Datenbanksystem-spezifische Syntax: Wenden Sie sich an die Dokumentation für Ihr spezifisches Datenbankverwaltungssystem (DBMS) für eine präzise Syntax.
Lassen Sie mich wissen, ob Sie Beispiele in einem bestimmten Datenbanksystem sehen möchten. Gerne biete ich gerne spezifischere Anweisungen!