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: PrincipalArtigosSérie "Como Fazer": Modelagem de Dados › Lições : 04
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »
Modelagem de dados com MS Access
Autor: Robert Friedrick Martim
Lição 003 - Reconhecendo o ambiente de inserção de tabelas no seu banco de dados

O ponto de partida de nossa jornada pela modelagem de dados no Access inicia-se pelas tabelas. A tabela é o coração de seu banco de dados, pois sem ela para alimentar o cérebro de seu BD (os drivers JET) não há nada para se fazer mesmo.

Nesta introdução irei cobrir os componentes das tabelas tais como campos, índices, chaves primárias e os tipos de formatação e dados disponíveis.

A nossa primeira parada é a criação de tabelas propriamente ditas.

Como criar suas tabelas

Existem várias formas de criar suas tabelas. Para criar uma tabela, clique sobre o objeto Tabelas e em seguida clique sobre Novo. A janela de opções de tabelas é aberta conforme mostra a figura:

Figura 3‑1 Opções de criação de Tabelas

Aqui, você possui várias opções de como proceder.  Uma das opções de tabelas é o assistente de criação de tabelas. Para iniciar, iremos utilizar o assistente de tabelas. Clique nesta opção e clique em OK. O assiste é aberto fornecendo duas opções de banco de dados uma pessoal e outra de negócios.

O Assistente não somente lhe dará as opções dos modelos de tabelas como também modelos de campos. Ao escolher o modelo de tabelas, campos serão apresentados para aquela tabela. Para adicionar um campo qualquer clique no botão com o sinal de maior (>). Para inserir todos os campos clique sobre o botão com o duplo sinal de maior (>>).

Figura 3‑2 Assistente de tabela

Ao selecionar qualquer uma das tabelas você notará que o primeiro campo é um ID (identity – identidade ou código) do campo. Este campo é utilizado como a chave primária em nossa tabela (discutirei chaves primárias mais adiante).

Ao passar os campos para a janela Campos na nova tabela, você terá a opção de modificar o nome para o que desejar. Caso você esqueça de modificar o nome sugerido ou queira modificá-lo posteriormente, não se preocupe, pois isso pode ser facilmente feito.

A opção Modo folha de dados funciona como uma planilha no Excel. O Access lhe fornece uma tabela em branco com vários campos. Nenhuma tabela será criada a menos que você digite algum tipo de dados em um dos campos disponíveis. Este método é muito inflexível, pois não lhe fornece controle sobre a criação das tabelas como a definição dos tipos de campo, etc. O que ela faz é tentar adivinhar o que você realmente deseja fazer. Por exemplo, ao digitar texto em um campo o tipo de dado será definido como texto para aquele campo. Se o valor digitado for numérico o campo assume um tipo de dado numérico (se você digitar um número inteiro o campo assume um valor Inteiro, se você digitar um decimal ele assume um valor Duplo) e assim por diante.

A opção Modo de Design é a que lhe dará maior controle sobre a criação de tabelas e é esta que utilizaremos daqui por diante.

As outras duas opções (importar e vincular tabelas), na verdade, não são exatamente o que podemos chamar de “criação de tabelas”. Importar tabelas simplesmente trás para o BD atual uma tabela em outro banco de dados ao passo que vincular tabelas cria uma espécie de tabela virtual no seu banco de dados onde a tabela original se encontra em um outro banco de dados. Esta última opção é adequada para front-ends.

Trabalhando com campos em sua tabela

Vamos iniciar criando um banco de dados novo. Clique em Arquivo à Novo e na barra de tarefas clique na opção para criar um BD novo a partir de modelos em seu computador. Escolha o banco de dados em branco e salve-o para o seu HD.

Com o banco de dados criado e salvo, clique sobre o objeto Tabelas e clique em Novo. Selecione a opção Modo de Design para entrarmos em modo de design do banco de dados. No modo de design você terá a seguinte visualização:

Figura 3‑3 Adicionando campos em  modo de design

Observe que a janela acima é, na verdade, um banco de dados também. O campo “Nome do campo” recebe vários valores que definem os rótulos dos campos. O segundo campo refere-se ao tipo de dado e o terceiro é uma descrição do que o campo, o que ele faz, como deve ser usado, etc.

O nome do campo é o nome que você deseja dar a área da tabela onde os dados serão inseridos. Por exemplo, se você deseja inserir nomes de convidados você pode nomear o campo para “nome” ou “PrimeiroNome” ou o que desejar. Ao lado do nome do campo temos Tipo de Dados que pode variar entre Numeração Automática ou Sim/Não. Estarei tratando deste assunto mais adiante.

Logo abaixo vem as propriedades dos campos. As propriedades dizem respeito a várias coisas como formatação, tipo de número a ser formatado, de onde vem os dados, se o campo é indexado ou não, etc.

Compreendendo e definindo o tipo de dado a ser utilizado no campo.

Antes de criar qualquer campo no Access é importante que você compreenda o que cada um destes campos significa, pois facilitará muito o seu desenvolvimento quando você escolhe o tipo certo para o que você está fazendo.

Um aspecto importante do tipo de dado é que um campo qualquer somente pode armazenar um tipo de dado por vez. Isso gera confusão com usuários quando eles vêem números misturados com texto. Um campo de texto pode conter qualquer caractere válido e como números são caracteres válidos eles serão aceitos em campos de texto. Contudo, letras não serão válidas em um campo numérico, pois letras não são válidas no contexto numérico.

Na tabela a seguir, há uma descrição dos dados possíveis para os seus campos:

Tipo

Tipo de dado

Tamanho do campo

Texto

Este é o tipo padrão para qualquer campo criado no Access. Se você não definir explicitamente o tipo de dado, o Access assumirá que o campo contém um valor do tipo texto.

Este campo aceitará tanto texto quanto valores numéricos que não são utilizados em cálculos no seu banco de dados, assim como logogramas.

Este campo aceita no máximo 255 caracteres. Para definir um campo maior é necessário utilizar o campo Memorando.

Memorando

Textos longos e combinação de texto, números, logogramas, etc.

Até 65.535 caracteres. Se você acha que 65.535 caracteres é pouco, apenas para colocar em contexto, do início deste ebook até este ponto há cerca de 28.000 caracteres, ou seja, 43% do total possível.

Número

Valores numéricos que serão utilizados em cálculos ou não.

1, 2, 4 ou 8 bytes .

Data/Hora

Armazena valores que representam datas entre o ano 100 e o ano 9999

8 bytes

Moeda

Armazena valores de moeda e valores numéricos utilizados em cálculos no banco de dados. A precisão do cálculo é de 15 dígitos à esquerda do decimal e 4 dígitos à direita do decimal.

8 bytes

AutoNumeracao

Um valor numérico único armazenado no banco de dados. O valor pode ser seqüencial ou aleatório, mas sempre será único.

4 bytes

Sim/Não

Aceita apenas dois valores Sim ou Não. Os valores podem vir em diferentes formas como valores booleanos (True/False) ou um valor numérico convertido para valor booleano (1/0).

1 bit

OLEObjetc

Um objeto OLE como um documento Word, por exemplo, gráficos, som, ou qualquer tipo de dado binário.

Cerca de 1GB se houver espaço disponível em disco.

Hiperlink

Um texto hiperlink.

Cerca de 2048 caracteres.

Assistente

Auxilia o usuário a criar uma consulta a uma tabela para alimentar o campo com valores. O tipo de dado será igual ao tipo do campo da chave primária da fonte de dados.

4 bytes.

Escolhendo o tipo de dado quando o tipo de informação compete uma com a outra

Escolhe o tipo de dado para o seu campo nem sempre é uma tarefa fácil. Assim, você precisará analisar o tipo de dado que você espera no campo e como este tipo de dado se comportará no futuro. Abaixo apresento algumas considerações na hora de decidir o tipo de dado para os campos:

  • Ao ordenar campos, você deve estar ciente que valores numéricos guardados em campos cujo tipo é texto não serão ordenados numericamente, mas sim como texto. Assim, os valores 1, 20, 2 e 3 serão ordenados como 1, 2, 20 e 3 ao invés de 1, 2, 3 e 20;
  • Devido ao diferentes tipos e representações de datas (01/12/05 no Brasil indica 1 dezembro de 2005 ao passo que nos EUA indica 12 Janeiro 2005), datas gravadas como texto podem gerar problemas em tabelas dependentes de datas;
  • Objetos OLE não podem ser ordenados;
  • Valores numéricos gravados como texto não podem ser utilizados em cálculos (embora seja possível converter texto representando um valor numérico para número ou vice-versa);
  • O tipo de dado sempre terá o mesmo formato? Isto é, um campo somente receberá números e nada mais? Se sim, use um campo numérico ao invés de texto;
  • O valor numérico requer precisão? Se sim, utilize o tipo moeda ao invés do tipo número. Se utilizar número, mude o tipo para duplo ao invés de inteiro;
  • Você precisa mostrar dados de um objeto externo como um gráfico? Se sim, utilize o campo ObjetoOLE

Em algumas situações você terá uma idéia clara de como proceder ao passo que em outras a decisão não será tão clara. Por exemplo, os tipos Texto e Memorando recebem o mesmo tipo de dados. Contudo o tipo Texto está limitado a 255 caracteres ao passo que o Memorando pode receber mais de 65.000 caracteres.

O tipo texto deve ser utilizado quando o dado sendo inserido é uma combinação curta de texto, números e caracteres especiais. Por outro lado, se o campo está reservado para a inserção de comentários, por exemplo, você quererá um tipo Memorando.

Mas supondo que você queira ir muito além do limite possível de um memorando, você pode ainda definir o seu campo como um objeto OLE. Neste caso, você precisa ter em mente as conseqüências de ter um objeto OLE. Embora viável, você notará um rápido crescimento no seu banco de dados o que pode tornar o seu projeto inviável embora interessante.

Um outro grupo que pode gerar confusão é o tipo Número e Moeda. Embora bastante similares, estes dois tipos funcionam de uma forma bastante diferente. A primeira grande diferença diz respeito a acurácia dos dados. O tipo Moeda possui uma precisão maior do que o tipo Número e se você utiliza campos calculados que requerem uma precisão maior você deve optar pelo tipo Moeda.

Uma vez que você tenha optado pelo tipo Moeda o Access automaticamente formata o valor para o tipo de moeda do seu sistema. Se o seu sistema está configurado para o português do Brasil o valor será mostrado com o R$ em sua tabela. Por outro lado, se ele estiver para polonês, por exemplo, o valor será mostra com o símbolo após o número digitado na tabela.

Isto pode causar bastante confusão e você tem que se assegurar que os valores são formatados para a moeda local (país onde o seu projeto será usado) e não para o formato local da máquina, pois muitas vezes usuários utilizam a configuração do sistema de diferentes formas.

Para terminar, você pode definir um campo de numeração automática como sendo via incremento ou aleatório. Antes de entrar nestes dois tipos diferentes, você precisa estar ciente que uma vez que valores sejam inseridos em um campo de numeração automática você não pode mais mudar o valor contido no campo. Se você cancelar o processo de inserção de um novo registro o número gerado para o campo será descartado.

Este tipo de dado é normalmente utilizado como chave primária em tabelas. Digo normalmente, pois há várias situações onde você pode querer um outro tipo de chave como utilizar o número de CPF no campo de chave primária. Como cada CPF é único para cada brasileiro adulto, o campo não possuirá números repetidos e não haverá conflito entre registros.

Finalmente, ao criar um campo de numeração automática você poderá a qualquer momento modificá-lo para um outro tipo. Porém, ao modificá-lo para Texto e salvar a tabela, você não poderá retornar ao campo para transformá-lo em um tipo numeração automática novamente.

Definindo a chave primária e índices

A chave primária é o que mantém os seus dados em bom estado de saúde e possibilita o Access exercer com destreza a sua função de banco de dados relacional. Sem ela, o processo de busca de dados é drasticamente ineficiente e na maioria dos casos passiva de erros extremos.

Para que todo o poder de manutenção dos dados possa ser utilizado, o Access precisa que cada tabela contenha ao menos uma chave primária, pois será ela que identificará cada registro em seu banco de dados. Como a chave primária é geralmente um valor numérico seqüencial a indexação dos registros se torna extramente fácil e a busca e retorno dos dados um passeio no parque.

No Access você pode definir a chave primária de três formas: 1) auto numeração, 2) chave primária de campo único e 3) múltipla chave primária.

Para uma chave primária de auto numeração o campo automaticamente cria um valor único seqüencial toda vez que um novo registro é adicionado ao banco de dados. Ao criar uma tabela nova, caso você não defina uma chave primária o Access lhe perguntará se não deseja criar tal campo. Caso um campo de auto numeração não exista na tabela o Access criará um. Se você tiver definido um campo de auto numeração mas não o tiver definido como a chave primária, ao clicar Sim o Access determinará este campo como sendo a chave primária.

No segundo caso, é o exemplo do CPF. Como sabemos que os números de CPF são únicos; então, podemos defini-lo como sendo a nossa chave primária. Embora saibamos que os números não são repetidos é importante definir a formatação da indexação para evitar que um erro de digitação duplique um CPF no campo.

Finalmente, o último caso é um bem especial. Este caso refere-se ao tipo de relacionamento muitos-para-muitos. O exemplo clássico é o controle de pedidos. Se você tem uma tabela contendo os produtos e outra tabela contendo o controle dos pedidos, o que você notará é os produtos não podem ser repetidos em sua tabela e nem os pedidos podem ser repetidos em sua tabela.

Aqui, entra em cena uma terceira tabela para reconciliar as duas onde tantos os pedidos quanto os produtos podem ser repetidos.

Para definir uma chave primária você tem várias opções. Você pode clicar com o botão direito do mouse sobre o campo e selecionar a opção Chave Primária ou você pode clicar no botão de chave primária na barra Design de Tabela conforme mostra a figura:

Figura 3‑4 Determinando a chave primária

Últimas palavras sobre campos em tabelas

Campos são extremamente importantes para a integridade dos seus dados. Sem campos, a tabela não existe e, portanto, é importante que o leitor dedique algum tempo para estudo o campo que será criado e qual será sua função dentro do banco de dados.

Muitas vezes é conveniente criar todos os campos como texto apenas para descobrir mais tarde que o tipo de dado não pode ser utilizado em outros contextos.

Como o leitor deve ter notado, o design de tabela é, na verdade, uma tabela. Pode parecer óbvio, mas muitos falham em notar este detalhe e utilizar isso em benefício próprio. O que costumo fazer é criar uma pasta de trabalho no Excel onde possuo os três cabeçalhos acima. A guia da planilha é o nome da tabela e ali eu crio os meus campos com os tipos de dados e descrição. Posteriormente, utilizando um script em VBA eu crio o banco de dados, respectivas tabelas, campos e relacionamentos. O script me levou um tempo para criar, mas depois de criar o vendo utilizando há anos. Então, valeu a pena o esforço inicial.

Desde modo, o leitor deve dedicar um tempo inicial exatamente para planejar esta parte para evitar a criação e destruição constante de tabelas. Até porque, quando a modificação é posterior em BDs com dados, o resultado é sempre desastroso ou complicado. Prefira gastar tempo no planejamento a gastar tempo no conserto de erros posteriores.

Oito bytes pode armazenar um número negativo entre ‑1,79769313486231E308 e -4,94065645841247E-324 ou um valor positivo entre 4,94065645841247E-324 e 1,79769313486232E308

Quatro bytes pode gerar cerca de 2,15 bilhões de números sequenciais. Em teoria, assumindo que nenhum registro foi removido do BD, voce poderia armazenar cerca de 2,15 bilhões de registros em uma tabela.

Existe um terceiro tipo chamado de Globally Unique Identifiers - GUI (Identificadores Globalmente Únicos), mas este não será discutido aqui.

« Anterior Δ Página principal ¤ Índice Próxima »

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