Criar, editar ou excluir uma relação
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

A relação em Access ajuda a combinar dados de duas tabelas diferentes. Cada relação consiste em campos em duas tabelas com dados correspondentes. Por exemplo, você pode ter um campo IDProduto em uma tabela Produtos e em uma tabela DetalhesDoPedido. Cada registro da tabela DetalhesDoPedido tem uma IDProduto que corresponde a um registro na tabela Produtos com a mesma IDProduto.

Quando você usa tabelas relacionadas em uma consulta, a relação permite que o Access determine quais registros de cada tabela combinar no conjunto de resultados. Uma relação também pode ajudar a impedir a perda de dados, evitando que os dados excluídos fiquem fora da sincronização e isso é chamado de integridade referencial.

Antes de trabalhar com relações, verifique se você entende os conceitos de plano de fundo. Para saber mais, confira Guia para relações de tabelas e Introdução às relações de tabelas.

Neste artigo

Visão Geral

Em um banco de dados do Access, é possível criar uma relação de tabelas usando um dos seguintes métodos:

  • Na janela Relações, adicione as tabelas que pretende relacionar e, em seguida, arraste o campo para relacioná-los de uma tabela para outra.

  • Arrastar um campo para uma folha de dados da tabela do painel Lista de Campos.

Quando você cria uma relação entre tabelas, os campos em comum não precisam ter os mesmos nomes, embora seja frequente o caso de que eles tenham. Os campos comuns devem ter o mesmo tipo de dados. No entanto, se o campo da chave primária for um campo Numeração Automática, o campo da chave estrangeira também poderá ser um campo Número se a propriedade TamandoDoCampo dos dois for a mesma. Por exemplo, você pode fazer a correspondência entre um campo Numeração Automática e um campo Número se a propriedade TamandoDoCampo de ambos for Inteiro Longo. Quando os dois campos comuns forem campos Número, eles deverão ter a mesma configuração da propriedade TamandoDoCampo.

Início da página

Criar uma relação de tabelas usando a janela Relações

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Adicionar Tabelas.

  3. Selecione uma ou mais tabelas ou consultas e clique em Adicionar. Depois de concluir a adição de tabelas e consultas na guia de documento Relações, clique em Fechar.

  4. Arraste um campo (geralmente a chave primária) de uma tabela até o campo em comum (a chave estrangeira) em outra tabela. Para arrastar vários campos, pressione a tecla CTRL, clique em cada campo e arraste-os. A caixa de diálogo Editar relacionamentos é exibida.Caixa de diálogo Editar Relações nos campos de junção Acesso com Clientes e Pedidos

  5. Verifique se os nomes dos campos mostrados são os campos em comum da relação. Se o nome de um campo estiver incorreto, clique nesse nome e selecione o campo apropriado na lista. Para impor a integridade referencial para este relacionamento, marque a caixa de seleção Aplicar Integridade Referencial. Para obter mais informações sobre integridade referencial, consulte a seção Impor Integridade Referencial.

  6. Clique em Criar.

    O Access desenhará uma linha de relação entre as duas tabelas. Se você tiver marcado a caixa de seleção Impor Integridade Referencial, a linha aparecerá mais grossa em cada extremidade. Além disso, e novamente apenas se você tiver marcado a caixa de seleção Impor Integridade Referencial, o número 1 aparecerá sobre a parte grossa em um lado da linha da relação, e o símbolo de infinito () aparecerá sobre a parte grossa no outro lado da linha, como mostrado na figura a seguir.Arraste um campo de uma tabela para o campo correspondente de outra tabela.

    Observações: 

    • Para criar uma relação um-para-um    Os dois campos em comum (geralmente os campos de chave primária e chave estrangeira) devem ter um índice exclusivo. Isso significa que a propriedade Indexed para esses campos deve ser definida como Sim (Duplicação Não Autorizada). Quando os dois campos têm um índice exclusivo, o Access cria uma relação um para um.

    • Para criar uma relação um-para-muitos    O campo no lado um (normalmente a chave primária) da relação deve ter um índice exclusivo. Isso significa que a propriedade Indexado desse campo deve ser definida como Sim (duplicação não autorizada). O campo no lado "muitos" não deve ter um índice exclusivo. Ele pode ter um índice, mas deve permitir duplicatas. Isso significa que a propriedade Indexado desse campo deve ser definida como Não ou Sim (duplicação autorizada). Quando um campo um tiver um índice exclusivo e o outro não, o Access criará uma relação um-para-muitos.

Início da Página

Criar uma relação de tabelas usando o painel Lista de Campos para adicionar um campo

Você pode adicionar um campo a uma tabela existente que esteja aberta no modo Folha de Dados arrastando-o a partir do painel Lista de Campos. O painel Lista de Campos mostra os campos disponíveis em tabelas relacionadas e também os campos disponíveis em outras tabelas do banco de dados.

Quando você arrasta um campo de "outra" tabela (não relacionada) e então conclui o Assistente de Pesquisa, uma nova relação um-para-muitos é criada automaticamente entre a tabela existente no painel Lista de Campos e a tabela para a qual você arrastou o campo. Por padrão, essa relação criada pelo Access não impõe integridade referencial. Para impor a integridade referencial, você deve editar a relação. Consulte a seção Editar uma relação para obter mais informações.

Abrir uma tabela no modo Folha de Dados

  • No Painel de Navegação, clique duas vezes na tabela.

Abrir o painel Lista de campos

  • Pressione ALT+F8. O painel Lista de campos é exibido.

    Painel Lista de Campos

O painel Lista de Campos mostra todas as outras tabelas do seu banco de dados, agrupadas em categorias. Quando você trabalha com uma tabela no modo Folha de Dados, o Access exibe campos em uma destas duas categorias no painel Lista de Campos: Campos disponíveis nas tabelas relacionadas e Campos disponíveis em outras tabelas. A primeira categoria lista todas as tabelas que tenham uma relação com a tabela com a qual você está trabalhando. A segunda categoria lista todas as tabelas com as quais sua tabela não tenha relação.

No painel Lista de Campos, ao clicar no sinal de adição (+) ao lado do nome da tabela, você vê uma lista de todos os campos disponíveis nessa tabela. Para adicionar um campo a sua tabela, arraste o campo desejado do painel Lista de Campos para a tabela no modo Folha de Dados.

Adicionar um campo e criar uma relação no painel Lista de Campos

  1. Com a tabela aberta no modo Folha de Dados, pressione ALT+F8. O painel Lista de Campos é exibido.

  2. Em Campos disponíveis em outras tabelas, clique no sinal de adição (+) ao lado do nome de uma tabela para exibir a lista de campos dessa tabela.

  3. Arraste o campo desejado do painel Lista de Campos para a tabela aberta no modo Folha de Dados.

  4. Quando a linha de inserção for exibida, solte o campo na posição.

    O Assistente de Pesquisa será iniciado.

  5. Siga as instruções para concluir o Assistente de Pesquisa.

    O campo aparecerá na tabela no modo Folha de Dados.

Quando você arrasta um campo de "outra" tabela (não relacionada) e então conclui o Assistente de Pesquisa, uma nova relação um-para-muitos é criada automaticamente entre a tabela existente na Lista de Campos e a tabela para a qual você arrastou o campo. Por padrão, essa relação criada pelo Access não impõe integridade referencial. Para impor a integridade referencial, você deve editar a relação. Consulte a seção Editar uma relação para obter mais informações.

Início da Página

Editar uma relação

Você pode alterar uma relação selecionando-a na janela Relações e, em seguida, editando-a.

  1. Posicione cuidadosamente o cursor de forma que ele aponte para a linha da relação e clique na linha para selecioná-la.

    A linha da relação aparecerá mais grossa quando for selecionada.

  2. Com a linha da relação selecionada, clique duas vezes nela.

    –ou–

    Na guia Design de Relações , no grupo Ferramentas , clique em Editar Relações.

A caixa de diálogo Editar Relações será exibida.

Abrir a caixa de diálogo Editar Relações

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Todas as Relações.

    Todas as tabelas com relações serão exibidas, mostrando as linhas de relações. Observe que as tabelas ocultas (tabelas cuja caixa de seleção Oculta foi marcada na caixa de diálogo Propriedades da tabela) e suas relações não serão mostradas a menos que a opção Mostrar Objetos Ocultos esteja selecionada na caixa de diálogo Opções de Navegação.

  3. Clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

  4. Clique duas vezes na linha da relação.

    -ou-

    Na guia Design de Relações , no grupo Ferramentas , clique em Editar Relações.

    A caixa de diálogo Editar Relações é exibida.

    Caixa de diálogo Editar Relações nos campos de junção Acesso com Clientes e Pedidos

  5. Faça suas alterações e clique em OK.

    A caixa de diálogo Editar Relações permite alterar uma relação de tabelas. Especificamente, você pode alterar as tabelas ou as consultas em qualquer lado da relação, ou os campos em qualquer um dos lados. Você também pode definir o tipo de junção ou impor a integridade referencial e escolher uma opção em cascata. Para obter mais informações sobre o tipo de junção e como defini-lo, consulte a seção Definir o tipo de junção. Para obter mais informações sobre como impor a integridade referencial e escolher uma opção em cascata, consulte a seção Impor integridade referencial.

Definir o tipo de junção

Quando você define uma relação de tabelas, os fatos sobre a relação informam seus designs de consulta. Por exemplo, se você definir uma relação entre duas tabelas e, em seguida, criar uma consulta que empregue as duas tabelas, o Access selecionará automaticamente os campos correspondentes padrão com base nos campos especificados na relação. Você pode substituir esses valores padrão iniciais na consulta, mas os valores fornecidos pela relação frequentemente provarão ser os corretos. Como a correspondência e a associação de dados de mais de uma tabela é algo que você fará com freqüência em todos os bancos de dados, exceto nos mais simples, a configuração de padrões por meio da criação de relações pode economizar tempo e ser benéfica.

Uma consulta de várias tabelas combina informações de mais de uma tabela por meio da correspondência dos valores em campos comuns. A operação que faz a correspondência e a combinação é chamada de junção. Por exemplo, vamos supor que você queira exibir os pedidos de clientes. Para isso, você cria uma consulta que una a tabela Clientes e a tabela Pedidos pelo campo ID do Cliente. O resultado da consulta conterá informações sobre o cliente e informações sobre o pedido somente para as linhas em que uma correspondência for encontrada.

Um dos valores que você pode especificar para cada relação é o tipo da junção. O tipo da junção informa ao Access quais registros devem ser incluídos no resultado de uma consulta. Por exemplo, considere novamente uma consulta que associe a tabela Clientes e a tabela Pedidos pelos campos comuns que representam a ID do Cliente. Usando o tipo de junção padrão (chamada de junção interna), a consulta retornará somente as linhas de Cliente e as linhas de Pedido em que os campos comuns (também chamados de campos de junção) sejam iguais.

Entretanto, suponha que você queira incluir todos os Clientes  — mesmo aqueles que ainda não fizeram nenhum pedido. Para isso, você precisará alterar o tipo da junção de interna para o que é conhecido como uma junção externa esquerda. Uma associação externa esquerda retorna todas as linhas da tabela do lado esquerdo da relação e somente as linhas correspondentes na tabela à direita. Uma associação externa direita retorna todas as linhas à direita e somente as linhas correspondentes à esquerda.

Observação: Nesse caso, "esquerda" e "direita" refere-se à posição das tabelas na caixa de diálogo Editar Relações, não na janela Relações.

Você deve pensar sobre o resultado que desejará com mais frequência de uma consulta que associa as tabelas nessa relação e, em seguida definir o tipo de junção de acordo.

Definir o tipo de junção

  1. Na caixa de diálogo Editar Relações, clique em Tipo de Junção.

    A caixa de diálogo Propriedades da Junção aparece.Caixa de diálogo Propriedades de Junção no Access mostrada com três opções de junções. A primeira opção é selecionada em quais estados incluir apenas linhas em que os campos ingressados de ambas as tabelas são iguais.

  2. Selecione sua escolha e clique em OK.

A tabela a seguir (usando as tabelas Clientes e Pedidos) mostra as três opções que são exibidas na caixa de diálogo Propriedades da Junção, o tipo da junção utilizada e se todas as linhas ou as linhas correspondentes são retornadas para cada tabela.

Opção

Junção relacional

Tabela da esquerda

Tabela da direita

1. Somente incluir as linhas quando os campos associados de ambas as tabelas forem iguais.

Junção interna

Linhas correspondentes

Linhas correspondentes

2. Incluir TODOS os registros de 'Clientes' e somente os registros de 'Pedidos' quando os campos associados forem iguais.

Junção externa esquerda

Todas as linhas

Linhas correspondentes

3. Incluir TODOS os registros de 'Pedidos' e somente os registros de 'Clientes' quando os campos associados forem iguais.

Junção externa direita

Linhas correspondentes

Todas as linhas

Quando você escolher a opção 2 ou a opção 3, uma seta será mostrada na linha da relação. Essa seta apontará para o lado da relação que mostra somente as linhas correspondentes.

Fazer alterações na caixa de diálogo Propriedades da Junção

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Todas as Relações. Todas as tabelas que possuem relacionamentos são exibidas, mostrando as linhas de relacionamento. Observe que as tabelas ocultas (tabelas cuja caixa de seleção Oculta está marcada na caixa de diálogo Propriedades da tabela) e suas relações não serão mostradas a menos que a opção Mostrar Objetos Ocultos esteja selecionada na caixa de diálogo Opções de Navegação.

  3. Clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

  4. Clique duas vezes na linha da relação. A caixa de diálogo Editar Relações é exibida.

  5. Clicar em Tipo de Junção.

  6. Na caixa de diálogo Propriedades de Junção , selecione uma opção e clique em OK.Caixa de diálogo Propriedades de Junção no Access mostrada com três opções de junções. A primeira opção é selecionada em quais estados incluir apenas linhas em que os campos ingressados de ambas as tabelas são iguais.

  7. Faça quaisquer alterações adicionais na relação e clique em OK.

Início da Página

Impor integridade referencial

A finalidade da integridade referencial é impedir registros órfãos, que façam referência a outros registros que não existem mais. Você impõe a integridade referencial habilitando-a para uma relação de tabelas. Depois de imposta, o Access rejeitará qualquer operação que viole a integridade referencial dessa relação de tabelas. Isso significa que o Access rejeitará atualizações que alterem o destino de uma referência e exclusões que removam o destino de uma referência. Para que o Access propague atualizações e exclusões referenciais de forma que todas as linhas relacionadas sejam alteradas de acordo, consulte a seção Definir as opções em cascata.

Ativar ou desativar a integridade referencial

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Todas as Relações. Todas as tabelas com relacionamentos são exibidas, mostrando as linhas de relacionamento. Observe que as tabelas ocultas (tabelas cuja caixa de seleção Oculta está marcada na caixa de diálogo Propriedades da tabela) e suas relações não serão mostradas a menos que a opção Mostrar Objetos Ocultos esteja selecionada na caixa de diálogo Opções de Navegação.

  3. Clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

  4. Clique duas vezes na linha da relação. A caixa de diálogo Editar Relações é exibida.

  5. Selecione ou limpe Impor Integridade Referencial.

  6. Faça quaisquer alterações adicionais à relação e clique em OK.

Se você impor a integridade referencial, as seguintes regras serão aplicadas:

  • Não será possível inserir um valor no campo de chave estrangeira de uma tabela relacionada se esse valor não existir no campo de chave primária da tabela primária — fazer isso cria registros órfãos.

  • Você não poderá excluir um registro de uma tabela primária se existirem registros coincidentes em uma tabela relacionada. Por exemplo, você não poderá excluir o registro de um funcionário da tabela Funcionários se houver pedidos atribuídos a esse funcionário na tabela Pedidos. Entretanto, você poderá optar por excluir um registro primário e todos os registros relacionados em uma única operação, marcando a caixa de seleção Propagar Exclusão dos Registros Relacionados.

  • Você não poderá alterar o valor de uma chave primária na tabela primária se isso puder criar registros órfãos. Por exemplo, você não poderá alterar um número de pedido na tabela Pedidos se houver itens de linha atribuídos a esse pedido na tabela Detalhes do Pedido. Entretanto, você poderá optar por atualizar um registro primário e todos os registros relacionados em uma única operação, marcando a caixa de seleção Propagar Atualização dos Campos Relacionados.

    Observações: Se você tiver dificuldades para habilitar a integridade referencial, observe que as seguintes condições são exigidas para impor a integridade referencial:

    • O campo comum da tabela primária deverá ser uma chave primária ou ter um índice exclusivo.

    • Os campos comuns devem ter o mesmo tipo de dados. A única exceção é que um campo Numeração Automática pode ser relacionado a um campo Número que tenha a configuração da propriedade TamanhoDoCampo igual a Inteiro Longo.

    • As duas tabelas deverão existir no mesmo banco de dados do Access. Não é possível impor a integridade referencial em tabelas vinculadas. No entanto, se as tabelas de origem estiverem no formato do Access, você poderá abrir o banco de dados em que elas estão armazenadas e habilitar a integridade referencial nesse banco de dados.

Definir as opções em cascata

Você pode se deparar com uma situação em que tenha uma necessidade válida de alterar o valor no lado "um" de uma relação. Nesse caso, você precisará que o Access atualize automaticamente todas as linhas afetadas como parte de uma única operação. Nesse caso, a atualização será concluída totalmente de forma que o banco de dados não seja deixado em um estado inconsistente  — com algumas linhas atualizadas e outras, não. O Access ajuda a evitar esse problema oferecendo suporte à opção Propagar Atualização dos Campos Relacionados. Quando você impõe a integridade referencial e escolhe a opção Propagar Atualização dos Campos Relacionados e, em seguida, atualiza uma chave primária, o Access atualiza automaticamente todos os campos que façam referência à chave primária.

Você também pode precisar excluir uma linha e todos os registros relacionados  — por exemplo, o registro de uma Transportadora e todos os pedidos relacionados a essa transportadora. Por esse motivo, o Access oferece suporte à opção Propagar Exclusão dos Registros Relacionados. Quando você impõe a integridade referencial e marca a caixa de seleção Propagar Exclusão dos Registros Relacionados, o Access exclui automaticamente todos os registros que façam referência à chave primária quando você exclui o registro que contém a chave primária.

Ativar ou desativar a atualização em cascata e/ou a exclusão em cascata

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Todas as Relações. Todas as tabelas com relacionamentos são exibidas, mostrando as linhas de relacionamento. Observe que as tabelas ocultas (tabelas cuja caixa de seleção Oculta está marcada na caixa de diálogo Propriedades da tabela) e suas relações não serão mostradas a menos que a opção Mostrar Objetos Ocultos esteja selecionada na caixa de diálogo Opções de Navegação.

  3. Clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

  4. Clique duas vezes na linha da relação. A caixa de diálogo Editar relacionamentos é exibida.

  5. Marque a caixa de seleção Impor Integridade Referencial.

  6. Marque a caixa de seleção Propagar Atualização dos Campos Relacionados ou Propagar Exclusão dos Registros Relacionados ou ambas.

  7. Faça alterações adicionais na relação e clique em OK.

Observação: Se a chave primária for um campo Numeração Automática, o uso da caixa de seleção Propagar Atualização dos Campos Relacionados não terá efeito, pois não é possível mudar o valor de um campo Numeração Automática.

Início da Página

Excluir uma relação de tabela

Importante: Ao remover uma relação, você também removerá o suporte à integridade referencial para essa relação, se ela estiver habilitada. Como resultado, o Access não impedirá mais automaticamente a criação de registros órfãos no lado "muitos" de uma relação.

Para remover uma relação de tabelas, exclua a linha de relação, na janela Relações. Posicione o cursor de modo que ele aponte para a linha de relação e clique na linha. A linha de relação aparece mais fina quando selecionada. Com a linha de relação selecionada, pressione DELETE.

  1. Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.

  2. Na guia Design de Relações , no grupo Relações , clique em Todas as Relações. Todas as tabelas com relacionamentos são exibidas, mostrando as linhas de relacionamento. Observe que as tabelas ocultas (tabelas cuja caixa de seleção Oculta está marcada na caixa de diálogo Propriedades da tabela) e suas relações não serão mostradas a menos que a opção Mostrar Objetos Ocultos esteja selecionada na caixa de diálogo Opções de Navegação.

  3. Clique na linha do relacionamento que você deseja excluir. A linha da relação aparecerá mais grossa quando for selecionada.

  4. Pressione a tecla DELETE.

  5. O Access talvez exiba a mensagem Tem certeza de que deseja excluir permanentemente de seu banco de dados a relação selecionada?. Se essa mensagem de confirmação aparecer, clique em Sim.

Observação: Se uma das tabelas empregadas na relação de tabelas estiver em uso  — talvez por outra pessoa ou em outro processo, ou em um objeto de banco de dados aberto, como um formulário  — você não poderá excluir a relação. Primeiro feche todos os objetos abertos que utilizem essas tabelas e depois tente remover a relação.

Início da Página

Confira também

Adicionar um campo de pesquisa a uma tabela

O que é a janela Relações?

Comparar duas tabelas no Access e encontre apenas dados correspondentes

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.