Guia para relações de tabelas

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.

Uma das metas de design de banco de dados BOM é remover a redundância de dados (dados duplicados). Para alcançar esse objetivo, divida seus dados em várias tabelas baseadas em assunto para que cada fato é representado apenas uma vez. Você fornece acesso com o meio pelo qual reunir as informações divididas volta — isso colocando campos comuns em tabelas relacionadas. Para concluir esta etapa corretamente, no entanto, você deve primeiro compreender as relações entre suas tabelas e especifique essas relações em seu banco de dados.

Para obter mais informações, consulte o artigo Fundamentos do design de banco de dados.

Este artigo não aborda relações em um banco de dados da web. Bancos de dados da Web não dão suporte a janela relações. Você pode usar campos de pesquisa para criar relações em um banco de dados da web. Para obter mais informações, consulte o artigo criar um banco de dados para compartilhar na Web.

Neste artigo

Introdução

Tipos de relações de tabela

Por que criar relações de tabelas?

Noções básicas sobre integridade referencial

Exibir relações de tabelas

Criar uma relação de tabelas

Excluir uma relação de tabela

Alterar uma relação de tabelas

Impor a integridade referencial

Introdução

Após ter criado uma tabela para cada assunto em seu banco de dados, você deve fornecer acesso com o meio pelo qual reunir informações volta novamente quando necessário. Faça isso colocando campos comuns em tabelas relacionadas e definindo relações entre suas tabelas. Em seguida, você pode criar consultas, formulários e relatórios para exibir informações de várias tabelas de uma vez. Por exemplo, o formulário mostrado aqui inclui informações desenhadas de várias tabelas:

Formulário Pedidos exibindo de uma só vez informações relacionadas de cinco tabelas

1. As informações desse formulário são originárias da tabela Clientes...

2. ...da tabela Pedidos...

3. ...da tabela Produtos...

4. ...e da tabela Detalhes do Pedido.

O nome do cliente na caixa Cobrar é recuperado da tabela Clientes; os valores de Código do Pedido e Data do Pedido vêm da tabela Pedidos; o nome do Produto vem da tabela Produtos; os valores de Preço Unitário e Quantidade vêm da tabela Detalhes do Pedido. Essas tabelas são vinculadas umas as outras de várias formas para trazer as informações de todas para o formulário.

No exemplo anterior, os campos das tabelas precisam estar coordenados de forma que mostrem informações sobre o mesmo pedido. Tal coordenação é realizada usando relações de tabelas. Uma relação de tabelas funciona pela correspondência de dados em campos chave — frequentemente, um campo com o mesmo nome em ambas as tabelas. Na maioria dos casos, esses campos correspondentes são a chave primária de uma tabela, que fornece um identificador exclusivo para cada registro, e uma chave estrangeira na outra tabela. Por exemplo, funcionários podem ser associados a pedidos pelos quais são responsáveis criando uma relação de tabelas entre os campos IDFuncionário nas tabelas Funcionários e Pedidos.

IDFuncionário usado como chave primária na tabela Funcionários e como chave estrangeira na tabela Pedidos.

1. IDFuncionário aparece em ambas as tabelas — como uma chave primária ...

2.   ...e como uma chave estrangeira.

Início da página

Tipos de relações de tabelas

Há três tipos de relações de tabelas.

  • Uma relação um-para-muitos

    Considere a possibilidade de um banco de dados que inclui uma tabela clientes e uma tabela Pedidos de acompanhamento de pedidos. Um cliente pode colocar qualquer número de pedidos. Ela segue que para qualquer cliente representado na tabela clientes, pode haver vários pedidos representados na tabela Pedidos. A relação entre a tabela clientes e da tabela Pedidos é, portanto, uma relação um-para-muitos.

    Para representar uma relação um-para-muitos em seu design de banco de dados, faça a chave primária no lado "um" da relação e adicioná-lo como um ou mais campos adicionais para a tabela no lado "muitos" da relação. Nesse caso, por exemplo, adicionar um novo campo — o campo ID da tabela Customers — para as ordens de tabela e nomeie-a ID do cliente. Access, em seguida, pode usar o número de identificação de cliente na tabela Pedidos para localizar o cliente correto para cada pedido.

  • Um relacionamento muitos-para-muitos

    Considere a relação entre uma tabela de produtos e uma tabela Pedidos. Uma única ordem pode incluir mais de um produto. Por outro lado, um único produto pode aparecer em muitos pedidos. Portanto, para cada registro na tabela Pedidos, pode haver muitos registros na tabela produtos. Além disso, para cada registro na tabela produtos, pode haver muitos registros na tabela Pedidos. Esse tipo de relação é chamado uma relação muitos-para-muitos porque, qualquer produto, pode haver vários pedidos e, para qualquer ordem, pode haver vários produtos. Observe que para detectar relações existentes de muitos-para-muitos entre suas tabelas, é importante considerar a ambos os lados da relação.

    Para representar uma relação muitos-para-muitos, você deve criar uma terceira tabela, geralmente chamada de tabela de junção, que divide a relação muitos-para-muitos em duas relações um-para-muitos. Insira a chave primária de cada uma das duas tabelas na terceira tabela. Como resultado, a terceira tabela registra cada ocorrência, ou instância, da relação. Por exemplo, a tabela Pedidos e a tabela Produtos possuem uma relação muitos-para-muitos que é definida criando-se duas relações um-para-muitos com a tabela Detalhes do Pedido. Um pedido pode ter muitos produtos, e cada produto pode aparecer em muitos pedidos.

  • Uma relação um-para-um

    Em um relacionamento de um para um, cada registro na primeira tabela pode ter apenas um registro correspondente na segunda tabela, e cada registro na segunda tabela pode ter apenas um registro correspondente na primeira tabela. Esse tipo de relação não é comum porque, com mais frequência, as informações relacionadas dessa maneira são armazenadas na mesma tabela. Você pode usar um relacionamento individual para dividir uma tabela com muitos campos, isolar parte de uma tabela por razões de segurança ou armazenar informações que se aplicam somente a um subconjunto da tabela principal. Quando você identificar tal relação, ambas as tabelas devem compartilhar um campo comum.

Início da página

Por que criar relações de tabelas?

Você pode criar relações de tabela explicitamente usando a janela Relações ou arrastando um campo do painel Lista de campo. Access usará relacionamentos de tabela de saber como associar tabelas quando você precisar usá-los em um objeto de banco de dados. Há vários motivos por que você deve criar relações de tabela antes de criar outros objetos de banco de dados, como formulários, consultas e relatórios.

  • As relações de tabelas informam os designs de consulta

    Para trabalhar com registros de mais de uma tabela, você geralmente deve criar uma consulta que associa as tabelas. A consulta funciona os valores correspondentes no campo de chave primária da primeira tabela com um campo de chave estrangeiro na segunda tabela. Por exemplo, para retornar linhas que listam todas as ordens de cada cliente, você construir uma consulta que associa a tabela de clientes com a tabela de pedidos com base no campo ID do cliente. Na janela relações, você pode especificar manualmente os campos para ingressar. No entanto, se você já tiver um relacionamento definido entre as tabelas, o Access fornece a associação padrão, com base em existente a relação de tabela. Além disso, se você usa um dos assistentes de consulta, o Access usa as informações que ele reúne das relações de tabela que já definidos para apresentar você com opções informadas e preencher as configurações de propriedade com valores padrão apropriado.

  • As relações de tabelas informam os designs de formulário e relatório

    Ao criar um formulário ou relatório, o Access usa as informações que ele reúne das relações de tabela que já definidos para apresentar você com opções informadas e preencher as configurações de propriedade com valores padrão apropriado.

  • As relações de tabelas são a base através da qual você pode garantir a integridade referencial para ajudar a evitar registros órfãos no banco de dados. Um registro órfão é um registro com uma referência a outro registro que não existe — por exemplo, um registro de pedido que faça referência a um registro de cliente que não existe.

    Quando você cria um banco de dados, divida as informações em tabelas, cada uma delas tem uma chave primária. Você adicionar chaves estrangeiras tabelas relacionadas que fazem referência a essas chaves primárias. Esses pares de chave estrangeiras chave primária formam a base para relações de tabelas e consultas em várias tabelas. Portanto, é importante que essas referências de chave estrangeira da chave primária fiquem sincronizadas. Integridade referencial ajuda a garantir que referencia permaneçam sincronizado e é dependente relações de tabela.

Início da página

Noções básicas sobre integridade referencial

Quando você cria um banco de dados, você dividir suas informações em várias tabelas baseadas em assunto para minimizar a redundância de dados. Em seguida, você fornecer acesso com o meio pelo qual trazer os dados de volta juntos colocando campos comuns em tabelas relacionadas. Por exemplo, para representar uma relação um-para-muitos que você faça a chave primária da tabela "um" e adicioná-lo como um campo adicional para a tabela "muitos". Para reunir os dados novamente, o Access usa o valor na tabela "muitos" e procura o valor correspondente na tabela "um". Dessa maneira, os valores na tabela "muitos" referência os valores correspondentes na tabela "um".

Suponha que você tenha uma relação um-para-muitos entre Expedidores e Pedidos e você deseje excluir um Expedidor. Se o expedidor que você deseja excluir tiver pedidos na tabela Pedidos, esses pedidos se tornarão "órfãos" quando você excluir o registro Expedidor. Os pedidos ainda conterão um código de expedidor, mas ele não será mais válido, porque o registro ao qual ele faz referência não existe mais.

O objetivo da integridade referencial é evitar órfãos e manter as referências em sincronia para que essa situação hipotética nunca ocorra.

Impor integridade referencial habilitando-a para uma relação de tabela (consulte impor a integridade referencial para instruções passo a passo). Depois de aplicada, o Access rejeita qualquer operação que viole a integridade referencial para essa relação de tabela. Isso significa que o Access irá rejeitar ambas as atualizações que alterar o destino de uma referência e exclusões que remover o destino de uma referência. No entanto, é possível que você pode precisar perfeitamente válido para alterar a chave primária de uma transportadora com pedidos na tabela Pedidos. Nesses casos, o que você realmente precisa é para acesso atualizar automaticamente todas as linhas afetadas como parte de uma única operação. Dessa maneira, o Access garante que a atualização é concluída completo para que seu banco de dados não seja deixado em um estado inconsistente, com algumas linhas atualizadas e alguns não. Por esse motivo o Access oferece suporte a opção propagar atualização dos campos relacionados. Quando você impor a integridade referencial e escolha a opção de propagar atualização dos campos relacionados e você e atualizar uma chave primária, o Access atualiza automaticamente todos os campos que fazem referência a chave primária.

Também é possível que você pode precisar válido para excluir uma linha e todos os registros relacionados — por exemplo, um registro de transportador e pedidos todos relacionados a esse transportadora. Por esse motivo, o Access oferece suporte a opção Propagar exclusão dos registros relacionados. Quando você impor a integridade referencial e escolha a opção de Propagar exclusão dos registros relacionados, e você excluir um registro no lado da chave primária da relação, o Access exclui automaticamente todos os registros que fazem referência a chave primária.

Início da página

Exibir relações de tabelas

Para exibir as relações de tabela, clique em relações na guia Ferramentas de banco de dados. A janela Relações abre e exibe qualquer relações existentes. Se nenhuma relação de tabela ainda tiver sido definida e você está abrindo a janela Relações pela primeira vez, o Access solicitará que você adicionar uma tabela ou consulta à janela.

Abrir a janela Relações

  1. Na guia Arquivo, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra o banco de dados.

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

  4. Se o banco de dados contém relações, a janela relações é exibida. Se o banco de dados não contiver qualquer relacionamento e você está abrindo a janela Relações pela primeira vez, a caixa de diálogo Mostrar tabela é exibida. Clique em Fechar para fechar a caixa de diálogo.

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

    Isso exibe todas as relações definidas no banco de dados. Observe que as tabelas ocultas (tabelas para o qual o ocultos caixa de seleção na caixa de diálogo de Propriedades da tabela é selecionada) e seus relacionamentos não serão exibidos a menos que a caixa de seleção Mostrar objetos ocultos está marcada na caixa de diálogo Opções de navegação.

Uma relação de tabelas é representada por uma linha de relação traçada entre tabelas na janela Relações. Uma relação que não impõe integridade referencial aparece como uma linha fina entre os campos em comum que dão suporte à relação. Quando você seleciona a relação clicando na respectiva linha, a linha fica mais espessa para indicar que está selecionada. Se você impuser a integridade referencial para essa relação, a linha aparecerá mais espessa em cada extremidade. Além disso, o número 1 aparecerá sobre a parte espessa da linha em um lado da relação e o símbolo de infinito () aparecerá sobre a parte espessa da linha no outro lado.

Quando a janela Relações está ativa, você pode selecionar entre os seguintes comandos na Faixa de Opções:

Na guia Design, no grupo Ferramentas:

  • Editar Relações    Abre a caixa de diálogo Editar Relações. Quando você seleciona uma linha de relação, pode clicar em Editar Relações para alterar a relação da tabela. Você também pode clicar duas vezes na linha da relação.

  • Limpar Layout    Remove todas as tabelas e relações da exibição na janela Relações. Observe que esse comando só oculta as tabelas e relações — ele não as exclui.

  • Relatório de Relações    Cria um relatório que exibe as tabelas e relações no banco de dados. O relatório mostra somente as tabelas e as relações que não estão ocultas na janela Relações.

Na guia Design, no grupo Relações:

  • Mostrar Tabela    Abre a caixa de diálogo Mostrar Tabela para que você possa selecionar tabelas e consultas para exibição na janela Relações.

  • Ocultar Tabela    Oculta a tabela selecionada na janela Relações.

  • Mostrar Relações Diretas    Exibe todas as relações e tabelas relacionadas da tabela selecionada na janela Relações, se ainda não estiverem exibidas.

  • Todas as Relações    Exibe todas as relações e tabelas relacionadas do banco de dados na janela Relações. Observe que as tabelas ocultas (tabelas para as quais a caixa de seleção Oculta na caixa de diálogo Propriedades da tabela está marcada) e suas relações não serão mostradas a menos que Mostrar Objetos Ocultos esteja marcada na caixa de diálogo Opções de Navegação.

  • Fechar    Fecha a janela Relações. Se você tiver feito alterações no layout da janela Relações, será perguntado se deseja salvá-las.

Início da página

Criar uma relação de tabelas

Você pode criar uma relação de tabelas usando a janela Relações ou arrastando um campo para uma folha de dados a partir 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 que tenham. Em vez disso, esses campos devem ter o mesmo tipo de dados. Se o campo da chave primária for um campo Numeração Automática, entretanto, o campo da chave estrangeira poderá ser um campo Número se a propriedade FieldSize de ambos 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 FieldSize de ambos for Inteiro Longo. Quando os dois campos em comum forem campos Número, eles deverão ter a mesma configuração da propriedade FieldSize.

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

  1. Na guia Arquivo, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra o banco de dados.

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

  4. Se você ainda não definiu nenhuma relação, a caixa de diálogo Mostrar Tabela aparecerá automaticamente. Se não aparecer, na guia Design, no grupo Relações, clique em Mostrar Tabela.

A caixa de diálogo Mostrar Tabela exibe todas as tabelas e consultas no banco de dados. Para ver somente as tabelas, clique em Tabelas. Para ver somente as consultas, clique em Consultas. Para ver tabelas e consultas, clique em Ambas.

  1. Selecione uma ou mais tabelas ou consultas e, em seguida, clique em Adicionar. Quando concluir a adição de tabelas e consultas à janela Relações, clique em Fechar.

  2. Arraste um campo (normalmente a chave primária) de uma tabela para o campo comum (a chave estrangeira) na outra tabela. Para arrastar vários campos, pressione a tecla CTRL, clique em cada campo e arraste-os.

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

  1. 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 no nome do campo e selecione um novo campo na lista.

Para impor a integridade referencial para essa relação, marque a caixa de seleção Impor Integridade Referencial. Para obter mais informações sobre integridade referencial, consulte as seções Noções básicas sobre integridade referencial e Impor a Integridade Referencial.

  1. Clique em Criar.

    A linha da relação é traçada entre as duas tabelas. Se você marcou a caixa de seleção Impor Integridade Referencial, a linha aparecerá mais grossa em cada extremidade. Além disso, novamente apenas se você marcou a caixa de seleção Impor Integridade Referencial, o número 1 aparecerá sobre a parte grossa da linha em um lado da relação e o símbolo de infinito (8) aparecerá sobre a parte grossa da linha no outro lado.

    Observações : 

    • Para criar um relacionamento individual    Ambos os campos comuns (normalmente a chave primária e campos de chave estrangeira) devem ter um índice exclusivo. Isso significa que a propriedade indexado para esses campos deve ser definida como Sim (duplicação não autorizada). Se os dois campos têm um índice exclusivo, o Access cria um relacionamento individual.

    • 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 para este campo deve ser definida como Sim (duplicação não autorizada). O campo no lado "muitos" deve não ter um índice exclusivo. Ele pode ter um índice, mas ele deve permitir duplicatas. Isso significa que a propriedade indexado para este campo deve ser definida a Nenhumaou Sim (Duplicação autorizada). Quando um campo tem um índice exclusivo e o outro não, o Access cria uma relação um-para-muitos.

Criar uma relação de tabelas usando o painel Lista de Campos

Você pode adicionar um campo a uma tabela existente que é aberta no modo folha de dados arrastando-o do painel Lista de campo. O painel Lista de campo mostra campos disponíveis nas tabelas relacionadas e também campos disponível em outras tabelas. Quando você arrasta um campo de uma tabela "outra" (não relacionada) e conclua o Assistente de pesquisa, uma nova relação um-para-muitos é criada automaticamente entre a tabela no painel Lista de campo e a tabela à qual você arrastado o campo. Essa relação, criada pelo Access, não impor integridade referencial por padrão. Para impor integridade referencial, você deve editar a relação. Consulte a seção alterar uma relação de tabela para obter mais informações.

Abrir uma tabela no modo Folha de Dados

  1. Na guia Arquivo, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra o banco de dados.

  3. No Painel de Navegação, clique com o botão direito do mouse na tabela à qual você deseja adicionar o campo e criar a relação, e clique em Abrir.

Abrir o painel Lista de campos

  • Pressione ALT+F8.

    O painel Lista de campos é exibido.

A Lista de campos do painel mostra todas as outras tabelas no seu banco de dados, agrupados em categorias. Quando você trabalha com uma tabela no modo folha de dados, o Access exibe campos em qualquer uma das duas categorias no painel Lista de campos: campos disponíveis em outras tabelas e campos disponíveis nas tabelas relacionadas. A primeira categoria lista todas as tabelas que têm uma relação com a tabela que você está trabalhando no momento. A segunda categoria lista todas as tabelas com as quais sua tabela não tem uma 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. No painel Lista de Campos, em Campos disponíveis em outras tabelas, clique no sinal de mais (+) ao lado de um nome de tabela para exibir a lista de campos nessa tabela.

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

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

    O Assistente de Pesquisa será iniciado.

  4. 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 uma tabela "outra" (não relacionada) e conclua o Assistente de pesquisa, uma nova relação um-para-muitos é criada automaticamente entre a tabela na Lista de campos e a tabela à qual você arrastado o campo. Essa relação, criada pelo Access, não impor integridade referencial por padrão. Para impor integridade referencial, você deve editar a relação. Consulte a seção alterar uma relação de tabela para obter mais informações.

Início da Página

Excluir uma relação de tabela

Para remover uma relação de tabela, você deve excluir a linha da relação na janela relações. Posicione cuidadosamente o cursor para que ela aponta para a linha da relação e clique na linha. A linha da relação aparecerá mais grossa quando ela está selecionada. Com a linha de relação selecionada, pressione DELETE. Observe que quando você remove uma relação, você também remove suporte a integridade referencial para essa relação, se ele estiver habilitado. Como resultado, o Access não está mais automaticamente impedirá a criação de registros órfãos no lado "muitos" de uma relação.

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

A janela relações é exibida. Se você ainda não tiver definido quaisquer relações e esta for a primeira vez que você está abrindo a janela relações, a caixa de diálogo Mostrar tabela é exibida. Se a caixa de diálogo for exibida, clique em Fechar.

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

Todas as tabelas que tiverem relações são exibidas, mostrando as linhas de relação.

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

  2. Pressione a tecla DELETE.

    –ou–

Clique com o botão direito do mouse e, em seguida, clique em Excluir.

  1. 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 alguma das tabelas empregadas na relação de tabelas estiver em uso, talvez por outra pessoa ou processo, ou em um objeto de banco de dados aberto (como um formulário), você não poderá excluir a relação. Você deverá primeiro fechar todos os objetos abertos que usem essas tabelas antes de poder remover a relação.

Início da página

Alterar uma relação de tabelas

Você pode alterar uma relação de tabelas selecionando-a na janela Relações e, em seguida, editando-a. Posicione cuidadosamente o cursor de forma que ele aponte para a linha da relação e, em seguida, clique na linha para selecioná-la. A linha da relação aparecerá mais espessa quando for selecionada. Com a linha da relação selecionada, clique nela duas vezes ou clique em Editar Relações no grupo Ferramentas da guia Design. A caixa de diálogo Editar Relações é exibida.

Faça suas alterações na caixa de diálogo Editar Relações

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

A janela relações é exibida. Se você ainda não tiver definido quaisquer relações e esta for a primeira vez que você está abrindo a janela relações, a caixa de diálogo Mostrar tabela é exibida. Se a caixa de diálogo for exibida, clique em Fechar.

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

  • Todas as tabelas que tiverem relações são exibidas, mostrando as linhas de relação.

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

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

  • 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 tabela, os fatos sobre a relação informam os designs de consulta. Por exemplo, se você define uma relação entre duas tabelas e, em seguida, cria uma consulta que utiliza nessas tabelas, o Access selecionará automaticamente padrão com base nos campos especificados na relação de campos coincidentes. Você pode substituir esses valores padrão inicial em sua consulta, mas os valores fornecidos pelo relação geralmente se mostrará como as corretas. Como correspondência e reunir dados de mais de uma tabela é algo que você realiza frequentemente em todas, exceto os bancos de dados mais simples, definir padrões criando relações pode ser tempo salvando e vantajoso.

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 de junção. O tipo de junção informa ao Access quais registros serão incluídos em um resultado de consulta. Por exemplo, considere novamente uma consulta que associa a tabela clientes e da tabela de pedidos nos campos comuns que representam a ID do cliente. Usando o tipo de junção de padrão (chamado de uma junção interna), a consulta retorna somente as linhas de cliente e as linhas de ordem em que os campos comuns (também chamados de campos associados) são iguais.

Entretanto, suponha que você deseja incluir todos os Clientes — mesmo aqueles que ainda não fizeram nenhum pedido. Para isso, você deve alterar o tipo da junção de interna para o que é chamado de junção externa esquerda. Uma junção externa esquerda retorna todas as linhas da tabela do lado esquerdo da relação e somente as linhas correspondentes da tabela à direita. Uma junçã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.

  2. Clique em sua escolha e, em seguida, 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 de propriedades da junção, o tipo de junção usarem, e se todas as linhas ou linhas correspondentes estão incluídas 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.

A janela relações é exibida. Se você ainda não tiver definido quaisquer relações e esta for a primeira vez que você está abrindo a janela relações, a caixa de diálogo Mostrar tabela é exibida. Se a caixa de diálogo for exibida, clique em Fechar.

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

    Todas as tabelas que têm relações serão exibidas, mostrando linhas de relações.

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

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

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

  1. Clique em tipo de união

  2. Na caixa de diálogo Propriedades da Junção, clique em uma opção e, em seguida, clique em OK.

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

Início da Página

Impor integridade referencial

A finalidade do uso de integridade referencial é evitar registros órfãos e manter referências sincronizadas para que você não tiver todos os registros que fazem referência a outros registros que não existem mais. Impor integridade referencial habilitando-a para uma relação de tabela. Depois de aplicada, o Access rejeita qualquer operação que viole a integridade referencial para essa relação de tabela. Acesso rejeita as atualizações que alterar o destino de uma referência e também exclusões que remover o destino de uma referência. Para ter acesso Propagar exclusões e atualizações referencial para que todas as linhas relacionadas são alteradas de acordo, consulte a seção definir as opções em cascata.

Ativar ou desativar a integridade referencial

  1. Na janela Relações, clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

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

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

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

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

Depois de 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 pode alterar um valor de chave primária na tabela primária se fazendo criaria registros órfãos. Por exemplo, você não pode alterar um número de pedido na tabela Pedidos se há itens de linha atribuídos a ordem na tabela Detalhes do pedido. No entanto, você pode optar por atualizar todos os registros relacionados em uma operação de um registro principal e 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.

    • Ambas as tabelas devem constar o mesmo banco de dados do Access. Integridade referencial não pode ser aplicada em tabelas vinculadas. No entanto, se as tabelas de origem estiverem no formato do Access, você poderá abrir o banco de dados no qual eles estão armazenados e habilite a integridade referencial no banco de dados.

Definir as opções em cascata

Você pode encontrar uma situação em que você tenha uma necessidade válida para alterar o valor no lado "um" de uma relação. Nesse caso, você precisa de acesso para atualizar todas as linhas afetadas automaticamente como parte de uma única operação. Dessa forma, a atualização é concluída completo para que seu banco de dados não seja deixado em um estado inconsistente — com algumas linhas atualizadas e alguns não. Acesso ajuda você a evitar esse problema, oferecendo suporte a opção propagar atualização dos campos relacionados. Quando você impor a integridade referencial e escolha a opção de propagar atualização dos campos relacionados e você e atualizar uma chave primária, o Access atualiza automaticamente todos os campos que fazem referência a chave primária.

Talvez você também precise excluir uma linha e todos os registros relacionados — por exemplo, um registro de transportador e pedidos todos relacionados a esse transportadora. Por esse motivo, o Access oferece suporte a opção Propagar exclusão dos registros relacionados. Quando você impor a integridade referencial e escolha a opção de Propagar exclusão dos registros relacionados, o Access exclui automaticamente todos os registros que fazem referência a 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 janela Relações, clique na linha da relação que você deseja alterar. A linha da relação aparecerá mais grossa quando for selecionada.

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

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

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

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

  3. 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

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×