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.