NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosAccess Básico › Capítulo 01 : 04
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
ACCESS BÁSICO - CURSO COMPLETO GRATUITO
Autor: Júlio Battisti
Lição 004 - Módulo 01 - Relacionamentos entre tabelas

Objetivo: Nesta lição vamos apresentar o conceito de relacionamento entre tabelas, este um conceito fundamental para o Modelo Relacional de Dados. Também veremos os diferentes tipos de relacionamentos existentes. Serão apresentados exemplos práticos.

Conforme podemos ver no banco de dados Pedidos.mdb, com o qual trabalhamos na lição anterior, existem diversas tabelas: Clientes, Produtos, Pedidos, Detalhes do Pedido, etc. Embora as informações estejam separadas em cada uma das Tabelas, na prática devem existir relacionamentos entre as tabelas. Por exemplo: Um Pedido é feito por um Cliente e neste Pedido podem existir diversos itens, os quais são armazenados na tabela Detalhes do Pedido. Além disso cada Pedido possui um número único, mas um mesmo Cliente pode fazer diversos pedidos e assim por diante.

Em um banco de dados, precisamos de alguma maneira para representar estes relacionamentos da vida Real, em termos das tabelas e de seus atributos. Isto é possível com a utilização de "Relacionamentos entre tabelas", os quais podem ser de três tipos:

  • Um para Um
  • Um para Vários
  • Vários para Vários

Relacionamento do Tipo Um para Um:

Esta relação existe quando os campos que se relacionam são ambos Chaves Primárias em suas respectivas tabelas. Cada um dos campos não apresenta valores repetidos. Na prática existem poucas situações onde utilizaremos um relacionamento deste tipo.

Um exemplo poderia ser o seguinte: Imagine uma escola com um Cadastro de Alunos na tabela Alunos, destes apenas uma pequena parte participa da Banda da Escola. Por questões de projeto do Banco de Dados, podemos criar uma Segunda Tabela "Alunos da Banda",  a qual se relaciona com a tabela Alunos através de um relacionamento do tipo Um para Um. Cada aluno somente é cadastrada uma vez na Tabela Alunos e uma única vez na tabela Alunos da Banda. Poderíamos utilizar o Campo Matrícula do Aluno como o Campo que relaciona as duas Tabelas. 

Na tabela Alunos da Banda poderíamos colocar apenas o Número da Matrícula do aluno, além das informações a respeito do Instrumento que ele toca, tempo de banda, etc. Quando fosse necessário buscar as informações tais como nome, endereço, etc, estas podem ser recuperadas através do relacionamento existente entre as duas tabelas, evitando, com isso, que a mesma informação (Nome, Endereço, etc) tenha que ser duplicada nas duas tabelas, inclusive aumentando a probabilidade de erros de digitação. 

Na Próxima Figura vemos o exemplo de um Relacionamento do tipo Um para Um entre as tabelas Alunos e Alunos da Banda.

Curso Ebook Access Básico - Júlio Battisti - Módulo 01 
Relacionamento Um para Um entre as Tabelas Alunos e Alunos da Banda. 

Com a criação deste relacionamento estamos evitando a repetição desnecessária de informações em diferentes tabelas.  

Relacionamento do Tipo Um para Vários: 

Este é, com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma das tabelas (o lado um do relacionamento) possui um campo que é a Chave Primária e a outra tabela (o lado vários) se relaciona através de um campo cujos valores relacionados podem se repetir várias vezes. 

Considere o exemplo entre a tabela Clientes e Pedidos. Cada Cliente somente é cadastrado uma única vez na tabela de Clientes (por isso o campo Código do Cliente é uma chave primária, indicando que não podem existir dois clientes com o mesmo código), portanto a tabela Clientes será o lado um do relacionamento. Ao mesmo tempo cada cliente pode fazer diversos pedidos, por isso que o Código de um Cliente poderá aparecer várias vezes na tabela Pedidos, tantas vezes quantos forem os pedidos que o Cliente tiver feito. Por isso que temos um relacionamento do tipo Um para Vários entre a tabela Clientes e Pedidos, através do campo Código do Cliente, indicando que um mesmo Cliente pode realizar diversos (vários) pedidos. 

Na próxima figura vemos um exemplo de um Relacionamento Um para Váriosentre as Tabelas Clientes e Pedidos do banco de dados Pedidos.mdb, através do campo código do cliente: 

Curso Ebook Access Básico - Júlio Battisti - Módulo 01
Relacionamento Um para Vários entre as Tabelas Clientes e Pedidos.

Observe que o lado Vários do relacionamento é representado pelo símbolo do infinito (¥).

No lado Um do relacionamento o campo é definido como uma Chave Primária (Campo CódigoDoCliente na tabela Clientes) e no lado Vários não (campo CódigoDoCliente na tabela Pedidos), indicando que no lado vários o Código do Cliente pode se repetir várias vezes, o que faz sentido, uma vez que um mesmo cliente pode fazer diversos pedidos. 

No Banco de Dados NorthWind.mdb, que está na pasta CursoAccBasico (lembre que você já deve ter feito Download destes arquivos, conforme orientações da Lição 1), temos diversos outros exemplos de relacionamentos do tipo Um para Vários, conforme descrito na Próxima Tabela: 

Tipo de Relacionamento

Lado Um

Lado Vários

Um para Vários

CódigoDoFornecedor na tabela Fornecedores

CódigoDoFornecedor na tabela Produtos

Um para Vários

CódigoDaCategoria na tabela Categorias

CódigoDaCategoria na tabela Produtos

Um para Vários

CódigoDoProduto na tabela Produtos

CódigoDoProduto na tabela Detalhes do Pedido

Um para Vários

CódigoDoFuncionário na tabela Funcionários

CódigoDoFuncionário na tabela Pedidos

Um para Vários

NúmeroDoPedido na tabela Pedidos

NúmeroDoPedido na tabela Detalhes do Pedido

Um para Vários

CódigoDaTransportadora na tabela Transportadoras

Via na tabela Pedidos

Um para Vários

CódigoDoCliente na tabela Clientes

CódigoDoCliente na tabela Pedidos

Mais adiante veremos como implementar, na prática, estes relacionamentos. Algumas observações importantes sobre relacionamentos: 

O Nome dos Campos envolvidos no Relacionamento, não precisa ser, necessariamente, o mesmo, conforme indicado pelo relacionamento entre os campos CódigoDaTransportadora e Via, na tabela anterior. O tipo dos campos é que precisa ser o mesmo, por exemplo, se um dos campos for do tipo Texto, o outro também deverá ser do tipo Texto.

Sempre o Lado um do Relacionamento deve ser uma chave primária, já o lado vários não pode ser uma chave Primária

De Preferência, antes de Criar os Relacionamentos verifique se o tipo dos campos a serem relacionados é o mesmo, além de características como máscaras de entrada e formato.

Relacionamento do tipo Vários para Vários:

Seria uma situação onde em ambos os lados do relacionamento os valores poderiam se repetir. Vamos considerar o caso entre Produtos e Pedidos. Posso ter Vários Pedidos nos quais aparece um determinado produto, além disso vários Produtos podem aparecer no mesmo Pedido. Esta é uma situação em que temos um Relacionamento do Tipo Vários para Vários.

Na prática não temos como implementar um relacionamento deste tipo, devido a uma série de problemas que seriam introduzidos no modelo de dados. Por exemplo, na tabela Pedidos teríamos que repetir o Número do Pedido, Nome do Cliente, Nome do Funcionário, Data do Pedido, etc para cada item do Pedido. 

Para evitar este tipo de problema é bastante comum "quebrarmos" um relacionamento do tipo Vários para Vários em dois relacionamento do tipo Um para Vários. Isso é feito através da criação de uma nova tabela, a qual fica com o lado Vários dos relacionamentos. No nosso exemplo foi criada a tabela Detalhes do Pedido, onde ficam armazenadas as informações sobre os diversos itens de cada pedido, aí ao invés de termos um relacionamento do tipo Vários para Vários, teremos dois relacionamentos do tipo um para vários, conforme descrito pela próxima tabela: 

Tipo de Relacionamento

Lado Um

Lado Vários

Um para Vários

CódigoDoProduto na tabela Produtos

CódigoDoProduto na tabela Detalhes do Pedido

Um para Vários

NúmeroDoPedido na tabela Pedidos

NúmeroDoPedido na tabela Detalhes do Pedido

Na figura abaixo temos a representação dos dois relacionamentos Um para Vários:

Curso Ebook Access Básico - Júlio Battisti - Módulo 01
 Tabela Detalhes do Pedido ficou com o lado Vários dos Relacionamentos. 

Esta situação em que um relacionamento um para Vários é "quebrado" em dois Relacionamentos do tipo Um para Vários é bastante comum. Diversas vezes utilizamos esta técnica para eliminar uma série de problemas no Banco de Dados, tais como informação repetida e inconsistência de Dados.

Agora que já conhecemos os Tipos de Relacionamentos existentes, próxima lição veremos como Implementar relacionamentos no Microsoft Access e a utilização da Integridade Referencial como uma maneira de Garantir a Consistência dos Dados.


LIÇÕES DESTE MÓDULO:
001. Preparando-se para iniciar o curso
002. Entidades e Atributos (Tabelas e Campos)
003. Chave Primária - Conceito e Exemplos
004. Relacionamentos entre Tabelas
005. Integridade Referencial
006. Normalização de Tabelas
007. Projetando um Banco de Dados
008. A Arquitetura do Microsoft Access


« Anterior Δ Página principal ¤ Capítulos Próximo »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI