Guia para as relações de tabelas

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Uma aos objetivos da estrutura de base de dados boa é remover a redundância de dados (dados duplicados). Para obter esse objetivo, dividir os seus dados em muitas tabelas baseadas em assuntos para que cada facto é representado apenas uma vez. Em seguida, forneça Microsoft Office Access 2007 com o meio pelo qual reunir as informações divididas novamente — pode fazê-lo ao colocar campos comuns nas tabelas que estão relacionadas. Para efetuar este passo corretamente, contudo, tem primeiro compreender as relações entre as tabelas e, em seguida, especifique estas relações na base de dados Office Access 2007.

Neste artigo

Introdução

Tipos de relações de tabela

Porquê criar relações de tabela?

Noções sobre integridade referencial

Ver relações de tabela

Criar uma relação de tabela

Eliminar uma relação de tabelas

Alterar uma relação de tabela

Impor integridade referencial

Introdução

Depois de ter criado uma tabela para cada assunto na base de dados, tem de fornecer Office Access 2007 com meios ao qual pretende reunir essas informações novamente quando for necessário. O que fazer isto, colocando campos comuns nas tabelas que estão relacionadas e ao definir relações entre as tabelas. Em seguida, pode criar consultas, formulários e relatórios que mostram informações de várias tabelas ao mesmo tempo. Por exemplo, o formulário é mostrado aqui inclui informações desenhadas de várias tabelas:

Formulário Encomendas apresentando simultaneamente informações relacionadas de cinco tabelas

1. As informações neste formulário derivam da tabela Clientes...

2. ... da tabela Encomendas...

3. ... da tabela Produtos...

4. ...e da tabela Detalhes da Encomenda.

O nome de cliente na caixa Cobrar A é obtido a partir da tabela Clientes; os valores Cód. Encomenda e Data Encomenda provêm da tabela Encomendas; o Nome do produto provem da tabela Produtos; e os valores Preço Unitário e Quantidade provêm da tabela Detalhes da Encomenda. Estas tabelas estão ligadas entre si de várias formas para trazer informações de cada uma para o formulário.

No exemplo anterior, os campos existentes nas tabelas têm de ser coordenados para que apresentem informações sobre a mesma encomenda. Esta coordenação é conseguida utilizando-se relações de tabelas. Uma relação de tabela funciona fazendo corresponder dados em campos chave (frequentemente um campo com o mesmo nome em ambas as tabelas). Na maior parte dos casos, estes campos correspondentes são a chave primária de uma tabela (a qual fornece um identificador exclusivo para cada registo) e uma chave externa na outra tabela. Por exemplo, os empregados podem ser associados a encomendas pelas quais sejam responsáveis criando-se uma relação de tabela entre os campos IDdeEmpregado nas tabelas Empregados e Encomendas.

O campo IDdeEmpregado utilizado como chave primária na tabela Empregados e como chave externa na tabela Encomendas.

1. IDdeEmpregado aparece em ambas as tabelas: como chave primária...

2. ... e como uma chave externa.

Início da Página

Tipos de relações de tabela

Existem três tipos de relações de tabela.

  • Uma relação um-para-muitos

    Considere a uma base de dados que inclui uma tabela de clientes e uma tabela de encomendas de rastreio da encomenda. Um cliente pode colocar qualquer número de encomendas. Segue-que para qualquer cliente representado na tabela clientes, podem existir muitas encomendas representadas na tabela Encomendas. A relação entre a tabela compradores e a tabela de encomendas for, por conseguinte, uma relação um-para-muitos.

    Para representar uma relação um-para-muitos na estrutura da base de dados, manter a chave primária do lado "um" da relação e adicioná-lo como um campo adicional ou campos da tabela no lado "muitos" da relação. Neste caso, por exemplo, adicionar um novo campo — o campo ID a partir da tabela clientes — para as encomendas de tabela e o nome ID do cliente. Access, em seguida, pode utilizar o número de ID de cliente na tabela Encomendas para localizar o cliente correto para cada encomenda.

  • Uma relação muitos-para-muitos

    Considere a relação entre uma tabela de produtos e uma tabela de encomendas. Uma única ordem pode incluir mais do que um produto. Por outro lado, um único produto pode aparecer em muitas encomendas. Por conseguinte, para cada registo na tabela Encomendas, podem existir vários registos na tabela produtos. Além disso, para cada registo na tabela produtos, podem existir vários registos na tabela Encomendas. Este tipo de relação é denominado uma relação muitos-para-muitos porque, para qualquer produto, podem existir muitas encomendas e, para qualquer ordem, podem existir vários produtos. Tenha em atenção que para detetar relações existentes de muitos-para-muitos entre as tabelas, é importante que considere ambos os lados da relação.

    Para representar uma relação muitos-para-muitos, terá de criar uma terceira tabela, frequentemente apelidada de tabela de união, a qual divide a relação muitos-para-muitos em duas relações um-para-muitos. A chave primária de cada uma das duas tabelas é introduzida na terceira tabela. Como tal, a terceira tabela regista cada ocorrência, ou instância, da relação. Por exemplo, a tabela Encomendas e a tabela Produtos têm uma relação muitos-para-muitos que é definida criando-se duas relações um-para-muitos para a tabela Detalhes da Encomenda. Uma encomenda pode ter muitos produtos e cada produto pode aparecer em muitas encomendas.

  • Uma relação um-para-um

    Uma relação, cada registo na primeira tabela pode ter apenas um registo correspondente na segunda tabela, em cada registo na segunda tabela pode ter apenas um registo correspondente na primeira tabela. Este tipo de relação não está comuns porque, mais frequentemente, as informações relacionadas com desta forma são armazenadas na mesma tabela. Poderá utilizar uma mostram uma relação para dividir uma tabela com vários campos para identificar parte de uma tabela por motivos de segurança ou para armazenar informações só se aplica a um subconjunto da tabela principal. Identificar uma relação, ambas as tabelas têm de partilhar um campo comum.

Início da Página

Porquê criar relações de tabela?

Pode criar relações de tabela explicitamente utilizando a janela relações ou ao arrastar um campo a partir do painel Lista de campos. Office Access 2007 utiliza relações de tabela para como participar tabelas quando precisar de utilizá-los num objeto de base de dados. Existem várias razões por que motivo deve criar relações de tabela antes de criar outros objetos de base de dados, tais como formulários, consultas, macros e relatórios.

  • As relações de tabela informam as estruturas de consulta

    Para trabalhar com registos de mais do que uma tabela, muitas vezes terá de criar uma consulta que associe as tabelas. A consulta funciona por correspondência de valores no campo de chave primária da primeira tabela com um campo de chave externa na segunda tabela. Por exemplo, para devolver linhas que indicam todas as encomendas de cada cliente, construir uma consulta que associa a tabela de clientes com a tabela de encomendas baseada no campo ID de cliente. Na janela Relações, pode especificar manualmente os campos para participar. No entanto, se já tiver uma relação definida entre as tabelas, Office Access 2007 fornece a associação predefinida, com base em existentes a relação de tabela. Além disso, se utilizar um dos assistentes de consulta, o Access utiliza as informações reúne a partir das relações de tabela que já ter definido para apresentar com opções informadas e para preencher as definições de propriedades com valores predefinidos adequado.

  • As relações de tabela informam as estruturas de formulário e relatório

    Ao estruturar um formulário ou relatório, Office Access 2007 utiliza as informações reúne a partir das relações de tabela que já ter definido para apresentar com opções informadas e para preencher as definições de propriedades com valores predefinidos adequado.

  • As relações de tabela são a base sobre a qual é possível impor integridade referencial para ajudar a evitar registos órfãos na base de dados. Um registo órfão é um registo com uma referência para outro registo inexistente (por exemplo, um registo de encomenda que faça referência a um registo de cliente inexistente).

    Quando estrutura uma base de dados, divida as informações em tabelas, cada um dos quais tem uma chave primária. Em seguida, adicione chaves externas a tabelas relacionadas que fazem referência a esses chaves primárias. Estes pares de chaves primária chave externas formam a base para relações de tabelas e consultas de múltiplas tabelas. É importante, por conseguinte, que estas referências chaves externas da chave primária manter-se sincronizada. Integridade referencial ajuda a garantir que referencia mantenha-se sincronizada e que é dependente de relações de tabela.

Início da Página

Noções sobre integridade referencial

Quando estrutura uma base de dados, divida as informações em muitas tabelas baseadas em assuntos para minimizar a redundância de dados. Em seguida, forneça Office Access 2007 com meios pelo qual trazer os dados em conjunto novamente ao colocar campos comuns em tabelas relacionadas. Por exemplo, para representar uma relação um-para-muitos que tomar a chave primária da tabela "um" e adicioná-lo como um campo adicional para a tabela "muitos". Para trazer os dados para novamente em conjunto, o Access assume o valor da tabela "muitos" e procura o valor correspondente na tabela "um". Desta forma os valores da tabela "muitos" referenciam os valores correspondentes da tabela "um".

Suponha que tem uma relação um-para-muitos entre Transitários e Encomendas e pretende eliminar um Transitário. Se o transitário que pretende eliminar tiver encomendas na tabela Encomendas, essas encomendas ficarão "órfãs" quando eliminar o registo de Transitário. As encomendas irão ainda conter um código de transitário, mas o código deixará de ser válido porque o registo ao qual faz referência já não existe.

O objetivo da integridade referencial é impedir órfãos e manter as referências sincronizadas para que esta situação hipotética nunca ocorra.

Impor integridade referencial ao ativá-lo para uma relação de tabela (consulte o artigo Impor integridade referencial para instruções passo a passo). Assim que estiver imposta, o Access rejeita qualquer operação que iria violar a integridade referencial para essa relação de tabela. Isto significa que o Access irá rejeitar ambas as atualizações que altere o destino de uma referência e eliminações remover o destino de uma referência. No entanto, é possível que pode ter uma necessidade perfeitamente válida para alterar a chave primária de um transitário que tenha encomendas na tabela Encomendas. Nestes casos, o que realmente precisa de é de acesso atualizar todas as linhas afectadas automaticamente como parte de uma única operação. Desta forma, Access garante que a atualização foi concluída na íntegra para que a sua base de dados não fica num estado inconsistente, com algumas linhas atualizadas e algumas não. Por esta razão, o Access suporta a opção propagar atualização dos campos relacionados. Quando lhe impor integridade referencial e escolha a opção de eliminação em cascata atualizar campos relacionados e, em seguida, atualize uma chave primária, o Access atualiza automaticamente todos os campos que fazem referência a chave primária.

Também é possível pode ter uma necessidade válida para eliminar uma linha e todos os registos relacionam — por exemplo, um registo transitário e encomendas todas relacionadas para esse transitário. Por esta razão, o Access suporta a opção Propagar eliminação dos registos relacionados. Quando impor integridade referencial e escolha a opção Propagar eliminação dos registos relacionados e, em seguida, elimine um registo no lado da chave primário da relação, o Access elimina automaticamente todos os registos que fazem referência a chave primária.

Início da Página

Ver relações de tabela

Para ver as relações de tabela, clique em relações no separador Ferramentas da base de dados. A janela Relações abre e apresenta as relações existentes. Se ainda tem sido definidas sem relações de tabela e que pretende abrir a janela Relações pela primeira vez, o Access pede-lhe adicionar uma tabela ou consulta para a janela.

Abrir a janela Relações

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

  4. Se a base de dados contiver relações, é apresentada a janela Relações. Se a base de dados não contiver qualquer relações e está a abrir a janela Relações pela primeira vez, é apresentada a caixa de diálogo Mostrar tabela. Clique em Fechar para fechar a caixa de diálogo.

  5. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

    Isto apresenta todas as relações definidas na base de dados. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que a caixa de verificação Mostrar objetos ocultos está selecionada na Navegação Opções caixa de diálogo.

    Para mais informações sobre a opção de mostrar objetos ocultos, consulte o artigo Guia para o painel de navegação.

Janela Relações

1. a chave primária

2. Esta linha representa a relação

3. a chave externa

Uma relação de tabelas é representada por uma linha de relação desenhada entre tabelas na janela Relações. Uma relação que não imponha integridade referencial aparece como uma linha fina entre os campos comuns que suportam a relação. Quando selecionar a relação clicando na respetiva linha, a linha engrossa para indicar que está selecionada. Se impuser integridade referencial para esta relação, a linha fica mais espessa em cada extremidade. Além disso, o número 1 aparece sobre a parte espessa da linha num dos lados da relação, sendo que o símbolo de infinito () aparecer sobre a parte espessa da linha no outro lado.

Quando a janela Relações está ativa, pode selecionar entre os seguintes comandos no Friso, parte da interface de utilizador Microsoft Office Fluent:

No separador Estrutura, no grupo Ferramentas:

  • Editar Relações    Abre a caixa de diálogo Editar Relações. Quando uma linha de relação é selecionada, é possível clicar em Editar Relações para alterar a relação de tabela. Também é possível fazer duplo clique na linha de relação.

  • Limpar Esquema    Remove todas as tabelas e relações apresentadas na janela Relações. Tenha em atenção que este comando apenas oculta as tabelas e relações, não as elimina.

  • Relatório de Relações    Cria um relatório que apresenta as tabelas e relações na base de dados. O relatório apresenta apenas as tabelas e relações que não estejam ocultas na janela Relações.

No separador Estrutura, no grupo Relações:

  • Mostrar Tabela    Abre a caixa de diálogo Mostrar Tabela para que seja possível selecionar tabelas e consultas para visualização na janela Relações.

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

  • Relações Diretas    Apresenta todas as relações e tabelas relacionadas para a tabela selecionada na janela Relações (caso ainda não estejam apresentadas).

  • Todas as Relações    Apresenta todas as relações e tabelas relacionadas na sua base de dados na janela Relações. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que a mostrar tabelas ocultas está selecionada na caixa de diálogo Opções de navegação.

    Para mais informações sobre a opção de Mostrar tabelas ocultas, consulte o artigo Guia para o painel de navegação.

  • Fechar    Fecha a janela Relações. Se tiver efetuado alterações ao esquema da janela Relações, ser-lhe-á perguntado se pretende guardar essas alterações.

Início da Página

Criar uma relação de tabela

É possível criar uma relação de tabela utilizando a janela Relações ou arrastando um campo para uma folha de dados a partir do painel Lista de Campos. Quando cria uma relação entre tabelas, os campos comuns não têm de ter os mesmos nomes, embora frequentemente tenham. Contudo, esses campos têm de ter o mesmo tipo de dados. No entanto, se o campo de chave primária for um campo Numeração Automática, o campo de chave externa poderá ser um campo Número se a propriedade Tamanho do Campo de ambos os campos for igual. Por exemplo, poderá fazer corresponder um campo Numeração Automática e um campo Número se a propriedade Tamanho do Campo de ambos os campos for Número Inteiro Longo. Quando ambos os campos comuns são campos Número, estes têm de ter a mesma definição de propriedade Tamanho do Campo.

Criar uma relação de tabela utilizando a janela Relações

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

  4. Se ainda não tiver definido relações, a caixa de diálogo Mostrar Tabela será apresentada automaticamente. Se tal não acontecer, no separador Estrutura, no grupo Relações, clique em Mostrar Tabela.

    A caixa de diálogo Mostrar Tabela apresenta todas as tabelas e consultas na base de dados. Para ver apenas tabelas, clique em Tabelas. Para ver apenas consultas, clique em Consultas. Para ver tanto tabelas como consultas, clique em Ambos.

  5. Selecione uma ou mais tabelas ou consultas e, em seguida, clique em Adicionar. Quando acabar de adicionar tabelas e consultas à janela Relações, clique em Fechar.

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

    É apresentada a caixa de diálogo Editar Relações.

  7. Verifique se os nomes de campo apresentados são os campos comuns da relação. Se um nome de campo estiver incorreto, clique no nome de campo e selecione um novo campo a partir da lista.

    Para impor integridade referencial para esta relação, selecione a caixa de verificação Impor Integridade Referencial. Para mais informações sobre integridade referencial, consulte a secção sobre noções sobre integridade referencial e a secção sobre como impor integridade referencial.

  8. Clique em Criar.

    A linha de relação é desenhada entre as duas tabelas. Se tiver selecionado a caixa de verificação Impor Integridade Referencial, a linha aparece mais espessa em cada extremidade. Além disso, e mais uma vez apenas se tiver selecionado a caixa de verificação Impor Integridade Referencial, o número 1 aparece sobre a parte espessa da linha num dos lados da relação e o símbolo de infinito () aparece sobre a parte espessa da linha no outro lado.

Arraste um campo de uma tabela para o campo correspondente noutra tabela

Notas: 

  • Para criar uma relação um-para-um    Ambos os campos comuns (normalmente a chave primária e campos de chave externa) tem de ter um índice exclusivo. Isto significa que a propriedade indexado para estes campos deve ser definida como Sim (duplicação não autorizada). Se ambos os campos de tem um índice exclusivo, o Access cria uma mostram uma relação.

  • Para criar uma relação de muitos-para-um    O campo no lado "um" (normalmente a chave primária) da relação tem de ter um índice exclusivo. Isto significa que a propriedade indexado para este campo deve ser definida como Sim (duplicação não autorizada). O campo no lado "muitos" deverá não ter um índice exclusivo. Pode ter um índice remissivo, mas têm de permitir duplicados. Isto significa que a propriedade indexado para este campo deve ser definida para não, ou 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 tabela utilizando o painel Lista de Campos

No Office Access 2007, pode adicionar um campo a uma tabela existente que está aberta na vista de folha de dados ao arrastá-lo a partir do painel Lista de campos. Painel Lista de campos mostra campos disponíveis em tabelas relacionadas e também os campos disponível noutras tabelas. Ao arrastar um campo a partir de uma tabela "outra" (não relacionada) e, em seguida, conclua o Assistente de pesquisas, uma nova relação um-para-muitos é automaticamente criada entre a tabela no painel de Lista de campos e a tabela à qual arrastada para o campo. Desta relação, criada pelo Access, não impor integridade referencial por predefinição. Para impor integridade referencial, tem de editar a relação. Consulte a secção alterar uma relação de tabela para obter mais informações.

Abrir uma tabela na vista de Folha de Dados

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No painel de navegação, com o botão direito da tabela à qual pretende adicionar o campo e crie a relação e clique em Vista de folha de dados no menu de atalho.

Abrir o painel Lista de Campos

  • No separador Folha de Dados, no grupo Campos e Colunas, clique em Adicionar Campos Existentes.

    Imagem do Friso do Access

    É apresentado o painel Lista de Campos.

A Lista de campos do painel mostra todas as outras tabelas na base de dados, agrupados em categorias. Quando trabalha com uma tabela na vista de folha de dados, o Access apresenta campos em qualquer uma das duas categorias no painel Lista de campo: campos disponíveis em tabelas relacionadas e campos disponíveis noutras tabelas. A primeira categoria apresenta todas as tabelas que têm uma relação com a tabela que estiver atualmente a trabalhar com. A segunda categoria apresenta todas as tabelas com o qual a tabela não tem uma relação.

No painel Lista de Campos, ao clicar no sinal de adição (+) junto ao nome de uma tabela, vê uma lista de todos os campos disponíveis nessa tabela. Para adicionar um campo à tabela, arraste o campo pretendido a partir do painel Lista de Campos para a tabela na Vista folha de dados.

Adicionar um campo e criar uma relação a partir do painel Lista de Campos

  1. No separador Folha de Dados, no grupo Campos e Colunas, clique em Adicionar Campos Existentes.

    Imagem do Friso do Access

    É apresentado o painel Lista de Campos.

  2. Em Campos disponíveis noutras tabelas, clique no sinal de adição (+) junto a um nome de tabela para apresentar a lista de campos nessa tabela.

  3. Arraste o campo pretendido a partir do painel Lista de Campos para a tabela aberta na vista de Folha de Dados.

  4. Quando a linha de inserção for apresentada, largue o campo na posição pretendida.

    O Assistente de Pesquisas é iniciado.

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

    O campo é apresentado na tabela na vista de Folha de Dados.

Ao arrastar um campo a partir de uma tabela "outra" (não relacionada) e, em seguida, conclua o Assistente de pesquisas, uma nova relação um-para-muitos é automaticamente criada entre a tabela na Lista de campos e a tabela à qual arrastada para o campo. Desta relação, criada pelo Access, não impor integridade referencial por predefinição. Para impor integridade referencial, tem de editar a relação. Consulte a secção alterar uma relação de tabela para obter mais informações.

Início da Página

Eliminar uma relação de tabelas

Para remover uma relação de tabela, tem de eliminar a linha de relação na janela Relações. Posicione cuidadosamente o cursor para que aponta na linha de relação e, em seguida, clique na linha. A linha de relação aparece mais espessa quando está selecionada. Com a linha de relação selecionada, prima a tecla DELETE. Tenha em atenção que quando remove uma relação, também remover suporte de integridade referencial para essa relação, se estiver ativada. Como resultado, o Access já não automaticamente impedir a criação de registos órfãos no lado "muitos" de uma relação.

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

É apresentada a janela Relações.

Se ainda não tiver definido nenhuma relação e esta for a primeira vez que está a abrir a janela Relações, será apresentada a caixa de diálogo Mostrar Tabela. Se esta caixa de diálogo for apresentada, clique em Fechar.

  1. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

São apresentadas todas as tabelas com relações, mostrando linhas de relação.

  1. Clique na linha da relação que pretende eliminar. A linha de relação aparece mais espessa quando está selecionada.

  2. Prima a tecla DELETE.

    - ou -

    Clique com o botão direito do rato e, em seguida, clique em Eliminar.

  3. É possível que o Access apresente a mensagem Tem a certeza que quer eliminar a relação selecionada definitivamente da base de dados? Se esta mensagem de confirmação aparecer, clique em Sim.

Nota: Se alguma das tabelas da relação de tabela estiver em utilização, talvez por outra pessoa ou processo, ou num objeto de base de dados aberto (tal como um formulário), não será possível eliminar a relação. Terá primeiro de fechar todos os objetos eventualmente abertos, que utilizem estas tabelas, para conseguir remover a relação.

Início da Página

Alterar uma relação de tabela

Para alterar uma relação de tabela é necessário selecioná-la na janela Relações e depois editá-la. Posicione cuidadosamente o cursor para que aponte para a linha de relação e, em seguida, clique na linha para a selecionar. A linha de relação aparece mais espessa quando está selecionada. Com a linha de relação selecionada, faça duplo clique na mesma ou clique em Editar Relações no grupo Ferramentas no separador Estrutura. É apresentada a caixa de diálogo Editar Relações.

Efetue as alterações na caixa de diálogo Editar Relações

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

É apresentada a janela Relações.

Se ainda não tiver definido nenhuma relação e esta for a primeira vez que está a abrir a janela Relações, será apresentada a caixa de diálogo Mostrar Tabela. Se esta caixa de diálogo for apresentada, clique em Fechar.

  1. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

São apresentadas todas as tabelas com relações, mostrando linhas de relação. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que mostrar objetos ocultos está selecionado na caixa de diálogo Opções de navegação.

Para mais informações sobre a opção de mostrar objetos ocultos, consulte o artigo Guia para o painel de navegação.

  1. Clique na linha da relação que pretende alterar. A linha de relação aparece mais espessa quando está selecionada.

  2. Faça duplo clique na linha de relação.

    – ou –

    No separador Estrutura, no grupo Ferramentas, clique em Editar Relações.

    É apresentada a caixa de diálogo Editar Relações.

    Caixa de diálogo Editar Relações

  3. Efetue as alterações pretendidas e, em seguida, clique em OK.

    A caixa de diálogo Editar Relações permite-lhe alterar uma relação de tabela. Especificamente, poderá alterar as tabelas ou consultas em qualquer lado da relação, ou os campos em qualquer lado. Poderá também definir o tipo de união, ou impor a integridade referencial e escolher uma opção em cascata. Para mais informações sobre o tipo de união e respetiva definição, consulte a secção sobre como definir o tipo de união. Para mais informações sobre a imposição de integridade referencial e escolha de uma opção em cascata, consulte a secção sobre como Impor integridade referencial.

Definir o tipo de associação

Quando define uma relação de tabela, factos sobre a relação informam as estruturas de consulta. Por exemplo, se que define uma relação entre duas tabelas e, em seguida, crie uma consulta que utiliza essas tabelas, o Access selecionará automaticamente a predefinição correspondentes baseadas os campos especificados na relação. Pode substituir estes valores predefinidos inicial na sua consulta, mas os valores fornecidos pela relação com frequência serão provar para ser aqueles corretos. Uma vez que correspondência e reúna dados a partir de mais de uma tabela são algo que irá fazer frequentemente em todos os mas as bases de dados mais simples, definir predefinições de criando relações pode ser tempo guardar e úteis.

Uma consulta com múltiplas tabelas combina informações a partir de mais do que uma tabela fazendo corresponder os valores em campos comuns. A operação que efetua a correspondência e combinação denomina-se associação. Por exemplo, suponha que pretende apresentar encomendas de clientes. Deverá criar uma consulta que associe a tabela Clientes e a tabela Encomendas no campo Código do Cliente. O resultado da consulta irá conter informações de cliente e informações de encomenda apenas para as linhas nas quais tenha sido encontrada uma correspondência.

Um dos valores que pode especificar para cada relação é o tipo de associação. O tipo de associação indica ao Access os registos que incluir um resultado de consulta. Por exemplo, considere novamente uma consulta que associa a tabela compradores e a tabela de encomendas nos campos comuns que representam o ID de cliente. Utilizar o tipo de associação predefinido (denominado uma associação interna), a consulta devolve apenas as linhas de cliente e as linhas de ordem em que os campos comuns (também denominados campos associados) são iguais.

Contudo, suponha que pretende incluir todos os Clientes, mesmo que esses clientes ainda não tenham efetuado encomendas. Para tal, terá de alterar o tipo de associação de associação interna para aquilo que é conhecido como associação externa à esquerda. Uma associação externa à esquerda devolve todas as linhas a partir da tabela do lado esquerdo da relação e apenas aquelas que têm correspondência a partir da tabela no lado direito. Uma associação externa à direita devolve todas as linhas à direita e apenas aquelas que têm correspondência à esquerda.

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

Deverá ter em atenção qual o resultado que irá pretender com maior frequência a partir de uma consulta que associe as tabelas nesta relação e definir depois o tipo de associação em conformidade.

Definir o tipo de associação

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

    A caixa de diálogo Propriedades da Associação é apresentada.

  2. Clique na opção pretendida e, em seguida, clique em OK.

A tabela seguinte (utilizando as tabelas clientes e encomendas) mostra as três opções que são apresentadas na caixa de diálogo de propriedades da associação, o tipo de associação que utilizam, e se todas as linhas ou linhas correspondentes são incluídas para cada tabela.

Escolha

Associação relacional

Tabela esquerda

Tabela direita

1. Incluir só as linhas onde os campos associados de ambas as tabelas são iguais.

Associação interna

Linhas correspondentes

Linhas correspondentes

2. Incluir TODOS os registos de 'Clientes' e apenas os registos de 'Encomendas' em que os campos associados são iguais.

Associação externa à esquerda

Todas as linhas

Linhas correspondentes

3. Incluir TODOS os registos de 'Encomendas' e apenas os registos de 'Clientes' em que os campos associados são iguais.

Associação externa à direita

Linhas correspondentes

Todas as linhas

Quando escolhe a opção 2 ou a opção 3, é apresentada uma seta na linha de relação. Esta seta aponta para o lado da relação que apresenta apenas linhas correspondentes.

Efetuar alterações na caixa de diálogo Propriedades da Associação

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

É apresentada a janela Relações.

Se ainda não tiver definido nenhuma relação e esta for a primeira vez que está a abrir a janela Relações, será apresentada a caixa de diálogo Mostrar Tabela. Se esta caixa de diálogo for apresentada, clique em Fechar.

  1. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

São apresentadas todas as tabelas com relações, mostrando linhas de relação. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que mostrar objetos ocultos está selecionado na caixa de diálogo Opções de navegação.

Para mais informações sobre a opção de mostrar objetos ocultos, consulte o artigo Guia para o painel de navegação.

  1. Clique na linha da relação que pretende alterar. A linha de relação aparece mais espessa quando está selecionada.

  2. Faça duplo clique na linha de relação.

    – ou –

    No separador Estrutura, no grupo Ferramentas, clique em Editar Relações.

    É apresentada a caixa de diálogo Editar Relações.

  3. Clique em tipo de associação

  4. Na caixa de diálogo Propriedades da Associação, clique na opção pretendida e, em seguida, clique em OK.

    Caixa de diálogo Propriedades da Associação

  5. Efetue eventuais alterações adicionais à relação e, em seguida, clique em OK.

Início da Página

Impor integridade referencial

É o objetivo da integridade referencial de utilização para evitar que os registos órfãos e manter as referências sincronizadas para que não tenha quaisquer registos que fazem referência a outros registos que já não existem. Impor integridade referencial ao ativá-lo para uma relação de tabela. Assim que estiver imposta, o Access rejeita qualquer operação que iria violar a integridade referencial para essa relação de tabela. O Access rejeita as atualizações que altere o destino de uma referência e também eliminações remover o destino de uma referência. Para ter acesso propagar integridade atualizações e eliminações para que todas as linhas relacionadas são alteradas em conformidade, consulte a secção definir as opções de eliminação em cascata.

Ativar ou desativar a integridade referencial

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

É apresentada a janela Relações.

Se ainda não tiver definido nenhuma relação e esta for a primeira vez que está a abrir a janela Relações, será apresentada a caixa de diálogo Mostrar Tabela. Se esta caixa de diálogo for apresentada, clique em Fechar.

  1. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

São apresentadas todas as tabelas com relações, mostrando linhas de relação. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que mostrar objetos ocultos está selecionado na caixa de diálogo Opções de navegação.

Para mais informações sobre a opção de mostrar objetos ocultos, consulte o artigo Guia para o painel de navegação.

  1. Clique na linha da relação que pretende alterar. A linha de relação aparece mais espessa quando está selecionada.

  2. Faça duplo clique na linha de relação.

    – ou –

    No separador Estrutura, no grupo Ferramentas, clique em Editar Relações.

    É apresentada a caixa de diálogo Editar Relações.

  3. Selecione a caixa de verificação Impor Integridade Referencial.

  4. Efetue eventuais alterações adicionais à relação e, em seguida, clique em OK.

Depois de ter imposto integridade referencial, aplicam-se as seguintes regras:

  • Não é possível introduzir um valor no campo de chave externa de uma tabela relacionada se esse valor não existir no campo de chave primária da tabela primária; tal cria registos órfãos.

  • Não é possível eliminar um registo de uma tabela primária se existirem registos correspondentes numa tabela relacionada. Por exemplo, não é possível eliminar um registo de empregado da tabela Empregados se existirem encomendas atribuídas a esse empregado na tabela Encomendas. Contudo, é possível optar por eliminar um registo primário e todos os registos relacionados numa única operação selecionando a caixa de verificação Propagar Eliminação dos Registos Relacionados.

  • Não pode alterar um valor de chave primária na tabela primária se ao fazê-lo pretender criar registos órfãos. Por exemplo, não pode alterar um número de encomenda da tabela Encomendas, se existirem itens de linha atribuídos a essa ordem na tabela Detalhes da encomenda. No entanto, pode optar por atualizar um registo principal e todos os registos relacionados numa operação ao selecionar a caixa de verificação Propagar atualizar dos campos relacionados.

    Notas: Se tiver dificuldades em ativar a integridade referencial, tenha em atenção que as seguintes condições necessárias para impor integridade referencial:

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

    • Os campos comuns têm de ter o mesmo tipo de dados. A única exceção é que um campo Numeração Automática pode estar relacionado com um campo Número que tenha uma definição de propriedade Tamanho do Campo correspondente a Número Inteiro Longo.

    • Ambas as tabelas tem de existir na mesma base de dados do Access. Integridade referencial não é possível imposta em tabelas ligadas. No entanto, se as tabelas de origem no formato do Access, pode abrir a base de dados na qual são armazenados e ative a integridade referencial nessa base de dados.

Definir as opções de propagação

Poderá encontrar uma situação na qual tem uma necessidade válida para alterar o valor no lado "um" de uma relação. Neste caso, precisa de aceder às atualizar todas as linhas afectadas automaticamente como parte de uma única operação. Dessa forma, a atualização é concluída na íntegra para que a sua base de dados não fica num estado inconsistente — com algumas linhas atualizadas e algumas não. Access ajuda-o para evitar este problema, a opção propagar atualização dos campos relacionados de suporte. Quando lhe impor integridade referencial e escolha a opção de eliminação em cascata atualizar campos relacionados e, em seguida, atualize uma chave primária, o Access atualiza automaticamente todos os campos que fazem referência a chave primária.

Também poderá ter de eliminar uma linha e todos os registos relacionam — por exemplo, um registo transitário e as encomendas todas relacionadas que transitário. Por esta razão, o Access suporta a opção Propagar eliminação dos registos relacionados. Quando impor integridade referencial e escolha a opção Propagar eliminação dos registos relacionados, o Access elimina automaticamente todos os registos que fazem referência a chave primária ao eliminar o registo que contém a chave primária.

Ativar ou desativar a propagação de atualizações e/ou eliminações

  1. Clique no Botão do Microsoft Office Imagem do botão Office e, em seguida, clique em Abrir.

  2. Na caixa de diálogo Abrir, selecione e abra a base de dados.

  3. No separador Ferramentas da Base de Dados, no grupo Mostrar/Ocultar, clique em Relações.

É apresentada a janela Relações.

Se ainda não tiver definido nenhuma relação e esta for a primeira vez que está a abrir a janela Relações, será apresentada a caixa de diálogo Mostrar Tabela. Se esta caixa de diálogo for apresentada, clique em Fechar.

  1. No separador Estrutura, no grupo Relações, clique em Todas as Relações.

São apresentadas todas as tabelas com relações, mostrando linhas de relação. Tenha em atenção que as tabelas ocultas (tabelas para o qual ocultos caixa de verificação na caixa de diálogo Propriedades da tabela é selecionada) e as respetivas relações não serão apresentadas a menos que mostrar objetos ocultos está selecionado na caixa de diálogo Opções de navegação.

Para mais informações sobre a opção de mostrar objetos ocultos, consulte o artigo Guia para o painel de navegação.

  1. Clique na linha da relação que pretende alterar. A linha de relação aparece mais espessa quando está selecionada.

  2. Faça duplo clique na linha de relação.

    – ou –

    No separador Estrutura, no grupo Ferramentas, clique em Editar Relações.

    É apresentada a caixa de diálogo Editar Relações.

  3. Selecione a caixa de verificação Impor Integridade Referencial.

  4. Selecione a caixa de verificação Propagar Atualização dos Campos Relacionados ou a caixa de verificação Propagar Eliminação dos Registos Relacionados, ou ambas.

  5. Efetue eventuais alterações adicionais à relação e, em seguida, clique em OK.

Nota: Se a chave primária for um campo Numeração Automática, o facto de selecionar a caixa de verificação Propagar Atualização dos Campos Relacionados não tem qualquer efeito, pois não é possível alterar o valor de um campo Numeração Automática.

Início da Página

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×