Importante: Este artigo foi traduzido automaticamente, consulte a exclusão de responsabilidade. Veja este artigo em inglês aqui para ter uma referência.
O que pretende efectuar?
Compreender as regras de integridade referencial
As regras de integridade referencial impedem que os utilizadores de uma base de dados quebrem acidentalmente o mapeamento entre duas colunas.
Imaginemos que tem uma base de dados com o nome Livros com duas tabelas denominadas Títulos e Autores. Neste exemplo, cada título tem apenas um autor, mas cada autor pode ter vários títulos, criando uma relação denominada um-para-muitos. A tabela no lado "um" é a tabela principal. A tabela no lado "muitos" é a tabela subordinada.
Para reunir as informações sobre cada livro e o respectivo autor, uma consulta utiliza chaves para fazer corresponder cada livro na tabela Títulos ao seu autor na tabela Autores. A tabela principal (Autores) tem de ter uma chave primária que identifique de forma exclusiva cada linha. A tabela Títulos tem de ter uma coluna com o IDdoAutor para cada título. Esta coluna tem o nome de chave externa. A chave primária identifica cada autor e a chave externa que livros foram escritos por que autor.
Se um utilizador alterar o IDdoAutor do autor na tabela principal, sem actualizar o IDdoAutor na tabela Títulos, os livros na tabela Títulos deixam de ter um autor válido.
Em vez de ter de alterar o IDdoAutor em ambas as tabelas, pode definir regras de integridade referencial para efectuar a acção pretendida. Pode escolher que o modelo da base de dados efectue acções específicas quando uma chave é alterada ou eliminada na tabela principal.
Nota: Os termos e subordinado são utilizadas para dizer algo bastante diferentes categorias, que são criados com as formas entre principal e categoria, categoria e categoria para a criança. Para mais informações sobre categorias consulte definir categorias num diagrama de modelo de base de dados.
Definir acções para integridade referencial
-
Faça duplo clique na relação para a qual pretende definir uma acção referencial.
-
Na janela Propriedades da Base de Dados, em Categorias, clique em Acção Referencial.
-
Clique na acção que pretende que a base de dados execute no valor correspondente na tabela subordinada. Pode escolher uma das seguintes acções:
-
Sem acção Quando um valor numa chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada não é modificado.
-
Em cascata Quando um valor numa chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada é alterado ou eliminado de modo a corresponder ao valor da chave primária.
-
Definir NULL Quando um valor numa chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada é definido como NULL.
-
Predefinir Quando um valor numa chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada é definido como uma predefinição à escolha.
-
Não impor Esta acção desactiva as regras de integridade referencial para esta relação.
-
Nota: Se as opções Definir NULL e Predefinir estiverem desactivadas, é provável que a relação esteja definida como Opcional no separador Diversos da janela Propriedades da Base de Dados para esta relação.
Definir um valor predefinido para uma coluna
Para utilizar a acção Predefinir , tem de fornecer um valor predefinido para a coluna.
-
Faça duplo clique na tabela do diagrama para abrir a janela Propriedades da Base de Dados.
-
Em Categorias, clique em Colunas, clique na coluna para a qual pretende uma predefinição e, em seguida, clique em Editar.
-
No separador Definição da caixa de diálogo Propriedades de Coluna, introduza um valor para a predefinição.
Mostrar integridade referencial utilizando notação
Pode definir as Opções do documento para ocultar ou mostrar notação de integridade referencial junto das linhas de relação no modelo.
O que significam as letras em notação integridade referencial?
A notação de integridade referencial mostra relações com duas letras separadas por dois pontos, com o formato [acção efectuada na tabela principal]:[resultado na tabela subordinada]. Por exemplo, d:C significa que quando algo é eliminado na tabela principal, a alteração é propagada à tabela subordinada.
As acções na tabela principal são indicadas por uma letra minúscula:
-
u Os dados na tabela principal são actualizados.
-
d são suprimidos dados na tabela principal.
Os resultados na tabela subordinada são indicados por uma letra maiúscula:
-
R Sem acção A tabela subordinada não é alterada.
-
C Em Cascata Replica a alteração na tabela subordinada.
-
D Predefinir Insere o valor predefinido para essa coluna na tabela subordinada.
-
N Definir Null Definir a tabela subordinada como NULL.
-
(Em branco) Não impor a integridade referencial nesta relação.
Nota: Estas definições afectam o que acontece numa base de dados real, em vez de num modelo. Num modelo no qual seja efectuada engenharia inversa de uma base de dados existente, pode ver como a base de dados está concebida no que respeita à integridade referencial. Num modelo que crie desde o rascunho, pode utilizar estas definições para documentar como pretende que a base de dados que está a modelar se comporte.
Mostrar identidade referencial
-
No menu Base de dados, aponte para Opções e clique em Documento.
-
No separador Relações, em Mostrar, seleccione a caixa de verificação Integridade referencial.