Experimente!
O que é uma relação muitos para muitos?
As relações muitos para muitos são as relações de tabela mais comumente usadas. Elas oferecem informações essenciais, por exemplo, quais clientes os vendedores contataram e quais produtos estão nos pedidos dos clientes.
Uma relação muitos para muitos existe quando um ou mais itens em uma tabela podem ter uma relação com um ou mais itens em outra tabela. Por exemplo:
-
Sua tabela Pedido contém os pedidos feitos por vários clientes (que estão listados na tabela Clientes) e um cliente pode fazer mais de um pedido.
-
Sua tabela Produtos contém os produtos individuais que você vende, que fazem parte de muitos pedidos na tabela Pedido.
-
Um pedido pode incluir uma instância (ou mais de uma instância) de um produto específico e/ou uma instância (ou mais de uma instância) de vários produtos.
Por exemplo, o número de pedido 1012 da cliente Lara Cardoso pode conter um dos produtos 12 e 15 e cinco do produto 30.
Criar relações muitos para muitos
Você cria relações muitos para muitos de uma maneira diferente de relações um para um ou um para muitos. Para essas relações, basta conectar os campos apropriados com uma linha. Para criar relações muitos para muitos, você precisa criar uma nova tabela para vincular os outros dois. Esta nova tabela é chamada de intermediária (ou, às vezes, uma tabela de vinculação ou junção).
No cenário descrito acima, você cria uma tabela Detalhes do pedido com os registros que contêm, para cada item em um determinado Pedido, a ID da tabela Pedido e a ID da tabela Produtos. Crie uma chave primária para essa tabela usando as teclas combinadas das duas tabelas.
No nosso caso, o número do pedido 1012 de Lara Cardoso consiste nos produtos 12, 15 e 30. Isso significa que nossas entradas Detalhes do pedido ficam dessa maneira:
ID do Pedido |
ID do Produto |
---|---|
1012 |
12 |
1012 |
15 |
1012 |
30 |
Lara pediu um dos produtos 12 e 15 e cinco produtos 30. Não é possível adicionar outra linha com 1012 e 30 porque a ID do Pedido e a ID do produto combinados compõem a nossa chave primária e chaves primárias devem ser exclusivas. Em vez disso, adicionamos um campo Quantidade à tabela Detalhes do pedido.
ID do Pedido |
ID do Produto |
Quantidade |
---|---|---|
1012 |
12 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Criar uma tabela intermediária
-
Selecione Criar > Tabela.
-
Selecione Salvar .
-
Em Nome da Tabela, insira um título descritivo. Para indicar sua finalidade, você deverá incluir junção ou intermediária no nome da tabela.
Criar campos na tabela intermediária
Como a primeira coluna de tabela, Access adiciona automaticamente um campo ID. Altere esse campo para corresponder à ID da primeira tabela na relação muitos para muitos. Por exemplo, se a primeira tabela for uma tabela Pedidos chamada ID do Pedido e sua chave primária for um número, altere o nome do campo ID na nova tabela para ID do Pedido e para o tipo de dados, use Número.
-
No modo de exibição Folha de Dados, selecione o título da coluna ID e digite o novo nome para o campo.
-
Selecione o campo que você acabou de renomear.
-
Na guia Campos de Tabela , em Tipo de dados, selecione um tipo de dados para corresponder ao campo na tabela original, como Número ou Texto Curto.
-
Selecione Clique para Adicionar e selecione um tipo de dados que corresponde à chave primária na segunda tabela. No título da coluna, que já está selecionado, digite o nome do campo de chave primária da segunda tabela, por exemplo, ID do produto.
-
Se você precisar rastrear alguma outra informação sobre esses registros, por exemplo, a quantidade de itens, crie campos adicionais.
Combinar os campos de ID principais
Agora que você tem campos com IDs das duas tabelas que você quer conectar, crie uma chave primária, com base nessas IDs, na tabela intermediária.
-
No modo de exibição Design, abra a tabela intermediária.
-
Selecione ambas as linhas com as IDs. (Se você tiver seguido o procedimento anterior, são as duas primeiras linhas).
-
Selecione Design de Tabela > Chave Primária.
Ícones de chave aparecem ao lado de ambos os campos de ID.
Conectar as três tabelas para criar a relação muitos para muitos
Para concluir a relação muitos para muitos, crie uma relação um para muitos entre o campo de chave primária de cada tabela e o campo correspondente na tabela intermediária. Para obter detalhes sobre como fazer isso, veja Introdução às relações de tabelas.
Quando terminar, as relações devem ser desta maneira: