telecomHall BR

 

Hunter Network

terça-feira, 23 de março de 2010 20:00:00 Categories: Access Hunter
Rate this Content 5 Votes

Pronto para começar? Então vamos lá. Esse é o primeiro contato com o desenvolvimento prático. Iremos iniciar o nosso sistema do zero, desde os dados da rede até as ferramentas criadas para serem usadas no mesmo. Com certeza será uma longa jornada, pois indiscutivelmente há muito que explorar. Mas também acreditamos que será cada vez mais produtiva e enriquecedora para todos. Então não vamos mais perder tempo, e começar!

 

 

 

Dados da rede

Para que possamos iniciar nosso trabalho, a primeira coisa que precisamos são os dos dados da nossa rede. Necessitamos pelo menos das informações básicas como as coordenadas geográficas das estações, dados físicos das antenas como alturas, azimutes e tilts, etc. Isso geralmente é disponibilizado na forma de uma planilha do Excel, com uma série dados físicos e lógicos – parâmetros da rede.

E como estamos começando definindo tudo, vamos aproveitar e padronizar algumas nomenclaturas que vão nos acompanhar daqui pra frente. Então criamos uma tabela com os dados básicos iniciais, cujos campos são mostrados abaixo com uma breve descrição.

  • PLMN: Public Land Mobile Network. Qualquer rede de uma operadora celular.
  • MSC: Mobile Switching Centre. O Centro de comutação da rede de telefonia móvel, com interface para BSC’s, demais MSC’s, e entre outros elementos que veremos futuramente.
  • BSC: Base Station Controller. É o elemento da rede que controla um número de BTS.
  • SITE: nome do local físico onde são instalados os equipamentos.
  • BTS: Base Transceiver Station. É o elemento da rede que se comunica com a estação móvel.
  • CELL: A área coberta por uma BTS. Pode ser omni (360 graus) ou setorizada, atendendo regiões distintas. É a parte que contém os transmissores/receptores, as antenas e os equipamentos associados.
  • CELLNAME: O nome da célula.
  • LAT_DEC: A latitude no formato decimal, por exemplo 29.3432345.
  • LON_DEC: A longitude em formato decimal, por exemplo -100.25242.
  • ANT_MODEL: O modelo da antena utilizada na célula.
  • ANT_HEIGHT: A altura da antena.
  • ANT_AZIM: O azimute, ou a direção para onde está apontada a antena.
  • ANT_TILT_ELE: O tilt elétrico da antena.
  • ANT_TILT_MEC: O tilt mecânico da antena.

Com os campos acima devidamente preenchidos temos, embora que de maneira bem simplificada, o retrato de nossa rede. Estes dados geralmente são mantidos e atualizados através de planilhas como as do Excel, ou de cadastros mais específicos.

Este será o nosso ponto de partida e hoje veremos como armazenar a nossa planilha do Excel num banco de dados do Access! Para alguns, essa tarefa é trivial; para outros, estamos entrando num mundo novo. De qualquer forma, estamos apenas criando as nossas bases.

E exatamente nesse ponto, vamos fazer um pequeno parênteses. Temos os dados fictícios iniciais mínimos necessários para a criação do nosso sistema, mas ainda não falamos nada sobre Access e Excel. Por isso, torna-se necessário que façamos uma breve introdução prática sobre os mesmos, e um pouco mais abaixo falaremos deles. Como já falamos anteriormente, nosso objetivo não é ensinar nem Access nem Excel. Esse conhecimento será obtido na prática, simplesmente seguindo os tutoriais.

É claro que você pode buscar na Internet, onde há uma vasta disponibilidade de material. Particularmente, eu penso da seguinte forma: Imagine alguém que quer aprender a andar de bicicleta. Ele pode passar dias antes estudando, sabendo como funciona o freio, quantas marchas existem, como os pedais devem ser girados, noções de física, etc. Mas também pode simplesmente montar numa e sair andando. Tudo bem, você pode pensar: o cara vai cair. Mas também pode se levantar e continuar. Talvez o exemplo não tenha sido dos melhores, mas é mais ou menos o que vamos fazer (pelo menos aqueles que não viram nada de programação até hoje): vamos sair pedalando!

Observação: Na grande maioria dos tutoriais temos os arquivos relacionados, e que são enviados para os Assinantes. Se você é um assinante, por favor verifique em seu e-mail o Blog_002_Hunter_Network.zip. Utilize o suporte para qualquer dúvida ou problema que encontrar.

 

Estrutura de Arquivos

Como vimos na lição anterior, nossos arquivos tem sempre um local definido para se localizar. No caso desse primeiro módulo – Hunter Network, a estrutura de diretórios a ser criada está mostrada a seguir.

Se você ainda não criou, crie agora o diretório principal de todas as nossas aplicações, o diretório Hunter (1).

Em seguida, logo abaixo deste diretório, crie o diretório principal e que dá nome a esse módulo, o Network (2).

Por fim, crie mais dois diretórios, também abaixo do previamente criado Network: diretórios Data e Database (3). O diretório Data contém os dados de entrada do Hunter Network, que no caso é a própria planilha padrão com os dados básicos que definimos acima; Já o diretório Database conterá o nosso banco de dados Access.

Estamos prontos para prosseguir.

 

Excel tudo bem, mas Access?

A maioria das pessoas conhece o Excel. Nem todas conhecem o Access. Vamos utilizar principalmente o Access, portanto você precisa começar a conhecê-lo.

Pense no Access como um local onde você pode colocar várias planilhas do Excel, na forma de Tabelas. Para acessar os dados dessas tabelas você pode abri-las diretamente e visualizar ou modificar os dados; ou consultar os seus dados através de Consultas!

Existem diversos tipos de Consultas, e veremos todas em seu devido tempo. Agora vamos nos preocupar apenas com a forma mais simples de consultas, que são as consultas do tipo Seleção. Como o próprio nome sugere, são consultas que nos permitem selecionar (acessar) dados de uma ou mais tabelas. Elas servem para buscar os dados, mas também podem fazer cálculos, utilizar parâmetros de filtro, etc.

Além das consultas, o Access possui a facilidade de criar Macros. Macros no Access não são exatamente da forma como conhecemos no Excel, onde você pode por exemplo gravar uma tarefa rotineira e depois utilizar esta macro gravada para repetir a mesma; mas elas tem a mesma finalidade: automatizar tarefas.

Formulários do Access são usados para criar Interfaces para acesso aos dados, e Relatórios para apresentar os mesmos de forma mais elegante. Vamos deixar esses dois itens para mais adiante, pois fogem do nosso objetivo inicial.

Para finalizar este rápido resumo, temos os Módulos do Access. Um Módulo pode ser entendido como o local onde armazenamos os nossos códigos VBA que serão chamados para a execução de tarefas. Há muito que se explorar aqui, e as possibilidades são muito grandes, sem exageros.

Bom, feita esta super rápida introdução teórica ao Access, vamos agora tentar ver alguns desses conceitos na prática.

Observação: tudo o que veremos aqui pode ser feito no Excel. Mas a finalidade aqui é demonstrar como tudo isso é feito utilizando o Access.

 

Tabela de Dados – Importando do Excel para o Access

Abra o arquivo Network.xls. Você verá uma Tabela com os campos que definimos acima. Vamos ver como importar esses dados para o Access. Existem várias maneiras.

Podemos criar uma tabela em branco através do Menu: Criar (1) -> Tabela (2), e em seguida digitar todos os dados.

Não vamos utilizar essa opção.

Outra forma, talvez a mais correta no nosso caso já que já temos os dados no Excel, seria importar a tabela através do Menu: Dados Externos (1)-> Excel (2). Em seguida, clicar no botão Procurar... e apontar para o nosso arquivo do Excel (3).

Clicando no botão OK, é iniciado um assistente para importar o arquivo do Excel. Selecione as ações padrão: clique no botão Avançar quatro vezes, no botão Concluir e no botão Fechar. Seguindo esses passos os dados do Excel são importados para uma nova tabela no nosso banco de dados. (Como seguimos os passos padrão, o Access incluiu um campo adicional Identificação. Não se preocupe com esse campo; no último passo do Wizard, o Access pergunta se queremos que ele crie uma chave primária, e foi o que ele fez; podíamos ter escolhido Não criar chave primária).

Após clicar no botão Concluir, o Access cria uma tabela com os dados exatamente como temos no arquivo Excel. Nesse último passo poderíamos também ter definido o nome da tabela a ser importada, se fosse o caso.

Aprendemos a forma padrão de importação, mas agora quer ver uma forma um pouco diferente, porém mais rápida? Abra o Excel, selecione todos os dados, e copie (1) os dados (Menu Copiar ou teclas Ctrl+C). Em seguida, clique na área de trabalho do Access cole (2) os dados (Menu Colar ou Ctrl+V). O Access vai perguntar se a primeira linha contém os nomes dos campos (3); responda que sim. Mais rápido não?

Seja pela importação padrão ou pela rápida, no final temos a tabela com os dados disponível agora no Access (1).

Existem ainda outras formas de importação de dados do Excel, através de Macros e também através de código VBA, onde você pode por exemplo pedir que o Access procure em um determinado diretório, e se existir um arquivo específico, importe. Mas vamos ver isso quando precisarmos desse tipo de funcionalidade.

NOTA: No arquivo que você recebeu, a tabela já está importada, e com o nome tbl_Network. Mas é importante que você pratique os passos acima, por mais simples que pareça, para ir se familiarizando com a utilização do Access.

 

Consultas Seleção – Selecionando Dados

Com a nossa tabela devidamente importada, podemos começar a fazer as nossas consultas aos dados, ou seja, acessar os dados da tabela.

Para criar uma consulta, vá para o Menu Criar (1) -> Design da Consulta (2).

A nova janela apresenta as tabelas disponíveis no banco de dados para serem utilizadas nessa consulta. Clique no botão Adicionar (1) para adicionar a nossa tabela (a única até agora e portanto já selecionada), e em seguida no botão Fechar (2).

Até agora: importamos os dados da nossa rede que estava numa planilha do Excel para a tabela tbl_Network, e acabamos de criar uma consulta que vai acessar esses dados.

A forma mais simples de consulta é mostrar todos dados de todos os campos da tabela. A consulta vai sendo construída de acordo com a nossa necessidade, e pode conter apenas um campo, ou todos os campos disponíveis. Para adicionar um campo a uma consulta, você pode dar um duplo clique nos campos desejados (1), ou também clicar nos campos desejados, segurar o mouse clicado, e arrastar para os campos da consulta (2).

Até agora: indicamos quais campos desejamos que apareçam na nossa consulta.

Para praticar, vamos visualizar todos os dados da nossa tabela através da consulta que criamos. Para isso, inclua todos os campos disponíveis como campos da consulta. (Nesse caso você poderia incluir apenas o campo ‘*’, que é a mesma coisa que inserir todos os campos um a um; entretanto, veremos mais tarde que para termos melhor controle de qual campo queremos e qual não desejamos, é uma boa prática sempre definir os campos ao invés de usar esse curinga).

Após incluir todos os campos, podemos executar a consulta, ou seja, podemos executar o código SQL dessa consulta. Não se preocupe agora com SQL, ainda vamos falar sobre isso também, mas não agora. Ao ser executada, a consulta retorna os dados de acordo com os campos que incluímos.

Para executar a consulta, e visualizar os dados, selecione o Menu Design (1) -> Executar (2) – clique no botão de Exclamação Vermelho.

Pronto. Você acabamos de criar a nossa primeira consulta!

Agora, vamos salvar a consulta. Para isso, clique em Salvar (o ícone de um disquete próximo ao botão Office). Se fechássemos sem salvar essa consulta, o Access perguntaria se gostaríamos que a consulta fosse salva, e bastaria clicar em Sim. Salvamos nossa primeira consulta como qry_Network.

Observação: Se você não estiver conseguindo visualizar a consulta na área de trabalho do Access, clique na seta (1) do Painel de Navegação e escolha All Access Objects (a opção padrão mostra apenas as tabelas).

Para abrir (ou executar) nossa consulta novamente, podemos simplesmente dar um duplo clique sobre a mesma, ou então clicar com o botão direito sobre ela e escolher Abrir.

Nada de extraordinário até o momento: temos uma tabela - tbl_Network - com os nossos dados, e uma consulta - qry_Network - onde podemos visualizar os dados.

Está cansado, ou podemos ver mais um pouco? Se você nunca teve contato com o Access, provavelmente esteja, entendemos perfeitamente, pois sabemos estamos vendo vários conceitos. Mas aguente aí só mais um pouco, e novamente não se preocupe: os exemplos já estarão sempre completos, o que estamos fazendo aqui é mostrando a melhor forma de se trabalhar com eles.

 

Consultas – Agrupando Dados

Tudo bem, então suponha que agora precisamos saber quantos setores existem na nossa rede. (Lembre-se que estamos praticando, e embora esses exemplos sejam bem simples, servem para fixarmos alguns conceitos que vamos utilizar mais tarde). Então vamos criar uma nova consulta, e chamá-la de qry_Network_NumberOfCells.

Nessa consulta não adicionaremos todos os campos, vamos adicionar somente o campo CELLNAME.

Em seguida, no Menu Design, clicamos em Totais (1) - o botão com o símbolo de Somatória. Ao clicar nesse botão, aparece uma nova linha na consulta, a linha Total (2), com algumas opções, e valor padrão Agrupar por. Altere este valor para Contar (3).

Executando a consulta, temos o resultado: temos 36 células em nossa rede!

Além de contar, existem diversas outras opções, que se aplicam de acordo com os tipos de dados - máximo, mínimo, etc. Utilizaremos todas as opções, mas por hoje está bom o que vimos sobre Totais.

 

Consultas - Critérios

Indo um pouquinho mais adiante, para finalizar por hoje, suponha que precisamos mostrar quais os setores que utilizam antena do modelo ‘AntModel02’. Para isso, criamos a consulta qry_Network_SectorsWithAntModel02.

Adicionamos os campos da tabela à consulta - pelo menos o campo ANT_MODEL – pois vamos filtrá-lo através do critério; e o campo CELLNAME, para mostrar os setores que têm antenas do modelo AntModel02.

Na linha Critérios (1) da consulta, abaixo do campo ANT_MODEL colocamos o critério “AntModel02” (2).

Executando a consulta, vemos os setores com antenas do modelo AntModel02.

Vimos até agora, pra que serve o Agrupamento ou Totais, que utilizamos por exemplo para contar o número de setores da rede, e como definir Critérios, que utilizamos para mostrar apenas setores com modelo de antena AntModel02.

Vamos agora utilizar as duas opções. Suponha que queremos saber qual a média de Tilt Elétrico para os setores que tem o modelo de antena AntModel01. Para isso criamos a consulta qry_Network_MeanTEAntModel01.

Dessa vez vamos adicionar apenas os campos ANT_TILT_ELE, que vamos obter a Média através do Agrupamento, e o campo ANT_MODEL, pois vamos filtrar apenas pelo modelo AntModel01.

Após criarmos uma nova consulta, adicionarmos os campos, e clicarmos em Agrupamento (símbolo de somatória) temos o que mostra a figura abaixo.

Para atingir nosso objetivo, precisamos incluir o critério ‘AntModel01’ na linha de critérios do campo ANT_MODEL (1), e alterar a opção Agrupar Por da linha total do campo ANT_TILT_ELE para Média (2).

Em outra palavras, queremos que o Access agrupe por AntModel01 e tire a média do tilt. Executando a consulta, temos o resultado esperado. Os setores com antena AntModel01 tem média de tilt elétrico igual a 2!

Poderíamos continuar aqui criando inúmeras combinações de consultas, com critérios e agrupamentos, mas já vimos o suficiente para conhecê-las e ver o que pode ser feito com o Access, não?

Então vamos concluir por hoje, mas aproveite para praticar com os dados já disponíveis. De qualquer forma fique a vontade, e utilize para fixar os conceitos vistos.

Só uma última informação: para alterar uma consulta existente, clique com o botão direito sobre ela e escolha Design da Consulta (1).

 

Conclusão

Esse tutorial marcou o início do nosso trabalho, e também foi extenso. Iniciamos um caminho que evoluirá cada vez mais, tornando-se cada vez mais completo. Esta foi a base do nosso sistema, que será tão complexo e poderoso quanto desejarmos.

Esperamos que você tenha gostado. Tire suas eventuais dúvidas postando seus comentários no Blog ou através do nosso Suporte via Chat ou E-mail.

Até nosso próximo encontro, e lembre-se: O seu sucesso é o nosso sucesso!