Compartilhar via


Visão geral da integridade referencial

Integridade referencial é um sistema de regras que garantem que os relacionamentos entre as linhas nas tabelas relacionadas sejam válido e que você não fizer isso acidentalmente excluir ou altera dados relacionados.

ObservaçãoObservação

Uma nova versão do Designer de Tabela é exibida para bancos de dados no formato SQL Server 2012. Este tópico descreve a versão antiga do Designer de Tabela, usada com bancos de dados em formatos anteriores do SQL Server.

Na nova versão, você pode alterar uma definição de tabela através de uma interface gráfica ou diretamente em um painel de script. Se você usar a interface gráfica, a definição de tabela será automaticamente atualizada no painel de script. Para aplicar o código SQL no painel de script, escolha o botão Atualizar. Para obter mais informações sobre a nova versão, consulte Como: criar objetos de banco de dados usando o Designer de tabela.

Procedimento

Você pode definir a integridade referencial quando todas as seguintes condições forem atendidas:

  • A coluna correspondente da tabela primária é a chave primária ou possui uma restriçãode exclusiva.

  • As colunas relacionadas na tabela externa têm o mesmo tipo de dados e tamanho.

Quando a integridade referencial é imposta, você deve obedecer às seguintes regras:

  • Você não pode inserir um valor em externo-coluna dechave da tabela relacionada se esse valor não existir na chave primária da tabela relacionada.No entanto, você pode inserir um valor nulo em externo-coluna dechave .Por exemplo, você não pode indicar que um trabalho é atribuído a um funcionário que não está incluído na employee tabela, mas você pode indicar que um funcionário tenha nenhum trabalho atribuído, inserindo um valor nulo na job_id coluna da employee tabela.

  • Não é possível excluir uma linha de uma tabela primária chave se houver linhas coincidentes na tabela relacionada.Por exemplo, você não pode excluir uma linha da jobs tabela se houver funcionários atribuídos ao trabalho representados por aquela linha na employee tabela.

  • Você não pode alterar um valor de chave de primária na tabela primária chave se aquela linha tiver linhas relacionadas.Por exemplo, você não pode alterar o valor de job_id de uma linha na tabela de trabalhos se houver funcionários com esse job_id na tabela de funcionários.

Consulte também

Referência

Caixa de diálogo de relacionamentos de chave estrangeira

Outros recursos

Trabalhando com relações

Objetos de banco de dados