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 : 02
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 001 - Armazenamento de dados: Access e você, tudo a ver

Dentre todos os aplicativos do Microsoft Office, certamente o Excel é o mais popular entre os usuários, mas provavelmente o mais utilizado seja realmente o Word.

Talvez pela extrema popularidade entre os usuários, muitos acabam utilizando o Excel como uma base de dados para os mais diferentes tipos de trabalho. O problema em utilizar o Excel é que sua função principal é a análise de dados e não o armazenamento dos mesmos.

Não por acaso a Microsoft chama o MS Office como uma “suíte” de produtividade. A produtividade não está em um aplicativo apenas, mas na integração dos aplicativos para fazer o seu trabalho melhor. Suponha que você colete dados sobre a umidade relativa do ar a cada minuto. Se você tentar gravar estes dados no Excel não há problema algum, pois você fará 1440 medições no dia e o número máximo de linhas em uma única planilha é de 65.536.

Contudo, você provavelmente estará registrando a umidade para outras cidades também e certamente o fará todos os dias se este for o seu trabalho. Aqui, você começa a enfrentar problemas no Excel, pois ficará mais difícil manter a integridade e relacionamento dos dados.

Você pode argumentar que cada planilha leva o nome da cidade e que, portanto, esta é uma forma de relacionar as medições com cada cidade. Como o Excel, teoricamente, não tem limite de planilhas, você poderia gravar a medição para todas as cidades brasileiras, e até do mundo, utilizando este método.

Contudo o resultado é completamente ineficiente por um simples motivo: o Excel não foi feito para armazenar dados, o Excel foi feito para analisar dado. Se você compreender que no Access o mesmo armazenamento apenas necessita de duas tabelas (uma que contém as cidades e outra que contém as medições) você verá que a sua produtividade aumentará em muito, basta apenas relacionar as duas tabelas. Quando o momento for oportuno e a necessidade de análise de dados surgir, você novamente verá que analisar dados no Access, embora possível, é ineficiente. Com as ferramentas do Office completamente entrelaçadas você verá que a análise se dará de forma mais bela no Excel. E se você necessita apresentar os resultados, entra em cena o PowerPoint e se há necessidade de escrever um relatório é a vez do Word.

Quanto mais você se aprofundar no Office e conhecer cada uma de suas ferramentas, mais produtivo você se tornará. E digo isso por experiência própria.

Que tipo de banco de dados é o Access e o que significa RDBMS?

O Access é um banco de dados relacional. Se você nunca ouviu falar em banco de dados relacional esta é uma ótima oportunidade para compreender o que isso significa.

A sigla RDBMS refere-se ao termo em inglês Relational Database Management System (Sistema de Gerenciamento por Banco de Dados Relacional). E o que isso significa? Colocando o preto no branco, isso quer dizer que os dados contidos no banco de dados possuem algum tipo de relação, isto é, o seu tio está relacionado a você porque ou ele é irmão de sua mãe ou de seu pai. Se não fosse, ele não teria nenhuma relação direta com você.

Um banco de dados relacional funciona assim. A tabela contendo todas as cidades brasileiras e do mundo pode estar relacionada com uma tabela contendo todos os países do mundo. Porém, somente o país Brasil está diretamente relacionado a todas as cidades brasileiras na tabela de cidades do mundo. Desta forma, se você tivesse que consultar o banco de dados por país para criar uma lista de cidades, ao escolher Brasil, somente as cidades relacionadas ao Brasil seriam listadas.

Agora, volte ao exemplo do seu tio. Eu disse que se ele não for irmão de seu pai ou mãe; então, ele não está relacionado a você diretamente. Mas isso não quer dizer que esta pessoa não esteja relacionada a você de alguma outra forma.

Se o mundo animal surgiu de apenas uma célula que gerou toda a vida no planeta Terra; então, todos os animais estão relacionados de uma forma ou de outra. Assim, os animais próximos têm um relacionamento direto, como leões e leoas, ao passo homem e leão não possuem relacionamento direto, mas ambos são seres vivos que possuem características simulares como sangue, cérebro, coração, fígado, etc, gerando assim uma relação indireta.

Em um banco de dados relacional, o que você notará é exatamente isso. Às vezes, você possui várias tabelas onde duas estão diretamente relacionadas, mas na ponta de uma cadeia de relacionamento há uma tabela que não contém um campo comum com uma tabela na outra ponta do relacionamento; porém, ambas as tabelas possuem algum relacionamento, pois no meio do caminho existem outras tabelas relacionadas que eventualmente convergem para estas duas.

Obviamente que este é apenas um exemplo simples. O Access nos permite criar bancos de dados relacionais muito mais complexos do que isso.

O que compõe um banco de dados Access?

O Access é composto por vários objetos. O objeto mais importante é aquele que armazena os dados. Sem ele o seu banco de dados é inútil a menos que você esteja acessando dados de outra fonte e utilizando o ambiente do Access exclusivamente como um front-end.

Os objetos que compõem o Access são:

  • Tabelas
  • Consultas
  • Formulários
  • Relatórios
  • Páginas de acesso de dados
  • Macros
  • Módulos

Figura 1‑1 Janela do banco de dados para o objeto Tabela

Cada um destes objetos tem uma finalidade específica no Access. As tabelas funcionam como os órgãos vitais do banco de dados. Sem as tabelas, não existe uma banco de dados Access, a menos que você esteja acessando dados de uma fonte externa o que, diga-se de passagem, você pode fazer com qualquer outro aplicativo. Isto é, você pode acessar dados do Word, Excel, PowerPoint, Outlook, uma página ASP, etc, desde que você tenha os drivers e saiba como utilizá-los para acessar dados.

Consultas podem ser descritas com sub-tabelas ou tabelas-derivadas. Com isso quero dizer que as consultas são utilizadas para filtrar dado utilizando certos critérios que resultam em uma nova tabela a qual denominamos “consulta”.

Por exemplo, se temos a tabela de países e cidades, podemos criar uma consulta por país onde somente as cidades brasileiras são listadas na consulta.

Formulários permitem ao desenvolvedor criar uma interface gráfica amigável ao usuário. Inserir valores diretamente em uma tabela nem sempre é a melhor opção para o usuário (ou para o desenvolvedor), pois dependendo de como as tabelas estão dispostas o usuário simplesmente não saberá como proceder.

Utilizando a interface gráfica dos formulários (Graphical User Interface ou GUI) tornamos o aplicativo mais amigável para o usuário com pouco conhecimento e provavelmente facilita o treinamento no uso do aplicativo, pois não é necessário entrar em detalhes de como as tabelas estão relacionadas umas com as outras, como elas funcionam, o que cada índice ou chave primária faz, etc.

Relatórios são utilizados para sumarizar ou analisar dado dentro do Access. Dependendo do tipo de trabalho feito, se tudo que você precisa é uma lista com valores e referências cruzadas, em muitos casos não é necessário exportar os dados para o Excel para análise.

Páginas de acesso de dados já dizem tudo no nome. Elas servem para acessar dados contidos no banco de dados.

Macros são comandos predefinidos utilizados para automatizar certas tarefas que se repetem com freqüência. Por exemplo, você pode adicionar uma macro a um botão onde toda vez que o usuário clicar em tal botão um novo registro é adicionado. Este tipo de interatividade faz parte do GUI do Access. O usuário não precisa saber como o botão funciona, ele apenas precisa saber o que ele faz (e como clicar nele). Se a interface for intuitiva, isto é, se você desenhar a interface de forma que ela seja similar às interfaces já conhecidas pelo usuário, ele provavelmente só de olhar já saberá o que o botão faz.

Módulos fazem parte de uma classe especial de objetos contidos no seu projeto Access. Módulos levam códigos escritos em VBA (Visual Basic for Application) que visam melhorar o desempenho e adicionar ferramentas que não estão disponíveis diretamente a partir dos outros objetos. Por exemplo, no VBA você pode escrever funções que afetam a forma como o usuário trabalha, como adicionar senhas extras para dar uma maior segurança ao acesso aos dados de seu projeto.

O que você precisa saber que é o seu projeto será na verdade dois. Um é o projeto do Access e o outro é o projeto do VBA. O projeto do VBA é onde você escreverá o código por trás (code behind) da interface gráfica (GUI). Por exemplo, um formulário pode receber código assim como um módulo. A diferença é que no formulário o código é Private e no Módulo ele será Public (a menos que você defina o contrário). Além disso, no projeto VBA você poderá inserir um objeto que não aparece na lista da janela do banco de dados. Este objeto é chamado de Classe.

Infelizmente, a discussão sobre classes vai além do escopo deste módulo, pois aqui estaremos tratando de modelagem de dados e não de criação de código utilizando VBA. Porém, caso o leitor queira expandir o conhecimento, o segundo pacote de cursos desta série:

Por que usar o Access?

Se você possui o MS Office e a sua versão vem com o Access, o primeiro motivo para usá-lo é que não há necessidade de se gastar mais dinheiro com um novo banco de dados.

Mas talvez o melhor motivo mesmo seja a facilidade de uso. Criar aplicativos no Access é relativamente fácil. O maior problema é organizar a idéia, a estrutura das tabelas e os relacionamentos de forma que o resultado seja o mais robusto e significativo possível.

O Access é o banco de dados para “idiotas” (e isso inclui o seu autor, pois sou grande fã deste aplicativo). Digo “idiota” não no sentido pejorativo da palavra, mas para fazer uma alusão a palavra “dummies” que é comumente utilizada em inglês para se referir ao usuário que não tem a menor idéia de como um software funciona.

Como isso você deve entender que “idiota” significa que o Access é realmente fácil de aprender. Obviamente “fácil” não é uma palavra para descrever todas as funções e ferramentas disponíveis no Access, mas “fácil” no sentido de que você conseguirá resolver problemas relativamente complexos com o mínimo de esforço ao utilizar todos os assistentes disponíveis no Access.

Além dos assistentes, o Access vem com vários modelos que podem ser criados e estudados pelo leitor para desenvolver o conhecimento do ambiente de trabalho e ferramentas do Access.

Portanto, considere “fácil” um sinônimo para “produtividade”.

Se eu espremer o Access, ele confessa? Quando o Access não é a melhor solução

Neste tópico não falarei de experiência, mas sim do que é dito pela própria Microsoft quando o assunto é tamanho, velocidade e confiabilidade.

Se o Access fosse o melhor banco de dados do mundo e o único banco de dados que você usará pelo resto de sua vida, tenha certeza que seria desnecessário para a própria Microsoft criar dois outros produtos com a mesma finalidade. Estes dois outros produtos são o MSDE e o SQL Server.

O MSDE (Microsoft SQL Server Desktop Engine) é um servidor de banco de dados bem similar ao SQL Server. Mas antes de irmos mais fundo nestes dois, vamos retornar ao Access por um instante.

O Microsoft Access foi basicamente desenvolvido para uso por um único usuário. Por exemplo, se você utiliza o Access como um font-end e um usuário toma controle do projeto Access ele pode abrir o arquivo em modo exclusivo o que travaria acesso para outros usuários. Para acesso compartilhado nem a própria Microsoft diz quantos usuários simultâneos são possíveis.

Uma das limitações comumente citada é o tamanho do banco de dados. Um banco Access suporta cerca de 2GB de informações e depois disso implode (geralmente o limiar é cerca de 1GB e, a partir daí, você está nas mãos de sua amiga sorte). De qualquer modo, o argumento dos 2GB (ou 1GB) somente entra na equação se o seu projeto realmente prevê um volume muito grande de dados sendo entrados diariamente (24 horas por dia) no seu banco de dados. Mesmo assim, com 2GB dependendo da velocidade de entrada de dados talvez leve alguns anos antes de você atingir tal massa crítica, assim, a menos que o seu aplicativo seja do porte de uma Amazon, Submarino, etc, é improvável que esta limitação seja um problema quando tudo que você deseja fazer é tabular os dados de uma pesquisa ou manter o controle de estoque de sua pequena livraria.

O problema maior mesmo é se o seu banco de dados precisa ser acessado por vários usuários simultaneamente. Ai você pode encontrar problemas (veja, por exemplo, o seguinte KB* http://support.microsoft.com/default.aspx/kb/222135), pois o driver do Access não é alavancado para isso.

De todos os bancos de dados que desenvolvi em Access, nenhum jamais me deu qualquer problema ou problema a algum cliente. Talvez o único problema real que eu possa exemplificar é quando há a necessidade de se modificar a estrutura do banco de dados quando há usuário utilizando o aplicativo. Se você algum vez utilizou o Access, você saberá que isso não é possível.

Por exemplo, se existe um formulário alimentado por uma tabela aberta, você não poderá acessar a tabela para edição. Outra situação comum acontece com desenvolvedores de páginas ASP. Se você utiliza o Dreamweaver é provável que já tenha recebido uma mensagem avisando que o BD está aberto em modo exclusivo por outro usuário.

De qualquer modo, a maioria das informações aqui não vem de experiência própria, pois certamente nunca experimentei situações extremas com bancos de dados Access. Não obstante, é importante estarmos cientes dos problemas, pois em caso de crise sabemos exatamente como proceder para saná-lo rapidamente.

As referências sobre os problemas encontrados na “escalabilidade” do Access são todas em inglês, mas vale um esforço por parte do leitor para que ele possa ficar por dentro das informações oficiais da Microsoft e dos maiores desenvolvedores de software do mercado mundial.

O MSDE é uma versão menor do servidor SQL e pode ser utilizado como uma plataforma de desenvolvimento para uma eventual escalada para a versão completa do servidor SQL. O problema com o MSDE é provavelmente o mesmo que o SQL para pequenos projetos. Ao utilizar o MSDE ou o SQL você terá uma demanda maior para administração do banco de dados.

Quanto ao servidor SQL apenas posso falar “por tabela”, pois nunca o utilizei, de verdade. De qualquer modo, o próprio site da Microsoft sugere que para projetos grandes como bancos de dados que prometem crescer rapidamente acima dos 2GB, bancos de dados que necessitam de acesso simultâneo por diversos usuários, bancos de dados que necessitam de replicação, etc.

* KB é a abreviação de Knowledge Base (Base de Conhecimento) em inglês e é o termo utilizado pela Microsoft nos artigos publicados nas áreas de suporte e no MSDN.

« 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