По отношение на базата данни външен ключ е колона, която е свързана с полето за първичен ключ на друга таблица във връзка между две таблици.
Външният ключ е вид ограничение и така, ако искате да създадете външен ключ в SQL Server, ще трябва да създадете ограничение за външен ключ.
Тази статия демонстрира как да създадете ограничение за външен ключ в SQL Server, използвайки Transact-SQL.
Пример
Най-лесният начин да демонстрирате това е с пример. В този пример използваме T-SQL, за да създадем ограничение за външен ключ, използвайки ALTER TABLE
изявление:
USE Music; ALTER TABLE Albums ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId) REFERENCES dbo.Artists (ArtistId) ON DELETE CASCADE ON UPDATE CASCADE ; GO
Това създава връзка между две таблици ( Albums
таблицата и Artists)
таблица). Правим това, като създаваме ограничение за външен ключ в Albums
маса. Посочваме, че Albums.ArtistId
колоната е външен ключ към Artists.ArtistId
колона.
Това очевидно предполага, че двете таблици съществуват. Ако не го направят, ще получим грешка.
Ние също така използваме GO
което всъщност не е част от T-SQL. Разпознава се от различни помощни програми, за да сигнализира края на група T-SQL изрази.
Проверете резултата
Можете да проверите резултата, като изпълните следния скрипт:
USE Music; SELECT name, type_desc, delete_referential_action_desc, update_referential_action_desc FROM sys.foreign_keys; GO
Това изброява външните ключове в Music
база данни. Променете името на базата данни според нуждите.
Ако вашата база данни има твърде много външни ключове, винаги можете да я стесните с WHERE
клауза към конкретния външен ключ, който ви интересува. Можете също да използвате заместващия знак (*
), ако трябва да бъдат върнати всички колони.