Modificar relações de chave estrangeira
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada SQL do Azurebanco de dados SQL no Microsoft Fabric
Você pode modificar o lado da chave estrangeira de um relacionamento no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Modificar a chave estrangeira de uma tabela altera quais colunas estão relacionadas às colunas na tabela de chave primária.
Neste tópico
Antes de começar:
Para modificar uma chave estrangeira usando:
Antes de começar
Limitações e Restrições
A nova coluna de chave estrangeira deve corresponder ao tipo de dados e ao tamanho da coluna de chave primária à qual se relaciona, com as seguintes exceções:
Uma coluna char ou uma coluna sysname pode estar relacionada a uma coluna varchar.
Uma coluna binária pode estar relacionada a uma coluna varbinary .
Um tipo de dados de alias pode estar relacionado ao seu tipo base.
Segurança
Permissões
Requer permissão ALTER na tabela.
Usando o SQL Server Management Studio
Para modificar uma chave estrangeira
No Pesquisador de Objetos, expanda a tabela com a chave estrangeira e, em seguida, expanda Chaves.
Clique com o botão direito do mouse na chave estrangeira a ser modificada e selecione Modificar.
Na caixa de diálogo Relações de Chave Estrangeira, pode-se fazer as seguintes modificações.
Relação Selecionada
Lista as relações existentes. Selecione uma relação para mostrar suas propriedades na grade à direita. Se a lista estiver vazia, nenhuma relação foi definida para a tabela.Adicionar
Crie uma nova relação. As Especificações de Tabelas e Colunas devem ser definidas antes que a relação seja válida.Excluir
Exclua a relação selecionada na lista Relações Selecionadas. Para cancelar a adição de uma relação, use este botão para remover a relação.Categoria Geral
Expanda para mostrar Verificar Dados Existentes na Criação ou Reativar e as Especificações de Tabelas e Colunas.Verificar os dados existentes em relação à criação ou reativação de
Verifique todos os dados existentes na tabela antes que a restrição tenha sido criada ou reativada, em relação à restrição.Categoria de Especificações de Tabelas e Colunas
Expanda para mostrar quais colunas de quais tabelas atuam como chave estrangeira e chave primária (ou exclusiva) na relação. Para editar ou definir esses valores, clique no botão de reticência (...) à direita do campo de propriedade.Tabela Base de Chave Estrangeira
Mostra qual tabela contém a coluna atuando como uma chave estrangeira na relação selecionada.Colunas de Chave Estrangeira
Mostra qual coluna atua como uma chave estrangeira na relação selecionada.Tabela Base de Chave Primária/Exclusiva
Mostra qual tabela contém a coluna atuando como uma chave primária (ou exclusiva) na relação selecionada.Colunas de chave primárias/exclusivas
Mostra qual coluna atua como uma chave primária (ou exclusiva) na relação selecionada.Categoria de Identidade
Expanda para exibir os campos de propriedade de Nome e Descrição.Nome
Mostra o nome do relacionamento. Quando um novo relacionamento é criado, ele recebe um nome padrão com base na tabela na janela ativa em Designer de Tabela. Você pode alterar o nome a qualquer momento.Descrição
Descreva a relação. Para escrever uma descrição mais detalhada, clique em Descrição e, em seguida, clique nas reticências (...) que aparecem à direita do campo de propriedade. Isso fornece uma área maior para escrever texto.Categoria Designer de Tabela
Expanda para mostrar informações para Verificar dados existentes sobre criação ou reativação de e Impor para replicação.impor para replicação
Indica se a restrição deve ser imposta quando um agente de replicação executa uma inserção, atualização ou exclusão nesta tabela.Aplicar restrição de chave estrangeira
Especifique se as alterações são permitidas nos dados das colunas na relação se essas alterações invalidarem a integridade da relação de chave estrangeira. Escolha Sim se não quiser permitir tais alterações e escolha Não se quiser permiti-las.INSERT e UPDATE Categoria de especificação
Expanda para mostrar informações para a Regra de Exclusão e a Regra de Atualização para a relação.Excluir regra
Especifique o que acontece se um usuário tentar excluir uma linha com dados envolvidos em uma relação de chave estrangeira:Sem ação Uma mensagem de erro informa ao usuário que a exclusão não é permitida e o DELETE é revertido.
Cascade Elimina todas as linhas que contenham dados envolvidos numa relação de chave estrangeira. Não especifique CASCADE se a tabela será incluída em uma publicação de mesclagem que usa registros lógicos.
Definir Nulo Define-se o valor como nulo se todas as colunas de chave estrangeira da tabela aceitarem valores nulos.
Definir Padrão Define o valor padrão para a coluna se todas as colunas de chave estrangeira da tabela tiverem padrões definidos.
Regra de atualização
Especifique o que ocorre se um usuário tentar atualizar uma linha com dados envolvidos em uma relação de chave estrangeira:Sem ação Uma mensagem de erro informa ao usuário que a atualização não é permitida e a ATUALIZAÇÃO é revertida.
Cascade Atualiza todas as linhas que contêm dados envolvidos na relação de chave estrangeira. Não especifique CASCADE se a tabela será incluída em uma publicação de mesclagem que usa registros lógicos.
Definir Nulo Define o valor como nulo se todas as colunas de chave estrangeira da tabela puderem aceitar valores nulos.
Definir Padrão Define o valor como o valor padrão definido para a coluna se todas as colunas de chave estrangeira da tabela tiverem padrões definidos para elas.
No menu Arquivo, clique em Salvarnome da tabela.
Usando Transact-SQL
Para modificar uma chave estrangeira
Para modificar uma restrição FOREIGN KEY usando Transact-SQL, você deve primeiro excluir a restrição FOREIGN KEY existente e, em seguida, recriá-la com a nova definição. Para obter mais informações, consulte Apagar Relações de Chave Estrangeira e Criar Relações de Chave Estrangeira.