Observação
O diagrama do Modelo de Banco de Dados só está disponível em algumas versões do Visio. Confira Não consegue encontrar os recursos de modelagem de bancos de dados? para saber mais.
Compreender as regras de integridade referencial
As regras de integridade referencial impedem os utilizadores da base de dados de interromper acidentalmente o mapeamento entre colunas relacionadas.
Suponhamos que tem uma base de dados denominada Livros com duas tabelas denominadas Títulos e Autores. Para efeitos deste exemplo, cada título tem apenas um autor, mas cada autor pode ter vários títulos, criando o que se chama uma relação um-para-muitos. A tabela no lado "um" da relação é denominada tabela principal. A tabela no lado "muitos" é denominada tabela subordinada.
Para reunir informações sobre cada livro e o respetivo autor, uma consulta utiliza chaves para corresponder cada livro da tabela Títulos ao autor na tabela Autores. A tabela principal (Autores) tem de ter uma chave primária que identifique exclusivamente cada linha. A tabela Títulos tem de ter uma coluna que contenha o AuthorID para cada título. Esta coluna é denominada chave externa. A chave primária identifica cada autor e a chave externa identifica que livros foram escritos pelo autor.
Se um utilizador alterar o AuthorID do autor na tabela principal, sem atualizar o AuthorID na tabela Títulos, os livros na tabela Títulos deixarão de ter um autor válido.
Em vez de ter de alterar o AuthorID em ambas as tabelas, pode definir regras de integridade referencial para efetuar a ação pretendida. Pode optar por fazer com que o modelo de base de dados tome medidas específicas quando uma chave é alterada ou eliminada na tabela principal.
Observação
Os termos principal e subordinado são utilizados para significar algo bastante diferente nas categorias, que são criadas com as formas Principal para categoria, Categoria e Categoria para subordinados. Para obter mais informações sobre categorias, veja Definir categorias num diagrama de Modelo de Base de Dados.
Definir ações para integridade referencial
Faça duplo clique na relação para a qual pretende definir uma ação referencial.
Na base de dados janela Propriedades, em Categorias, clique em Ação Referencial.
Clique na ação que pretende que a base de dados assuma sobre o valor correspondente na tabela subordinada. Pode escolher entre as seguintes ações:
- Nenhuma ação Quando um valor na chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada permanece inalterado.
- Cascata Quando um valor na chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada é alterado ou eliminado para corresponder à chave primária.
- Definir NULL Quando um valor na 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 na chave primária de uma tabela principal é alterado ou eliminado, o valor correspondente na chave externa da tabela subordinada é definido como uma predefinição que escolher.
- Não impor Esta ação desativa as regras de integridade referencial para esta relação.
Observação
Se as opções Definir NULO e Predefinir estiverem desativadas, é provável que a relação esteja definida como Opcional no separador Diversos da Base de Dados janela Propriedades para a relação.
Definir um valor predefinido para uma coluna
Para utilizar a ação Predefinir , tem de fornecer um valor predefinido para a coluna.
- Faça duplo clique na tabela no diagrama para abrir a base de dados janela Propriedades.
- Em Categorias, clique em Colunas, clique na coluna para a qual pretende criar uma predefinição e, em seguida, clique em Editar.
- No separador Definição da caixa de diálogo Propriedades da Coluna , introduza um valor para a predefinição.
Mostrar integridade referencial com notação
Pode definir as Opções do Documento para ocultar ou mostrar a notação de integridade referencial junto às linhas de relação no modelo.
O que significam as letras na notação de integridade referencial?
A notação de integridade referencial mostra relações com duas letras separadas por dois pontos, na forma [ação tomada na tabela principal]:[resultado na tabela subordinada]. Por exemplo, d:C significa que, quando algo é eliminado na tabela principal, a alteração é propagada para a tabela subordinada.
As ações na tabela principal são indicadas por uma letra minúscula:
- u Os dados na tabela principal são atualizados.
- d Os dados na tabela principal são eliminados.
Os resultados na tabela subordinada são indicados por uma letra maiúscula:
- R Sem ação Não altere a tabela subordinada.
- Cascata C Replicar a alteração na tabela subordinada.
- Predefinir D Insira o valor predefinido que definiu anteriormente para essa coluna na tabela subordinada.
- N Definir Nulo Defina a tabela subordinada como NULL.
- (Em branco) Não imponha integridade referencial nesta relação.
Observação
Estas definições afetam o que acontece numa base de dados real e não num modelo. Num modelo que efetua a engenharia inversa a partir de uma base de dados existente, pode ver como a base de dados foi concebida no que diz respeito à integridade referencial. Num modelo que cria do zero, pode utilizar estas definições para documentar como pretende que a base de dados que está a modelar se comporte.
Mostrar integridade referencial no Visio 2010
- Na guia Banco de Dados, no grupo Gerenciar, clique em Exibir Opções.
- No separador Relações, em Mostrar, selecione a caixa Ações referenciais marcar.
Não consegue encontrar os recursos de modelagem do banco de dados?
Algumas versões do Visio não têm o modelo Diagrama de Modelo de Base de Dados.
O Visio Standard não inclui o modelo Diagrama de Modelo do Banco de Dados.
As edições Visio Professional e Premium são compatíveis com os recursos de engenharia reversa para o exemplo de Diagrama de modelo de banco de dados (ou seja, usar um banco de dados existente para criar um modelo do Visio), mas não é compatível com a engenharia avançada (isto é, usar um modelo de banco de dados do Visio para gerar um código SQL).
Observação
O pacote completo de recursos de modelagem de banco de dados pode ser encontrado no Visio for Enterprise Architects, incluindo a engenharia reversa e a direta. O Visio for Enterprise Architects está incluído na assinatura Premium do MSDN, que está disponível com as edições baseadas em funções do Microsoft Visual Studio Professional e Visual Studio Team System.
Se estiver a utilizar Visio Plano 2 e quiser saber mais sobre como criar uma base de dados existente num modelo de base de dados, veja o tópico Engenharia inversa de uma base de dados existente.