Vídeo: Introdução às relações de tabelas
Applies To
Access para Microsoft 365 Access 2021 Access 2019 Access 2016Experimente!
O poder de um banco de dados relacional está na combinação de dados entre tabelas. Para fazer isso, primeiro é necessário estabelecer relacionamentos entre tabelas. Em seguida, coloque o Access para trabalhar para combinar dados em consultas, formulários e relatórios.
Para ver todas as relações existentes definidas para um banco de dados, abra um modelo do Access, vá para a guia Ferramentas de Banco de Dados e selecione Relações.
Observação: Se você abrir um banco de dados em branco ou não tiver definido nenhuma relação de tabela, o Access solicitará que você adicione uma tabela ou consulta. Antes de poder adicionar uma relação, você precisa de pelo menos duas tabelas. O ideal é criar todas as suas tabelas primeiro. Para saber mais, veja Criar relações utilizando o Assistente de Pesquisa e Criar relações utilizando o Painel de Relações.
Noções básicas sobre o modo de exibição Relações
As linhas no modo de exibição Relações indicam conexões entre as tabelas. Na imagem a seguir, a tabela à esquerda é a tabela pai. A tabela à direita é a tabela filho. A linha entre eles conecta os campos (nesse caso, ID do Pedido e ID do Produto) usados para corresponder os dados.
Linhas e símbolos mostram como as tabelas estão relacionadas:
-
Uma linha de conexão espessa significa que você está aplicando a integridade de dados referenciais. Isso é bom. Ele mantém seus dados sincronizados.
-
Na nossa ilustração, o número 1 indica que pode haver somente um registro correspondente nessa tabela. Na tabela Pedidos mostrada aqui, somente um registro coincide com cada pedido.
-
O símbolo ∞ indica que muitos registros podem incluir a mesma ID. Na tabela Detalhes do pedido mostrada aqui, um pedido (indicado por sua ID do Pedido) pode aparecer mais de uma vez, porque a mesma ordem pode incluir vários produtos.
Tipos de relações entre tabelas
Há três tipos de relações entre tabelas:
-
Um para um. Quando cada item em cada tabela só aparece uma vez. Por exemplo, cada funcionário pode ter apenas um carro da empresa para usar. Para saber mais, veja Criar relações um para um.
-
Um para muitos. Quando um item em uma tabela pode ter uma relação com vários itens em outra tabela. Por exemplo, cada pedido de compra pode incluir vários produtos.
-
Muitos para muitos. Quando um ou mais itens em uma tabela podem ter uma relação com um ou mais itens em outra tabela. Por exemplo, cada pedido pode ter vários produtos e cada produto pode aparecer em muitos pedidos. Para descobrir mais, veja Criar relações muitos para muitos.
Relações um para muitos
Uma das relações mais comuns entre tabelas em bancos de dados bem projetados é a relação um para muitos.
As relações entre tabelas normalmente dependem da chave primária em uma das tabelas. Lembre-se de que a chave primária é um identificador exclusivo (geralmente numérico) para cada registro. Para mostrar que as informações nas duas tabelas diferentes estão relacionadas, geralmente você cria uma relação usando a chave primária de uma das tabelas.
Na relação mostrada aqui, por exemplo, cada pessoa na tabela Contatos tem uma ID, que é a chave primária (indicada pelo símbolo de chave ao lado dela). Essa ID também aparece no campo Proprietário na tabela Ativos. Para enviar um email para a pessoa associada a um ativo, obtenha o valor do campo Endereço de email. Para fazer isso, procure o valor no campo Proprietário da tabela Ativos e procure essa ID na tabela Contatos. O número 1 em uma ponta da linha de conexão e o símbolo ∞ na outra indicam que essa é uma relação um para muitos, então um contato pode estar associado a muitos ativos.
Editar uma relação
Se você estiver modificando um banco de dados existente ou se tiver criado o banco de dados de um modelo, poderá editar as relações existentes para atender às suas necessidades.
Observação: Se as tabelas com as quais você deseja trabalhar estiverem em uso, você deverá primeiro fechá-las, juntamente com todos os objetos abertos que as usam.
-
Selecione Ferramentas de Banco de Dados > Relações.
-
Selecione a linha que conecta duas tabelas relacionadas.
Dica: Se você não vir a relação desejada, na guia Design, no grupo Relações, selecione Todas as Relações.
-
Na guia Design, selecione Editar Relações.
Tabela/Consulta é a tabela pai à esquerda (no exemplo, Clientes).
Tabela/Consulta Relacionada é a tabela filho (no exemplo, Pedidos).
Mesmo se as tabelas não aparecerem nesta ordem no modo de exibição Relações, seu posicionamento na caixa de diálogo indica a direção da linha que as está conectando e a relação. Isso será importante se, por exemplo, for uma relação um para muitos, pois indica que a tabela à esquerda é uma (a tabela pai) e a tabela à direita é muitos (a tabela filho).
-
Para alterar os campos que conecta as tabelas, selecione um campo diferente abaixo de cada tabela mostrada. Neste exemplo, o campo ID na tabela Clientes conecta-se ao campo ID do Cliente na tabela Pedidos.
-
Altere a maneira como o Access sincroniza os dados entre as tabelas.
Impor a integridade referencial
Para impedir dados inválidos e manter as referências em sincronia entre as relações de tabela, selecione esta opção.
Por exemplo, suponha que você tenha uma relação um para um entre as tabelas Funcionários e Benefícios dos funcionários. Se um funcionário sair da empresa e você os remover de sua tabela Funcionários, o registro de funcionário relacionado na tabela Benefícios de funcionários também será removido.
Às vezes, impor a integridade referencial não faz sentido. Por exemplo, suponha que você tenha uma relação um para muitos entre Transportadoras e Pedidos. Você exclui uma transportadora e essa transportadora mapeia para pedidos na tabela Pedidos. Esses pedidos ficam órfãos, significando que ainda contêm uma ID de Transportadora, mas a ID não está mais válida porque o registro ao qual ela faz referência não existe.
Propagar atualização dos campos relacionados
Para garantir que os dados em campos relacionados sejam atualizados em todas as tabelas relacionadas, selecione esta opção.
Por exemplo, suponha que você simplesmente queira alterar a ID de uma transportadora. Definir essa opção garante que a ID da transportadora seja atualizada, não apenas na tabela Transportadoras, mas também de outras tabelas conectadas a ela que também incluem essa ID de transportadora, como a tabela Pedidos.
Propagar exclusão dos registros relacionados
A decisão de selecionar essa opção depende se você precisar manter os registros em algumas tabelas, mesmo que elas possam ser excluídas de outras tabelas.
Por exemplo, suponha que você exclua uma transportadora. Se esta opção for selecionada, o Access excluirá todos os registros em todas as tabelas que fazem referência a essa ID de Transportadora, incluindo todos os pedidos (na tabela Pedidos) fornecidos por essa transportadora. Você só deverá selecionar essa opção se tiver certeza de que seu histórico de pedidos deverá ser excluído.
-
Para alterar a relação entre as tabelas de uma junção interna para uma externa, selecione o botão Tipo de Junção. Para saber mais, veja Criar consultas com junções externas.
Excluir uma relação de tabela
Observação: Se as tabelas com as quais você deseja trabalhar estiverem em uso, você deverá primeiro fechá-las, juntamente com todos os objetos abertos que as usam.
Para remover uma relação de tabela:
-
Selecione Ferramentas de Banco de Dados > Relações.
-
Selecione a linha que conecta as duas tabelas relacionadas.
Dica: Se você não vir a relação desejada, na guia Design, no grupo Relações, selecione Todas as Relações.
-
Selecione a tecla Delete. Se for solicitado a confirmar que deseja excluir a relação, selecione Sim.
Observação: Ao remover uma relação, você também removerá o suporte à integridade referencial para essa relação, se houver. Como resultado, o Access não impedirá mais as alterações que resultem em registros órfãos no lado "muitos" de uma relação de um para muitos.