Introdução
Tabelas
Relacionamentos
 Consultas
Formulários
 Relatórios
 Macros
Módulos
ActiveX
 AutomaçãoOLE
 Gráficos
 DAO
 SQL
 Segurança
Redes/ODBC
 Dicas
 Curso Online
Wizards
Ferramentas
Help
 Downloads
 Links
Novidades
FAQs
Index

ALGUNS CONCEITOS IMPORTANES EM ACCESS


TIPOS DE TABELAS

Definição é algo que muda muito de autor para autor. Aqui vamos falar das definições utilizadas no Ajuda do Access, mas alguns livros usam termos diferentes. O mais importante é entender o que cada definição significa para não incorrer em erro.

- Primária
- Estrangeira
- Externa

Tabela Primária - Aquela que todos os seus Campos dizem respeito apenas a ela própria, como é o caso de Clientes, Funcionários, Alunos, etc. Este tipo de Tabela também está sempre no lado um de um Relacionamento um para vários.

Tabela Estrangeira - A Tabela do lado vários do Relacionamento um para vários e onde nem todos os Campos dizem respeito a ela própria, pois encontramos Campos que são Chaves de outras Tabelas. Exemplos: Pedidos, Vendas, etc, onde na Tabela Vendas temos Campos como Código do Cliente.

Tabela Externa - Uma Tabelas que está noutro Banco de Dados.

CHAVE

Uma Chave de uma Tabela é o Campo que consegue identificar de forma exclusiva um Registro. AChave pode ser comporta por dois ou mais Campos.

TIPOS DE CHAVES

- Chaves Primárias
- Estrangeiras
- Externas

Tipos de Chaves Primárias

- Autonumeração
- De um Campo
- De vários Campos

Chave Primária AutoNumeração - O tipo mais simples e prático, que define automaticamente um número em sequência para o Campo Chave.

Chave Primária de um Campo - É aquele onde o Autonumeração não atende e precisamos de um Campo chave personalizado como o CPF, a RG, números de Matrícula de alunos, professores, funcionários, etc.

Chave Primária de vários Campos - Ocorre geralmente em Tabelas do lado vários de um Relacionamento para vários, no caso de Vendas, Pedidos, Itens, etc.

Chave Estrangeira

É a cheve que que encontra-se em uma Tabela estrangeira e que é Chave primária na Tabela do lado um de um Relacionamento um para vários.

Chave Externa

É a que encontra-se numa Tabela Externa.

ÍNDICE

Os dados em um Banco de Dados são armazenados na ordem em que são introduzidos, que é a ordem física ou real. Um índice consegue exibir os registros numa outra ordem e guarda ponteiros para os registros reais. Os índices aceleram as pesquisas e classificações no Banco de Dados, como o índice de um livro também ajuda a encontrar mais rápido um assunto.

Criamos um índice quando mudamos (setamos) a Indexado de um Campo para Sim.

DICA: Os Campos do tipo Memorando, Hyperlink e Objeto OLE não podem ser indexados.

RELACIONAMENTOS

O conceito de Tabela diz que cada Tabela deve conter informações apenas sobre um único assunto, ou seja, todos os Campos na Tabela Clientes devem dizer respeito apenas a Clientes.

Acontece que em uma Venda é muito importante registrar o Cliente para quem foi, o Vendedor que efetuou, os Produtos, etc.

Então colocamos uma "cópia" da Chave da Tabela Primária na Tabela Estrangeira. Quando isso acontece a Chave acrescentada na Tabela Estrangeira transforma-se em Chave Estrangeira e podemos relacionar as duas Tabelas pelas Chaves.

O Código do Cliente em Clientes tem duplicação não autorizada, pois queremos que ele seja suficiente para identificar com exclusividade cada Cliente, mas em Vendas ele deve ter duplicação autorizada, já que precisamos permitir que um Cliente esteja em mais de uma Venda.

Este tipo de Relacionamento entre Clientes e Vendas é o um para vários, aquele onde um Cliente estará em várias Vendas.
 
 

INTEGRIDADE REFERENCIAL

É o conjunto de regras do Access destinado a garantir a integridade das informações contra a exclusão ou alterações acidentais.

Regras da Integridade Referencial

- O Campo da Tabela Primária é Chave Primária ou possui um índice exclusivo.
- As Tabelas devem estar em um mesmo Banco de Dados
- Não se pode inserir um Registro no lado vários que não exista no lado um. Exemplo: não posso efetuar uma Venda para um Cliente que não esteja cadastrado.
- Não podemos alterar um Campo Chave primária do lado um se existirem registros relacionados no lado vários. Exemplo: não podemos alterar o Códogo de um Cliente que tenha Vendas cadastradas em seu nome.

Obs.: Como ao impor Integridade Referencial o Access proibirá a exclusão ou alteração de alguns registros, nós podemos marcar as duas caixinhas abaixo da Integridade Referencial:

- Propagar Atualização dos Campos Relacionados e
- Propagar Exclusão dos Registros Relacionados

Para que os Access possa fazer automaticamente sem comprometer a Integridade Referencial.

Propagar Atualização dos Campos Relacionados - Atualizar automaticamente os Campos do lado vários quando a Chave primária for alterada do lado um.

Propagar Exclusão dos Registros Relacionados - Excluir automaticamente todos os registros da Tabela do lado vários quando um registro relacionado for excluido no lado um.

Relacionamento Passo-a-passo

Relacionamento um para vários de um único Campo

Vamos trabalhar com duas Tabelas: a Clientes e a Vendas, onde a Chave primária da Clientes é Código do Cliente e existe uma Chave Estrangeira Código do Cliente na Tabela Vendas para que o relacionamento seja feito.

- O primeiro passo deve ter sido dado na construção das Tabelas, quando devemos fazer uma cópia da Chave primária para a Tabela Estrangeira.
- Abra então a janela de Relacionamentos clicando no botão da barra de ferramentas
- Abre-se então uma janela com as Tabelas do BD. Seleciona as Tabelas Clientes e Vendas e dê um duplo clique em cada.
- Agora clique em Código do Cliente na Tabela Clientes e arraste e solte sobre Código do Clientes em Vendas.
- Veja que os dois Campos aparecem na janela. Marque Impor Integridade Referencial e as outras duas CheckBox abaixo e clique em Criar. Caso tudo esteja OK aparece uma linha unindo os dois Campos com um 1 do lado de Clientes e com um alfa do lado de Vendas.

Relacionamento um para vários de vários Campos

Agora iremos trabalhar com as Tabelas Vendas e ItensVendas.
A Vendas tem o Campo Chave primária composta por Código da Venda, Código do Cliente e Código do Funcionário (nesta ordem) e a ItensVendas formada por Código da Venda, Código do Cliente, Código do Funcionário e Código do Produto (também respeitando esta ordem).
Veja que a Chave de ItensVendas tem todos os Campos de Vendas e ainda mais um de Protudos (para relacionar com Produtos). Aqui a regra geral é que o lado um tenha um Campo a menos na Chave que o lado vários.
A ordem dos Campos também é muito importante e deve ser preservada na Tabela Estrangeira.

- Abra a janela de Relacionamentos
- Adiciona as Tabelas Vendas e ItensVendas
- Clique no Código da Venda na Tabela Vendas, prenda a tecla Shift e clique em Código do Funcionário para selecionar os 3. Arraste e solte sobre Código de Vendas em ItensVendas.
- Veja que do lado direito está vazio e teremos que indicar os Campos correspondestes na Tabela ItensVendas, de maneira que fique assim:
 
Vendas
ItensVendas
Código da Venda  Código da Venda
Código do Cliente Código do Cliente
Código do Funcionário Código do Funcionário

- Marque Impor Integridade Referencial e as duas CheckBox Propagar e clique em Criar.
- Prontinho.

Possíveis problemas na construção de Relacionamento:

- Quando o tipo de dados não é idêntico.
- Quando cadastramos dados que violam as regras (então exclua os dados e volte a fazer o relacionamento)
- Quando a Tabela já está relacionada e aparece por exemplo Clientes1 (isso indica que está Tabela já está na janela de Relacionamentos, exclua esta e procure a outra).

Sempre leia atentamente a mensagem de erro para saber o que está havendo.
---------------------------------------
 Cantinho dos Amantes do Access
  www.ribafs.hpg.com.br/access 1