In Datenbankbegriffen ein Fremdschlüssel ist eine Spalte, die mit dem Primärschlüsselfeld einer anderen Tabelle in einer Beziehung zwischen zwei Tabellen verknüpft ist.
Ein Fremdschlüssel ist eine Art Einschränkung. Wenn Sie also einen Fremdschlüssel in SQL Server erstellen möchten, müssen Sie eine Fremdschlüssel-Einschränkung erstellen.
Dieser Artikel zeigt, wie Sie mithilfe von Transact-SQL eine Fremdschlüsseleinschränkung in SQL Server erstellen.
Beispiel
Am einfachsten lässt sich dies anhand eines Beispiels demonstrieren. In diesem Beispiel verwenden wir T-SQL, um mithilfe von ALTER TABLE
eine Fremdschlüsseleinschränkung zu erstellen Aussage:
USE Music; ALTER TABLE Albums ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId) REFERENCES dbo.Artists (ArtistId) ON DELETE CASCADE ON UPDATE CASCADE ; GO
Dadurch wird eine Beziehung zwischen zwei Tabellen (den Albums
Tisch und die Artists)
Tisch). Dazu erstellen wir eine Fremdschlüsseleinschränkung für die Albums
Tisch. Wir geben die Albums.ArtistId
an Spalte ist ein Fremdschlüssel für die Artists.ArtistId
Spalte.
Dies setzt natürlich voraus, dass die beiden Tabellen existieren. Andernfalls erhalten wir eine Fehlermeldung.
Wir verwenden auch GO
was eigentlich nicht Teil von T-SQL ist. Es wird von verschiedenen Dienstprogrammen erkannt, um das Ende eines Stapels von T-SQL-Anweisungen zu signalisieren.
Überprüfen Sie das Ergebnis
Sie können das Ergebnis überprüfen, indem Sie das folgende Skript ausführen:
USE Music; SELECT name, type_desc, delete_referential_action_desc, update_referential_action_desc FROM sys.foreign_keys; GO
Dies listet die Fremdschlüssel in der Music
auf Datenbank. Ändern Sie den Namen der Datenbank entsprechend.
Wenn Ihre Datenbank zu viele Fremdschlüssel hat, können Sie sie immer mit einem WHERE
eingrenzen -Klausel zu dem spezifischen Fremdschlüssel, an dem Sie interessiert sind. Sie können auch das Platzhalterzeichen (*
), wenn alle Spalten zurückgegeben werden müssen.