Importante: Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.
O que você deseja fazer?
Entender as regras de integridade referencial
As regras de integridade referencial evitam que os usuários de bancos de dados rompam acidentalmente o mapeamento entre colunas relacionadas.
Suponhamos que você tenha um banco de dados chamado Livros com duas tabelas denominadas Títulos e Autores. Para os objetivos deste exemplo, cada título tem apenas um autor, mas cada autor tem vários títulos, criando o que é chamado de relação um-para-muitos. A tabela no lado "um" da relação é chamada tabela pai. A tabela no lado "muitos" é chamada tabela filho.
Para reunir informações sobre cada livro e seu autor, uma consulta usa chaves para corresponder cada livro da tabela Títulos a seu autor na tabela Autores. A tabela pai (Autores) deve ter uma chave primária que identifique exclusivamente cada linha. A tabela Título deve ter uma coluna que contenha o CódigoDoAutor de cada título. Essa coluna é chamada de chave estrangeira. A chave primária identifica cada autor e a chave estrangeira identifica quais livros foram escritos por qual autor.
Se um usuário alterar o CódigoDoAutor do autor na tabela pai sem atualizá-lo na tabela Títulos, os livros desta tabela já não terão um autor válido.
Em vez de precisar alterar o CódigoDoAutor em ambas as tabelas, você pode definir regras de integridade referencial para que as ações desejadas sejam executadas. Você pode decidir que o modelo de banco de dados execute ações específicas quando, na tabela pai, uma chave for alterada ou excluída.
Observação: Os termos pai e filho são usadas para significa algo bem diferente em categorias, que são criadas com as formas pai para a categoria, Category e categoria para filho. Para obter mais informações sobre categorias, consulte definir categorias em um diagrama de modelo de banco de dados.
Definir ações de integridade referencial
-
Clique duas vezes na relação para a qual deseja definir uma ação referencial.
-
Na janela Propriedades do Banco de Dados, em Categorias, clique em Ação Referencial.
-
Clique na ação que você quer que o banco de dados execute no valor correspondente da tabela filho. Escolha entre as seguintes ações:
-
Nenhuma ação Quando o valor da chave primária de uma tabela pai é alterado ou excluído, o valor correspondente na chave estrangeira da tabela filho permanece inalterado.
-
Em cascata Quando o valor da chave primária de uma tabela pai é alterado ou excluído, o valor correspondente na chave estrangeira da tabela filho é alterado ou excluído para corresponder à chave primária.
-
Definir NULO Quando o valor da chave primária de uma tabela pai é alterado ou excluído, o valor correspondente na chave estrangeira da tabela filho é definido como NULO.
-
Definir padrão Quando o valor da chave primária de uma tabela pai é alterado ou excluído, o valor correspondente na chave estrangeira da tabela filho é definido como o padrão escolhido.
-
Não impor Essa ação desativa as regras de integridade referencial para essa relação.
-
Observação: Se as opções Definir NULO e Definir padrão estiverem desabilitadas, é provável que a relação esteja definida como Opcional na guia Miscelânea da janela Propriedades do Banco de Dados da relação.
Definir um valor padrão para uma coluna
Para usar a ação Definir padrão , você deve fornecer um valor padrão para a coluna.
-
Clique duas vezes na tabela do diagrama para abrir a janela Propriedades do Banco de Dados.
-
Em Categorias, clique em Colunas, clique na coluna para a qual deseja criar um padrão e clique em Editar.
-
Na guia Definição da caixa de diálogo Propriedades da Coluna, insira um valor para o padrão.
Mostrar a integridade referencial usando notação
Você pode definir as Opções de Documento para ocultarem ou mostrarem a notação de integridade referencial ao lado das linhas de relação do modelo.
O que significam as letras em notação de integridade referencial?
A notação de integridade referencial mostra as relações com duas letras separadas por dois-pontos, na forma [ação executada na tabela pai]:[resultado na tabela filho]. Por exemplo, d:C significa que quando alguma coisa é excluída da tabela pai, a ação é transferida em cascata para a tabela filho.
As ações na tabela pai são indicadas por uma letra minúscula:
-
u Os dados da tabela pai são atualizados.
-
d dados na tabela pai é excluído.
Os resultados na tabela filho são indicados por uma letra maiúscula:
-
R Nenhuma ação Não altera a tabela filho.
-
C Em cascata Replica a alteração na tabela filho.
-
D Definir padrão Insere o valor padrão previamente definido para essa coluna na tabela filho.
-
N Definir Nulo Define a tabela filho como NULO.
-
(Em branco) Não impõe integridade referencial a essa relação.
Observação: Essas configurações afetam o que acontece em um banco de dados real e não em um modelo. Em um modelo no qual você faça engenharia reversa a partir de um banco de dados existente, pode-se ver como o banco de dados foi projetado quanto à integridade referencial. Em um modelo criado a partir do zero, você pode usar essas configurações para documentar como quer que se comporte o banco de dados que está sendo modelado.
Mostrar a integridade referencial
-
No menu Banco de Dados, aponte para Opções e clique em Documento.
-
Na guia Relações, em Mostrar, marque a caixa de seleção Integridade Referencial.