Experimente!
O poder de uma base de dados relacional está na combinação de dados de diferentes tabelas. Para o fazer, tem de estabelecer relações entre as suas tabelas. Depois, faça o Access combinar dados em consultas, formulários e relatórios.
Para ver todas as relações existentes definidas numa base de dados, abra um modelo do Access, aceda ao separador Ferramentas da Base de Dados e selecione Relações.
Nota: Se abrir uma base de dados vazia ou não tiver definido relações entre tabelas, o Access pede-lhe que adicione uma tabela ou consulta. Antes de poder adicionar uma relação, tem de adicionar duas tabelas ou mais. O melhor é criar todas as suas tabelas primeiro. Para saber mais, consulte os artigos Criar relações com o Assistente de Consultas e Criar relações com o Painel de Relações.
Compreender a vista de Relações
As linhas na vista de Relações indicam ligações entre as tabelas. Na imagem que se segue, a tabela à esquerda é a tabela principal. A da direita é a tabela subordinada. A linha entre as tabelas liga os campos (neste caso, ID da Encomenda e ID do Produto) utilizados para corresponder os dados.
As linhas e os símbolos mostram a relação entre as suas tabelas:
-
Uma linha de ligação espessa significa que está a impor a integridade dos dados referenciais. Isso é bom. Mantém os seus dados sincronizados.
-
Na nossa ilustração, o número 1 indica que pode haver apenas um registo correspondente na tabela. Na tabela Encomendas aqui apresentada, os registos correspondem de um para um.
-
O símbolo ∞ indica que muitos registos podem incluir o mesmo ID. Na tabela Detalhes da Encomenda aqui apresentada, uma encomenda (indicada pelo respetivo ID da encomenda) pode aparecer mais do que uma vez, porque a mesma encomenda pode incluir vários produtos.
Tipos de relações entre tabelas
Existem três tipos de relações entre tabelas:
-
Um-para-um. Quando cada item em cada tabela aparece apenas uma vez. Por exemplo, cada funcionário pode ter apenas um automóvel da empresa. Para mais informações, consulte o artigo Criar relações um-para-um.
-
Um-para-muitos. Quando um item numa tabela pode ter uma relação com vários itens noutra tabela. Por exemplo, cada nota de encomenda pode incluir vários produtos.
-
Muitos-para-muitos. Quando um ou mais itens numa tabela podem ter uma relação com um ou mais itens noutra tabela. Por exemplo, cada encomenda pode ter vários produtos e cada produto pode aparecer em várias encomendas. Para saber mais, consulte o artigo Criar relações muitos-para-muitos.
Relações um-para-muitos
Uma das relações mais comuns entre tabelas de bases de dados bem estruturadas é a relação um-para-muitos.
As relações entre tabelas baseiam-se, normalmente, na chave primária de uma das tabelas. Recorde que a chave primária é um identificador único (geralmente, numérico), para cada registo. Para mostrar que as informações nas duas tabelas estão relacionadas, normalmente, tem de criar uma relação utilizando a chave primária de uma das tabelas.
Na relação aqui apresentada, por exemplo, cada pessoa na tabela Contactos tem um ID, que é a chave primária (indicada através de um símbolo de chave junto à mesma). O ID também é apresentado no campo Proprietário da tabela Recursos. Para enviar um e-mail à pessoa associada ao recurso, obtenha o valor no campo Endereço de E-mail. Para tal, procure o valor no campo Proprietário da tabela Recurso e, em seguida, pesquise o ID na tabela Contactos. O número 1 numa das pontas da linha de ligação e o símbolo ∞ na outra indicam que esta se trata se uma relação de um-para-muitos, pelo que um contacto pode estar associado a muitos recursos.
Editar uma relação
Se estiver a modificar uma relação existente ou se criar a sua base de dados a partir de um modelo, ainda pode editar as relações existentes para satisfazer as suas necessidades.
Nota: Se as tabelas com as quais pretende trabalhar estiverem em utilização, terá de as encerrar primeiro, juntamente com os objetos abertos que as utilizem.
-
Selecione Ferramentas da Base de Dados > Relações.
-
Selecione a linha que liga as duas tabelas relacionadas.
Sugestão: Se não vir a relação pretendida, no separador Estrutura, no grupo Relações, selecione Todas as Relações.
-
No separador Estrutura, selecione Editar Relações.
A Tabela/Consulta é a tabela principal à esquerda (neste exemplo, Clientes).
A Tabela/Consulta Relacionada é a tabela subordinada (neste exemplo, Encomendas).
Mesmo se as tabelas não aparecerem nesta ordem na vista de Relações, a sua colocação na caixa de diálogo indica a direção da linha que as liga e a relação. Tal é importante, por exemplo, se for uma relação um-para-muitos, porque indica que a tabela à esquerda é a de uma (tabela principal) e a tabela à direita é a de muitos (tabela subordinada).
-
Para alterar os campos que ligam as tabelas, selecione um campo diferente abaixo de cada tabela apresentada. Neste exemplo, o campo ID na tabela Clientes liga ao campo ID do Cliente na tabela Encomendas.
-
Altere a forma como o Access sincroniza os seus dados entre tabelas.
Impor Integridade Referencial
Para impedir dados inválidos e para manter as referências sincronizadas nas relações entre tabelas, selecione esta opção.
Por exemplo, imaginemos que tem uma relação um-para-um entre as tabelas Funcionários e Benefícios de Funcionários. Se um funcionário sair da empresa e o remover da sua tabela Funcionários, o registo de funcionário correspondente na tabela Benefícios de Funcionários também será removido.
Por vezes, não faz sentido impor a integridade referencial. Por exemplo, imaginemos que tem uma relação um-para-muitos entre Transitários e Encomendas. Você elimina um transitário, que mapeia para as encomendas na tabela Encomendas. Essas encomendas tornam-se órfãs, ou seja, ainda contêm um ID de Transitário, mas o ID deixa de ser válido porque o registo que referencia deixa de existir.
Propagar Atualização dos Campos Relacionados
Para garantir que os dados nos campos relacionados são atualizados em todas as tabelas relacionadas, selecione esta opção.
Por exemplo, imaginemos que pretende alterar o ID de um transitário. Definir esta opção garante que o ID do Transitário é atualizado, não apenas na tabela Transitário, mas também noutras tabelas ligadas que incluam esse mesmo ID do Transitário, como a tabela Encomendas.
Propagar Eliminação dos Registos Relacionados
A decisão de selecionar esta opção depende de se necessita ou não de conservar registos em algumas tabelas, mesmo que possam ser eliminados de outras tabelas.
Por exemplo, imaginemos que elimina um transitário. Se selecionar esta opção, o Access elimina todos os registos em todas as tabelas que referenciem esse ID do Transitário, incluindo todas as encomendas (na tabela Encomendas) enviadas por esse transitário. Só deve selecionar esta opção se tiver a certeza de que pretende eliminar o seu histórico de encomendas.
-
Para alterar a relação entre as tabelas de uma associação interna para uma associação externa, selecione o botão Tipo de Associação. Para mais informações, consulte o artigo Criar consultas com associações externas.
Eliminar uma relação de tabelas
Nota: Se as tabelas com as quais pretende trabalhar estiverem em utilização, terá de as encerrar primeiro, juntamente com os objetos abertos que as utilizem.
Para remover uma relação de tabela:
-
Selecione Ferramentas da Base de Dados > Relações.
-
Selecione a linha que liga as duas tabelas relacionadas.
Sugestão: Se não vir a relação pretendida, no separador Estrutura, no grupo Relações, selecione Todas as Relações.
-
Selecione a tecla Delete. Se lhe for solicitado que confirme se pretende eliminar a relação, selecione Sim.
Nota: Quando remove uma relação, está também a remover o suporte de integridade referencial para essa relação, caso exista. Por conseguinte, o Access deixará de impedir alterações que resultem em registos órgãos no lado "muitos" de uma relação um-para-muitos.