Em termos de banco de dados, uma chave estrangeira é uma coluna vinculada ao campo de chave primária de outra tabela em uma relação entre duas tabelas.
Uma chave estrangeira é um tipo de restrição e, portanto, se você quiser criar uma chave estrangeira no SQL Server, precisará criar uma restrição de chave estrangeira.
Este artigo demonstra como criar uma restrição de chave estrangeira no SQL Server, usando Transact-SQL.
Exemplo
A maneira mais fácil de demonstrar isso é com um exemplo. Neste exemplo, usamos T-SQL para criar uma restrição de chave estrangeira usando o
ALTER TABLE
demonstração:USE Music; ALTER TABLE Albums ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId) REFERENCES dbo.Artists (ArtistId) ON DELETE CASCADE ON UPDATE CASCADE ; GO
Isso cria uma relação entre duas tabelas (os
Albums
tabela e os Artists)
tabela). Fazemos isso criando uma restrição de chave estrangeira nos Albums
tabela. Especificamos que o arquivo Albums.ArtistId
coluna é uma chave estrangeira para o Artists.ArtistId
coluna. Isso obviamente pressupõe que as duas tabelas existem. Se não o fizessem, teríamos um erro.
Também usamos
GO
que na verdade não faz parte do T-SQL. É reconhecido por vários utilitários para sinalizar o fim de um lote de instruções T-SQL. Verifique o resultado
Você pode verificar o resultado executando o seguinte script:
USE Music; SELECT name, type_desc, delete_referential_action_desc, update_referential_action_desc FROM sys.foreign_keys; GO
Isso lista as chaves estrangeiras no
Music
base de dados. Altere o nome do banco de dados para se adequar. Se o seu banco de dados tiver muitas chaves estrangeiras, você sempre poderá reduzi-lo com um
WHERE
cláusula para a chave estrangeira específica em que você está interessado. Você também pode usar o caractere curinga (*
) se você precisar que todas as colunas sejam retornadas.