UNIVERSIDADE ANHEMBI MORUMBI
LUIS CARLOS PESSOTO FILHO
LUIZ FELIPE FERNANDES GENTILE
NAILSON COELHO COSTA
SOLUÇÃO DE DATA WAREHOUSE COM ESQUEMAS DINÂMICOS PARA
LEVANTAMENTO ESTATÍSTICO DOS DADOS DE OBSERVAÇÃO DO USO DE
SERVIÇOS PÚBLICOS
São Paulo
2009
LUIS CARLOS PESSOTO FILHO
LUIZ FELIPE FERNANDES GENTILE
NAILSON COELHO COSTA
SOLUÇÃO DE DATA WAREHOUSE COM ESQUEMAS DINÂMICOS PARA
LEVANTAMENTO ESTATÍSTICO DOS DADOS DE OBSERVAÇÃO DO USO DE
SERVIÇOS PÚBLICOS
Trabalho de Conclusão de Curso apresentado
como exigência parcial para a obtenção de título de
Graduação do Curso de Ciência da Computação na
Universidade Anhembi Morumbi.
Orientadora: Dra. Judith Virginia Pavón Mendonza.
São Paulo
2009
LUIS CARLOS PESSOTO FILHO
LUIZ FELIPE FERNANDES GENTILE
NAILSON COELHO COSTA
SOLUÇÃO DE DATA WAREHOUSE COM ESQUEMAS DINÂMICOS PARA
LEVANTAMENTO ESTATÍSTICO DOS DADOS DE OBSERVAÇÃO DO USO DE
SERVIÇOS PÚBLICOS
Trabalho de Conclusão de Curso apresentado
como exigência parcial para a obtenção de título de
Graduação do Curso de Ciência da Computação na
Universidade Anhembi Morumbi.
Aprovado em
_____________________________________________________
Profª. Dra. JUDITH VIRGINIA PAVÓN MENDONZA
Universidade Anhembi Morumbi
_____________________________________________________
Prof. FABIANO DO PRADO MARQUES
Universidade Anhembi Morumbi
_____________________________________________________
Profª. REGIANE APARECIDA MARUCCI
Universidade Anhembi Morumbi
AGRADECIMENTOS
Agrademos primeiramente a Deus por nos dar força, sabedoria, paciência, amizade,
compreensão para que ao longo desse trabalho pudéssemos conviver com muitas pessoas
diferentes em muitos aspectos e conseguir trabalhar com todas em harmonia.
Agrademos aos nossos familiares e amigos que por muitas vezes tiveram que nos
aguentar em momentos difíceis e de muita pressão e que conseguiram com sua verdadeira
amizade e compreensão nos ajudar a superar tais momentos.
Agradecemos à Prof. Dra. Judith Pavón por ter no orientado com sua paciência e
sabedoria ao longo desse trabalho e por nos ter ajudado a alcançar esse objetivo que foi
traçado no inicio do ano e que com muito trabalho e esforço de todos foi atingido.
Agradecemos à equipe do e-Poupatempo por nos ter ajudado disponibilizando as
informações necessárias quando lhes foi solicitado.
Agradecemos aos professores que ao longo do curso nos orientaram e nos ensinaram e
ao coordenador do curso, o professor Luciano Freire que sempre que foi necessário estava à
disposição para nos atender e nos ajudar.
E agradecemos a todas as outras pessoas que direta ou indiretamente nos ajudaram em
todo esse processo ao longo desse ano.
RESUMO
Quando se fala em empresas e órgãos governamentais, existe a necessidade de se levar
em consideração os avanços tecnológicos, pois, cada vez mais essas instituições estão
aproveitando os benefícios dos recursos tecnológicos disponíveis no mercado em suas
atividades. Um exemplo disso é o e-Poupatempo, uma iniciativa de governo eletrônico (egov) do estado de São Paulo que visa garantir a rapidez e eficiência dos serviços
disponibilizados pelo governo, aliando essa iniciativa com a expansão da inclusão digital.
Idealizadores do e-Poupatempo realizam regularmente pesquisas, chamadas de
campanhas, nas suas unidades para ter informações sobre usabilidade, tipos de usuário dos
serviços, tempo médio de atendimento e dificuldades que enfrentam estes usuários quando
utilizam os serviços disponíveis no e-Poupatempo. Estas campanhas geram relatórios, que são
utilizados em análises e confecção de laudos, que ajudam nas tomadas de decisões para
melhoria dos serviços. O grande problema é que atualmente os gestores do e-Poupatempo
dependem da equipe de TI para que a geração desses relatórios seja possível.
A equipe do e-Poupatempo possui um Data Warehouse (DW) baseada em apenas uma
campanha e que foi desenvolvido por um grupo de alunos que concluíram o curso de Sistemas
de Informação no final do ano de 2008. Porém a necessidade atual do e-Poupatempo é ter um
DW que possa armazenar informações das diversas campanhas que são aplicadas nas salas e
com isso gerar os relatórios necessários para auxiliar nas tomadas de decisões e análises dos
dados coletados.
Neste trabalho será construído um DW, que permitirá aos usuários confeccionar
diferentes tipos de relatórios com base nos dados levantados nas diversas campanhas, tendo
assim, maior rapidez nas tomadas de decisões. O diferencial desse trabalho consiste no uso de
esquemas dinâmicos de Bancos de Dados (BDs), que permite aos gestores ter uma maior
flexibilidade no modelo e na escolha de dimensões.
Palavras-chave: Data Warehouse, Esquemas Dinâmicos, Banco de Dados, e-Poupatempo
ABSTRACT
When it comes to companies and government agencies, we must take into account
technological advances, therefore, this institutions are increasingly taking advantage of
technological resources available on the market in its activities. One example is ePoupatempo an initiative for electronic government (e-gov) from the state of Sao Paulo which
aims to ensure speed and efficiency of services provided by government, combining this
effort with the expansion of digital inclusion.
E-Poupatempo’s developers regularly created researches, called Campaigns in their
units to have a notion on usability, like types of users of the services, average attendance and
difficulties faced by these users when they use the services available on e-Poupatempo. These
campaigns generate reports, which are used in analysis and production of reports, which helps
in decision-making to improve services. The big problem is that currently the managers of ePoupatempo depend on IT staff to produce them.
The team of e-Poupatempo has a Data Warehouse (DW) based on a single campaign
that was developed by a group of students who completed the course in Information Systems
at the end of 2008. But the e-Poupatempo’s actual need is a data warehouse that can store
information from the various campaigns that are applied in classrooms and thus generate the
necessary reports to assist in decision-making and analysis of data collected.
This work will build a data warehouse, which will allow users to build different types
of reports based on data collected in different campaigns, and thus greater speed on decision
making. The differential of this work is the use of dynamic schemas of Database, which
allows managers to have greater flexibility in the model and the choice of dimensions.
Key Words: Data Warehouse, Esquemas Dinâmicos, Banco de Dados, e-Poupatempo
LISTA DE FIGURAS
Figura 1 - Portal do e-Poupatempo...........................................................................................17 Figura 2 - Cubo......................................................................................................................... 21 Figura 3 – Modelo Estrela ........................................................................................................ 25 Figura 4 - Modelo Snowflake................................................................................................... 26 Figura 5 - Constelação de Fatos ............................................................................................... 27 Figura 6 - Planilha de Atendimento Campanha de Fundo........................................................ 32 Figura 7 - Planilha de Atendimento Campanha Especifica...................................................... 33 Figura 8 - Informação sobre as Campanhas Especifica............................................................35 Figura 9 - Tabelas ..................................................................................................................... 35 Figura 10 - Banco de Dados Relacional ................................................................................... 37 Figura 11- Modelagem Data Warehouse.................................................................................. 38 Figura 12 – Criação do Banco de Dados .................................................................................. 40 Figura 13 – Criação do DataSource “BDEPOUPATEMPO” ..................................................41 Figura 14 – Criação do DataSource View “BDEPOUPATEMPO” ......................................... 42 Figura 15 – Visualização do DataSource View ........................................................................ 42 Figura 16 – Selecionando as tabelas Fato................................................................................. 43 Figura 17 – Selecionando as dimensões ................................................................................... 43 Figura 18 – Estrutura do Cubo ................................................................................................. 44 Figura 19 – Editando as medidas.............................................................................................. 45 Figura 20 – Adicionando atributos às dimensões..................................................................... 45 Figura 21 – Tratando a dimensão de tempo .............................................................................46 Figura 22 – Processando o Cubo .............................................................................................. 46 Figura 23 – Analisando os resultados....................................................................................... 47 Figura 24 – Tela inicial do Microsoft Excel.............................................................................48 Figura 25 – Opções do submenu .............................................................................................. 49 Figura 26 – Configuração da Conexão com Analysis Services................................................ 49 Figura 27 – Tela de seleção do BD e do Cubo ......................................................................... 49 Figura 28 – Nomeando o Arquivo de Conexão........................................................................ 50 Figura 29 – Tipos de conexão .................................................................................................. 50 Figura 30 - Total de Atendimentos por Local ..........................................................................51 Figura 31 - Total de Atendimentos por Periodo....................................................................... 51 Figura 32 – Total de Atendimentos por Órgão......................................................................... 51 Figura 33 - Total de Atendimentos por Serviço ....................................................................... 52 Figura 34- Campanhas Especificas........................................................................................... 52 Figura 35 - Total de Ajuda por Serviço.................................................................................... 52 Figura 36 - Tempo Médio por Serviço ..................................................................................... 53 LISTA DE TABELAS
Tabela 1 - Nível Operacional x Nível SAD - Fonte: Navarro, 2009 ........................................18 Tabela 2 - Tabela Fato, Dimensão e Medidas – Fonte: O autor (2009) ...................................39 SUMÁRIO
1 INTRODUÇÃO ........................................................................................................ 12 1.1 OBJETIVO.................................................................................................................12 1.2 JUSTIFICATIVA....................................................................................................... 13 1.3 ABRANGÊNCIA....................................................................................................... 13 1.4 ESTRUTURA DO TRABALHO...............................................................................13 2 GOVERNO ELETRÔNICO ................................................................................... 15 2.1 DEFINIÇÃO .............................................................................................................. 15 2.2 TRANSAÇÕES..........................................................................................................15 2.3 PRINCIPAIS FUNÇÕES ...........................................................................................16 2.4 E-POUPATEMPO...................................................................................................... 16 2.4.1 Sobre e-Poupatempo ................................................................................................ 17 3 DATA WAREHOUSE ............................................................................................. 18 3.1 INTRODUÇÃO..........................................................................................................18 3.1.1 Características .......................................................................................................... 19 3.1.2 Conceitos ................................................................................................................... 20 3.1.2.1 Granularidade ............................................................................................................. 20 3.1.2.2 Fatos.......... ................................................................................................................. 20 3.1.2.3 Dimensões.. ............................................................................................................... .20 3.1.2.4 Medidas..... ................................................................................................................. 21 3.2 DATAMARTS ...........................................................................................................22 3.3 METADADOS........................................................................................................... 22 3.4 ETL (EXTRACT, TRANSFORM AND LOAD) ...................................................... 22 3.4.1 Extração .................................................................................................................... 23 3.4.2 Transformação.......................................................................................................... 23 3.4.3 Carga ......................................................................................................................... 24 3.4.4 Ferramentas para ETL ............................................................................................ 24 3.5 MODELOS MULTIDIMENSIONAIS ......................................................................24 3.5.1 Tipos de Modelos Multidimensionais ..................................................................... 25 3.6 ESQUEMAS DINÂMICOS....................................................................................... 27 3.8
TRABALHOS RELACIONADOS ............................................................................ 28 4 APRESENTAÇÃO DO ESTUDO DE CASO........................................................ 31 4.1 CAMPANHAS........................................................................................................... 31 4.1.2 Campanha de Fundo ................................................................................................31 4.1.3 Campanhas Específicas............................................................................................ 33 4.2 EXEMPLO DE UTILIZAÇÃO DE ESQUEMAS DINÂMICOS .............................34 4.3 LEVANTAMENTO DE REQUISITOS ....................................................................36 4.4 MODELO DE DADOS RELACIONAL ................................................................... 36 5 MODELAGEM DO DATA WAREHOUSE.......................................................... 38 6 IMPLEMENTAÇÃO DA SOLUÇÃO.................................................................... 40 7 ANÁLISE DOS RESULTADOS............................................................................. 48 8 CONCLUSÕES E TRABALHOS FUTUROS....................................................... 54 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................... 55 ANEXO I - CARGA DOS DADOS PARA SCHEMA “BDEPOUPATEMPO” 58 12
1
INTRODUÇÃO
Para obter um diferencial, empresas procuram novas formas para se destacar no
mercado, uma estratégia de sucesso é dispor de informações cruciais para as tomadas de
decisão. Isso é possível, se o Gestor ou tomador de decisões consegue acessar as informações
relevantes para o negócio a partir de diferentes perspectivas, sem depender dos profissionais
da área de TI.
Uma dessas formas que possibilita uma análise rápida é o DW, que fornece
informações que dão apoio nas tomadas de decisões através de relatórios constantemente
atualizados, de acordo com a necessidade do usuário.
Além de empresas, órgãos governamentais se utilizam também do DW, não visando à
competitividade, mas sim, melhorias para a população em geral e para o estado como um
todo. Um exemplo disso é o e-Poupatempo, iniciativa do governo do estado de São Paulo, que
substitui muitos dos serviços presencias por serviços on-line. Além de disponibilizar esses
serviços para que qualquer pessoa que tenha acesso à internet possa acessá-los, o ePoupatempo dispõe de salas espalhadas pelas unidades do Poupatempo onde o cidadão pode
acessar esses serviços e ainda tem a sua disposição monitores que auxiliam na execução dos
mesmos.
No decorrer do trabalho, será apresentada a implementação e utilização de uma
ferramenta de DW na gestão de informações geradas pelas campanhas organizadas pelo ePoupatempo e aplicadas nas diversas salas espalhadas nos postos do Poupatempo e nos postos
móveis. Campanhas são tipos de pesquisas realizadas pelos próprios monitores/atendentes e
que será explicado com mais detalhes no capitulo 4.
1.1
OBJETIVO
Atualmente, em todas as salas do e-Poupatempo são realizadas pesquisas pelos
próprios atendentes com a finalidade de coletar informações sobre o perfil do cidadão e suas
dificuldades nas realizações dos serviços públicos eletrônicos, visando à melhoria desses
serviços.
O objetivo desse trabalho é modelar uma aplicação baseada em um DW para permitir
que o próprio Gestor possa criar, sem intervenção da área de TI, diversos tipos de relatórios
de acordo as necessidades do negócio, e assim, ajudar na tomada de decisões do ePoupatempo.
13
1.2
JUSTIFICATIVA
O e-Poupatempo não possui uma ferramenta de auxílio à análise dos dados obtidos
através das pesquisas e de visualização desses dados por diferentes critérios e a partir de
diferentes perspectivas. Diante desse problema, pretende-se modelar uma solução que atenda
essas necessidades, disponibilizando para os gestores do e-Poupatempo, relatórios que
servirão para auxiliar na análise dos dados coletados e que possa ser utilizada como uma
ferramenta de apoio à decisão. Essa ferramenta será capaz de gerar relatórios a partir de
campanhas que poderão ser criadas a qualquer momento pela equipe do e-Poupatempo
denominadas Campanhas Específicas. Esse é o ponto principal desse trabalho, que para poder
disponibilizar esses relatórios, se utilizará dos conceitos de esquemas dinâmicos de BDs na
criação do DW. Ao longo desse trabalho será explicado o que é uma campanha, o que é um
esquema dinâmico e como ele será aplicado.
1.3
ABRANGÊNCIA
Esse trabalho pretende realizar o levantamento de requisitos e modelar uma aplicação
baseada em um DW que sirva de solução para o problema exposto, que permitirá que os
gestores do e-Poupatempo analisem os dados obtidos pelas campanhas sob diversas
perspectivas, sem que pra isso seja necessária a intervenção da equipe técnica para a criação
dos relatórios. Devido à falta de dados, será disponibilizado ao final desse trabalho toda a
documentação e uma prévia de como será essa aplicação, pois para que todos os testes sejam
realizados com sucesso, existe a necessidade de uma grande massa de dados e a mesma não
existe, pois as coletas dos dados tiveram inicio em Outubro de 2009.
1.4
ESTRUTURA DO TRABALHO
O trabalho foi estruturado da seguinte forma:
No capítulo 2 são abordados os conceitos de Governo Eletrônico, incluindo suas
definições, transações e principais funções, inclui também conceitos sobre e-Poupatempo.
No capítulo 3 são abordados os conceitos de Data Warehouse, incluindo conceitos
básicos, importância, características.
No capitulo 4 é apresentado o estudo de caso, incluindo os conceitos de campanha,
levantamento de requisitos e modelo de dados relacional.
14
No capítulo 5 é apresentada a modelagem do Data Warehouse.
No capítulo 6 é apresentada a implementação do modelo dividida em Extração dos
dados, Transformação dos dados, Construção do Cubo e Processamento do Cubo.
No capítulo 7 é apresentada a análise dos resultados obtidos.
No capítulo 8 é apresentada a conclusão do grupo sobre o trabalho.
15
2
GOVERNO ELETRÔNICO
O Governo Eletrônico (e-Gov) é uma tendência mundial e tem como objetivo
estabelecer uma melhor relação entre o setor público e seu público-alvo, utilizando a
tecnologia de informação como elo.
2.1
DEFINIÇÃO
Os aparelhos governamentais, no início dessa década, impulsionados pela evolução
dos processos tecnológicos e pela necessidade de reestruturação e modernização das ações
governamentais, conceberam a idéia de aperfeiçoar, facilitar e disseminar os serviços
prestados pelo setor público utilizando a tecnologia de informação e comunicação (TIC) como
ferramenta. Essa idéia foi intitulada “Governo Eletrônico”. (RIBEIRO, 2009)
2.2
TRANSAÇÕES
O Governo Eletrônico atua principalmente em três tipos de transações:
a)
G2G (Government to Government): transações intra ou inter-governos, geralmente
feitas em sistemas de gestão interna, criados e mantidos pelo próprio governo para otimizar
seus canais de informação. São esses tipos de transações que permitem, por exemplo, que os
Cadastros de Pessoa Física (CPF) sejam emitidos em qualquer município do Brasil e mesmo
assim, obedeçam a uma numeração única e nacionalmente conhecida.
b)
G2B (Government to Business): transações entre o Governo e as empresas, é a
transação menos comum, mas com grande potencial para crescer. Em alguns países, por
exemplo, já é possível cadastrar-se como fornecedor de um produto de interesse do Governo,
ou candidatar-se a uma licitação através da Internet.
c)
G2C (Government to Citizens): transações entre o Governo e os cidadãos, são as
transações mais comuns, e são amplamente difundidas nos países com tradição democrática.
Um exemplo comum são os sites que o Governo disponibiliza aos cidadãos para execução de
serviços que anteriormente só poderiam ser feitos presencialmente, como o Boletim de
Ocorrência que hoje pode ser feito pela Internet.
16
2.3
PRINCIPAIS FUNÇÕES
O Programa de Governo Eletrônico brasileiro se compromete a transformar as relações
entre Governo, Cidadãos e Empresas buscando:
a)
Aprimorar a qualidade dos serviços prestados
b)
Promover a interação com empresas e indústrias
c)
Fortalecer a participação cidadã através do acesso à informação
d)
Tornar a administração governamental mais eficiente
A adesão ao Governo Eletrônico traz diversos benefícios, tanto para o próprio
governo, que diminui seus gastos na execução dos serviços e garante transparência em suas
ações, como para o cidadão, que não precisa mais se deslocar ao posto de serviço, não
enfrenta filas, e na grande maioria dos casos acessa os serviços a qualquer hora e de qualquer
lugar.
2.4
E-POUPATEMPO
Conforme o relatório técnico sobre a ética na pesquisa com cidadão, a monitoração
dos usuários durante a utilização dos serviços públicos eletrônicos foi realizada em salas que
receberam o nome de e-poupatempo. “Neste local, cidadãos podem acessar qualquer site
governamental ou público de interesse, sendo auxiliados, quando necessário, por pessoal
treinado e especializado tanto na utilização de tais serviços quanto no manuseio dos
equipamentos” (FILGUEIRAS; FERREIRA, 2006, p. 6). Neste mesmo ambiente foi instalado
o Laboratório de Interação Homem-Computador (LabIHC), que tem a responsabilidade de
identificar e avaliar barreiras que dificultam ou impedem a utilização dos serviços eletrônicos.
O e-Poupatempo é uma iniciativa do Governo do Estado de São Paulo, que busca levar
o padrão de qualidade do atendimento do Poupatempo para o meio eletrônico.
Atualmente o e-Poupatempo conta com várias salas de atendimento dentro dos postos
do e-Poupatempo, e com bases móveis que fazem um revezamento nas cidades onde não
existem postos fixos do Poupatempo. Tudo isso serve para aproximar o cidadão dos serviços
que ele tem disponível a partir da sua própria casa, bastando ter apenas acesso à internet para
realizar os serviços disponíveis no site.
Na figura 1 é apresentada a página inicial do e-Poupatempo no site do Poupatempo.
17
Figura 1 - Portal do e-Poupatempo - Fonte: e-Poupatempo (2008)
2.4.1 Sobre e-Poupatempo
O projeto e-Poupatempo, além de visar à padronização dos serviços de governo
eletrônico existentes na esfera estadual, tornando sua utilização mais fácil, rápida, intuitiva e
menos burocrática, têm como objetivo também fornecer os meios para que os cidadãos
possam conhecer e utilizar esse tipo de serviço.
Com esse propósito, foram criadas as salas de atendimento e-Poupatempo dentro dos
Poupatempos espalhados pelo Estado de São Paulo, essas salas além de fornecer acesso à
internet e orientação para utilização dos serviços disponíveis em meio eletrônico, ainda
permitem que essa utilização seja monitorada e posteriormente avaliada contribuindo para a
análise dos serviços existentes atualmente e garantindo um salto na qualidade e eficiência dos
serviços já existentes e uma melhor base para a elaboração dos novos serviços a serem
disponibilizados.
Alguns exemplos de serviços oferecidos pelo e-Poupatempo são: Boletim de
Ocorrência, Carteira Nacional de Habilitação, Segunda via de RG, Carteira de Trabalho
Profissional, etc.
18
3 DATA WAREHOUSE
Os DWs são ambientes desenvolvidos para armazenar grandes quantidades de dados
que posteriormente serão utilizados para análises e tomadas de decisões.
No decorrer desse capítulo, são apresentados os conceitos, características, tipos de
modelos e ferramentas para extração dos dados. São abordados também os conceitos de
esquemas dinâmicos de banco de dados.
3.1
INTRODUÇÃO
Os sistemas e as bases de dados disponíveis hoje dentro das organizações foram
concebidos e implantados para atender as necessidades do setor operacional, onde os dados
relevantes são, geralmente, os dados do período atual e a fronteira de sua informação está
delimitada pela área de atuação do departamento que utiliza aquele sistema. (NAVARRO,
2009).
Na tomada de decisões, o nível gerencial e estratégico da organização precisa conhecer
a tendência desses dados ao longo do tempo, e precisa cruzar dados advindos de diversos
setores da empresa. A tabela 1 mostra a diferença entre os dois níveis:
Tabela 1 - Nível Operacional x Nível SAD - Fonte: Navarro, 2009
Tópico ou Função
Conteúdo dos Dados
Organização dos Dados
Natureza dos Dados
Estrutura e Formato dos Dados
Possibilidade de Acesso
Atualização
Aplicação
Tempo de Resposta
Nível Operacional
Nível Suporte à Decisão
Valores Correntes
Dados históricos,
consolidados e trabalhados.
Orientada à Aplicação
Orientado à Informação
Dinâmica, Dados
Normalizados.
Estática, dados
desnormalizados.
Simples, desejáveis para
análise de negócios.
Complexos, desejáveis para
computação operacional.
Alta
Contínua
Estruturada, processamento
repetitivo.
Entre 2 e 30 segundos
Moderada a Baixa
Periódica
Não-estruturada,
processamento analítico.
Segundos a minutos
O processo de tomada de decisão deve considerar a empresa como um todo, desde o
nível mais operacional até ao mais alto escalão. Nesse cenário um Sistema de Apoio à decisão
19
(SAD) mostra sua importância, disponibilizando uma visão mais apurada das informações e
garantindo maior segurança no processo decisório.
Os DWs são criados pelas organizações justamente para atuar nessa realidade,
fornecendo informações precisas e confiáveis aos SAD’s e esses fornecendo aos gerentes uma
visão global da organização, permitindo uma tomada de decisão mais precisa. (PARIS, 2009).
Um DW como a própria tradução do nome diz, é basicamente um ‘Armazém de
Dados’. Sua principal função é o armazenamento dos dados de uma empresa, de forma a dar
suporte à tomada de decisões da organização. A arquitetura DW é amplamente utilizada em
SAD’s para auxiliar o corpo gerencial e estratégico da empresa na tomada de melhores
decisões para o rumo das operações e processos da companhia. (MACHADO, 2004).
3.1.1 Características
Uma das grandes diferenças de um DW é o seu ciclo de vida. Em um banco de dados
operacional, primeiro entende-se a necessidade e somente após esse processo é que se inicia a
fase de projeto e desenvolvimento. Em um DW, quase que acontece de maneira inversa, pois
uma vez tendo os dados sob controle, é feita a integração, testes para verificar distorções,
codificação dos dados, e, somente após todo esse processo é que os resultados obtidos são
analisados e finalmente os requisitos do sistema são compreendidos (INMON, 1997).
Existem várias características que são pertinentes ao DW, a seguir as quatro principais:
a)
Orientação por Assunto:
As informações armazenadas em um DW são agrupadas por assunto e cada um está
relacionado a um processo de interesse da empresa.
b)
Não Volátil:
Os dados são carregados e depois ficam disponíveis para serem acessados. Não existe
manipulação dos dados no que diz respeito à alteração, modificação dos mesmos.
c)
Variação de Tempo:
Os dados não podem ser alterados, mas ao longo do tempo, dependendo do momento
que o mesmo esteja sendo analisado ele pode variar. Nesse contexto o campo data é o
elemento principal para que as análises ou comparações possam ser realizadas.
d)
Integração:
Os dados podem vir de várias fontes e antes de serem carregados, passam por alguns
processos que fazem com que sejam filtrados e agregados e isso garante que tudo esteja
unificado.
20
3.1.2 Conceitos
Abaixo serão apresentados alguns dos principais conceitos básicos de DW, incluindo
granularidade, fato, dimensão e medidas.
3.1.2.1 Granularidade
A granularidade refere-se ao nível de sumarização dos elementos e de detalhes
disponíveis nos dados.
Quanto maior foi o nível de detalhamento mais baixo será o nível de granularidade e
quanto menor for o nível de detalhamento mais alto será o nível de granularidade e esse é o
mais importante aspecto de um projeto de DW.
Durante o projeto do DW essa é a questão mais crítica a ser tratada, pois, quanto maior
for o volume de dados menor será a performance e isso está diretamente relacionado à questão
de maior nível de detalhamento, pois isso implica a necessidade de maior espaço para
armazenamento dos dados, em contrapartida, quanto menor for o nível de detalhamento
menos espaço será necessário para armazenar os dados, mas em uma eventual análise, menos
dados serão analisados e isso pode afetar em uma tomada de decisão.
3.1.2.2 Fatos
Utilizado para analisar o processo que envolve um negócio da empresa, o fato é uma
coleção de itens de dados e essa coleção é composta de dados de medidas e de contexto. Cada
fato ao longo do tempo representará a evolução da organização dia após dia, em uma
modelagem podem existir mais de um fato, depende dos processos da empresa.
A principal característica de um fato é que ele é representado por valores numéricos,
como por exemplo, quantidade de produtos vendidos, e são implementados em tabelas, por
esse motivo as mesmas são denominadas tabelas de fato (INMON, 1997).
3.1.2.3 Dimensões
Uma aplicação que se baseia em DW tem por finalidade analisar os dados coletados ao
longo de um período e a partir daí, ajudar na análise dos mesmos e emitir relatórios para
auxiliar nas tomadas de decisões. Em uma empresa de venda de produtos, por exemplo,
21
muitas vezes é necessário avaliar o quando um determinado produto vende por semana, por
mês, por ano, e essas visualizações nada mais são que as dimensões, ou seja, representam as
possíveis formas de visualização dos dados e conceitualmente são todos os elementos que
fazem parte de um fato.
Cada dimensão pode ou não conter membros e caso existam, passam a fazer parte de
uma hierarquia. Uma hierarquia representa a classificação dos dados dentro de uma dimensão
e caso a modelagem não seja bem feita, isso pode inviabilizar uma analise mais global sobre
um dado especifico.
3.1.2.4 Medidas
São consideradas medidas, todos os atributos numéricos que representam um fato e é
determinada pela combinação das dimensões que participam do mesmo.
Usando como base o exemplo utilizado na explicação de dimensões, a quantidade de
um determinado produto que foi vendido em um determinado mês é chamada de medida,
esses valores numéricos são conhecidos como variáveis (KIMBALL, 2007).
A Figura 2 é uma representação de um cubo onde o fato corresponde à Venda de
Produtos, existem três dimensões, Região, Produto e Mês e as medidas surgem a partir do
relacionamento entre as dimensões, por exemplo: Quantidade de Suco.
Figura 2 - Cubo - Fonte: Nardi (2009)
22
3.2
DATAMARTS
O termo DataMart designa um subconjunto do DW que contém os dados sobre um
setor ou departamento específico da empresa. Geralmente os DWs são constituídos de
diversos DataMarts, onde cada DataMart é modelado com foco em um departamento ou setor
específico da empresa. Em suma, um DataMart possui as mesmas características de um DW,
só que possui menor proporção, e é direcionado para um departamento da empresa ou assunto
específico.
3.3
METADADOS
A idéia mais comum que se tem sobre Metadados é que eles representam “dados sobre
dados”. De uma forma um pouco mais completa podemos dizer que o metadado é a
“descrição do dado, do ambiente onde ele reside, como ele é manipulado e para onde é
distribuído". Outra forma, mais concisa e direta, é definir metadado como "documentação"
(TRONCHIN, 1998).
Sem metadados, os dados não têm significado, e ações como a de localizar
informações contidas em um DW tornam-se uma tarefa muito difícil, semelhante a procurar o
telefone de uma pessoa sem a ajuda de uma lista telefônica.
3.4
ETL (EXTRACT, TRANSFORM AND LOAD)
A extração, transformação e carga dos dados devem ser feitas com o intuito de garantir
a integridade da informação para que, desta forma, seja construída, uma base de dados
confiável e com qualidade, que realmente demonstre a realidade dos negócios da empresa.
O ETL é importante, pois constituem tarefas criticas para seu funcionamento efetivo e
eficiente. O processo de ETL é um processo que envolve:
a)
a extração dos dados vinda de diversas fontes externas, podendo ser bancos de dados
relacionais ou ate arquivos textos;
b)
a transformação destes arquivos para atender às necessidades de negócios que são
solicitadas, isto é, a informação chega de forma bruta e sai com as devidas formatações
requeridas pelo usuário.
c)
a carga destes dados, já modificados e transformados para a forma que o usuário
23
deseja, no DW.
Com isso, cada tópico estará explicando de uma forma mais abrangente a definição de
cada um dos tópicos de ETL (Extração, Transformação e Carga).
3.4.1 Extração
Durante a implementação de um DW, a primeira parte do processo é a extração de
dados dos sistemas de origem, este podendo ser feito de diversas fontes como bancos de
dados relacionais ou arquivos texto, chamados de flat files. Cada sistema pode também
utilizar um formato ou organização de dados diferente. Formatos de dados comuns são bases
de dados relacionais e flat files ou em português, arquivos planos, mas podem incluir
estruturas de bases de dados não relacionais. A extração converte para um determinado
formato para a entrada no processamento da transformação, fazendo com que estes cheguem
de forma mais limpa e clara.
Os tipos de tratamentos mais comuns no processo de extração são:
a)
Resolução de conflitos de nomes;
b)
Conversão de dados para um tipo de unidade de medida comum;
c)
Padronização no formato de datas.
3.4.2 Transformação
A fase de transformação (transform) funciona como um filtro nos dados vindos da
extração, aplicando uma série de regras aos dados que serão carregados.
Algumas fontes de dados não precisarão de tantas mudanças, pois podem ser que já estejam
corretos sendo assim necessitarão de pouca manipulação nos dados. Em caso contrário, pode
ser necessário um ou mais de um dos seguintes tipos de transformação:
1
Seleção de apenas determinadas colunas para carregar;
2
Tradução de valores codificados, o que é conhecido como limpeza de dados;
3
Codificação de valores, mapeando, por exemplo, “Masculino”, "1” e “Sr.” para M;
4
Derivação de um novo valor calculado;
5
União de dados extraídos de diversas fontes;
24
6
Resumo de várias linhas de dados;
7
Geração de valores de chaves substitutas;
8
Transformação de múltiplas colunas em múltiplas linhas ou vice-versa (Rotação);
9
Quebra de uma coluna em diversas colunas.
3.4.3 Carga
A fase de carga, como o próprio nome já diz, faz a carga do DW, isto é, carrega os
dados no ambiente. Dependendo do tipo de necessidade da organização, este processo pode
variar. Alguns DWs podem substituir as informações existentes semanalmente, com dados
atualizados, ao passo que outro, ou até outras partes do mesmo DW, podem acrescentar dados
a cada hora. Essa medida de tempo entre as cargas depende do tempo disponível e das
necessidades de negócios. Sistemas mais complexos podem manter um histórico de todas as
mudanças sofridas pelos dados.
3.4.4 Ferramentas para ETL
Existem no mercado muitas ferramentas para realizar o ETL, cuja função principal é a
de extrair os dados de diversas fontes heterogêneas, transformarem esses dados a partir de
regras de negócios pré-definidas e a partir daí, realizar a carga em um DW ou Data Mart. A
maioria das fontes de onde os dados são extraídos são BDs relacionais, mas existem diversos
outros tipos de fontes e as ferramentas de ETL devem ser capazes de ler as informações.
As ferramentas mais usadas e mais poderosas existentes no mercado são o
PowerCenter da Informática e o DataStage da IBM. Ambas possuem como grande diferencial
a questão da portabilidade, não necessitam de um banco de dados especifico para funcionar,
pois podem acessar informações de bases heterogêneas. Um diferencial do PowerCenter é que
seu processamento pode ser em modo batch ou em tempo real devido sua estrutura.
O DataStage tem como principal característica a utilização do processamento em
paralelo o que otimiza a extração.
3.5
MODELOS MULTIDIMENSIONAIS
São técnicas de modelagem que auxiliam no ganho de performance nas consultas e
servem basicamente para consultas analíticas. Essa modelagem é feita a partir do
25
relacionamento entre a tabela fato, ou as tabelas fato, e as tabelas dimensões, possibilitando
assim varias combinações e visualizações dependendo das regras aplicadas e do modelo
utilizado.
Existem basicamente três tipos de modelos multidimensionais, o Estrela, o SnowFlake
e o Constelação de Fatos. A seguir iremos explicar melhor cada um dos modelos.
3.5.1 Tipos de Modelos Multidimensionais
a)
Modelo Estrela: É a estrutura básica da modelagem multidimensional, é constituído de
uma entidade que chamamos de fato e vários outros conjuntos de entidade que são chamadas
de dimensões. Colocando a entidade fato no centro e todas as entidades dimensão ao redor,
teremos um formato de estrela, daí vem à denominação para esse tipo de modelo.
Um ponto forte desse modelo é que as dimensões não são normalizadas, pois elas têm
ligação entre elas, mas todas se relacionam com o fato. A figura 3 mostra um exemplo de
modelo estrela.
Figura 3 – Modelo Estrela Fonte: Machado (2000)
26
b)
Modelo Snowflake: O modelo snowflake tem sua estrutura muito parecida com a do
modelo anterior, o que diferencia é a decomposição de uma ou mais dimensões fazendo com
que, além das pontas da estrela, tenhamos também ramificações dessas pontas gerando uma
hierarquia entre as dimensões. Dessa forma, podemos observar a existência de dimensões que
somente se relacionam entre si, não tendo ligação com o fato e tudo isso ocorre devido esse
modelo ser normalizado visando à diminuição do espaço ocupado e também, para não gerar
redundância dos dados conforme figura 4.
Figura 4 - Modelo Snowflake - Fonte: Rui Santos (2007)
c)
Constelação de Fatos: Diferentemente dos outros modelos vistos, no modelo
constelação de fatos existem vários fatos que compartilham das mesmas dimensões.
27
A figura 5 mostra um exemplo de constelação de fatos.
Figura 5 - Constelação de Fatos - Fonte: Alves (2009)
3.6
ESQUEMAS DINÂMICOS
A maioria dos BDs quando são criados, possuem uma estrutura definida a partir de
regras e levantamentos que são realizados na fase de projeto e, após sua fase de
implementação, são poucas as modificações que as estruturas das tabelas sofrem, pois uma
vez que seja visualizada a necessidade de modificar um campo em uma determinada tabela,
isso pode comprometer o funcionamento do BD.
O BD do e-Poupatempo tem um detalhe em particular, ele deve permitir que a
qualquer momento a equipe de gestores crie campanhas e que os mesmos possam definir
quais serão os campos dessa nova campanha e qual será o tipo de dado que cada coluna
deverá receber, isso faz com que exista a necessidade que a estrutura do banco seja flexível
para atender essa demanda.
Com os dados em mãos, os gestores necessitam de uma ferramenta que possibilite
analisar e gerar relatórios dessas campanhas, com isso o DW que será construído utilizará do
mesmo conceito de esquemas dinâmicos para possibilitar a geração desses relatórios sem a
intervenção da equipe de TI.
28
O esquema dinâmico é uma maneira, um método utilizado na modelagem para criar
estruturas/tabelas utilizando o conteúdo de outras tabelas. Quando a equipe do e-Poupatempo
decide criar uma nova campanha, é feito um levantamento de quais informações serão
necessárias para a criação da mesma e quais os tipos de dados serão levantados durante a
aplicação da campanha. Uma vez feito isso, cria-se a campanha, mas ao invés de criar uma
estrutura fixa no banco, que só poderá receber um determinado tipo de dado, essas
informações são armazenadas em outras tabelas, possibilitando a reutilização dessas
informações para a criação de outras campanhas (LOVING, 2008).
As campanhas são constituídas de perguntas e cada uma tem algumas opções de
respostas, quando uma campanha é criada, cada pergunta gera um registro em uma tabela e
cada possibilidade de resposta gera um registro em outra tabela, isso faz com que outras
campanhas possam ser criadas utilizando-se novas perguntas ou de perguntas já existentes,
basta que uma verificação seja feita na tabela correspondente e caso não haja nenhum registro
um novo é inserido e passa a ficar disponível para futuras campanhas que necessitem utilizarse da mesma. No capitulo 4 será definido o que é uma campanha bem como será dado um
exemplo de aplicação de esquemas dinâmicos para BDs.
3.8
TRABALHOS RELACIONADOS
Muitos trabalhos acadêmicos, relacionados com DW, tratam de problemas de diversos
tipos e em vários seguimentos. Abaixo serão apresentados três trabalhos de conclusão de
curso que desenvolveram aplicações utilizando tecnologia DW e no final mostra-se o
diferencial deste trabalho em relações aos anteriores.
1)
‘Data Warehouse como Instrumento de Suporte à Avaliação Acadêmica’
O objetivo foi o desenvolvimento de uma aplicação para ajudar no gerenciamento dos
dados gerados após a criação do Sistema Nacional de Avaliação da Educação Superior
(Sinaes). O Sinaes tinha por objetivo avaliar as instituições de ensino superior, os cursos e o
desempenho dos alunos que freqüentavam os mesmos. Os dados eram levantados por
comissões próprias que faziam sua auto-avaliação e por comissões externas, coordenadas por
docentes devidamente matriculados e cadastrados.
As informações levantadas alimentavam um banco de dados que possuía toda a
estrutura criada para receber os mesmos, mas, a partir desse ponto não existia nada
desenvolvido para poder avaliar os dados e poder utilizá-los como base para uma ação efetiva
29
nas tomadas de decisões. O que foi proposto no trabalho foi o desenvolvimento de uma
aplicação baseada em um DW para poder analisar e gerar relatórios a partir dos dados obtidos
nos levantamentos, mas, devido ao atraso na obtenção dos dados o trabalho ficou como
protótipo para futuros grupos que quisessem dar continuidade ao mesmo (FUJIWARA, 2006).
2)
‘Utilização de Ferramenta de Data Warehouse na Gestão de Informações do Governo
Eletrônico’
O objetivo foi o desenvolvimento de uma aplicação baseada em um DW para poder
disponibilizar aos gestores do e-Poupatempo uma ferramenta que auxiliasse na geração de
relatórios e no gerenciamento dos dados levantados em uma campanha, dados esses que
alimentavam um banco de dados.
Um dos problemas enfrentados pelo grupo foi à grande quantidade de dados
duplicados que faziam com que o DW não disponibilizasse informações precisas, com isso,
antes de alimentar o DW houve a necessidade de aplicação de regras de negócio para limpeza
dos dados para que assim a visualização pudesse ajudar os gestores (OLIVEIRA;
BITENCOURT; ANDRADE; CUSTODIO, 2008)
3)
‘Data Warehouse utilizando processamento paralelo em ambiente distribuído’
O objetivo do trabalho foi o de propor uma solução de DW distribuído para
implementação de um sistema de CRM para ser utilizado em ambientes bancários para que
assim o relacionamento com os clientes possam ser planejados e implementados.
Com o uso de uma aplicação distribuída e utilizando programação paralela, o autor
conseguiu provar no decorrer do trabalho que utilizando as duas tecnologias o ganho de
desempenho e a diminuição nos custos é um fator determinante para tal utilização
(RUGGIERO, 2007).
Comparando os três trabalhos apresentados com esse trabalho, a grande diferença é a
utilização de esquemas dinâmicos de BDs para solucionar o problema do e-Poupatempo. Em
todos os trabalhos mencionados, os BD’s que forneciam os dados para alimentar os DWs
tinham suas estruturas de tabelas definidas no momento da criação e raramente sofriam
modificações, com isso facilitou a modelagem e a construção do DW. Em contrapartida, a
equipe do e-Poupatempo necessita de uma estrutura flexível que possibilite a criação de
tabelas dinamicamente sem a intervenção da equipe de TI, isso só é possível por causa da
utilização de Esquemas Dinâmicos de BDs.
30
Cada campanha criada para atender uma demanda tem uma estrutura diferente das
demais, com campos diferentes e durante a criação das novas campanhas, que são constituídas
de perguntas e respostas pré-definidas, as informações utilizadas para criação dessas
perguntas serão armazenadas na tabela VARIAVEIS e as utilizadas para criação das respostas
serão armazenadas na tabela DOMINIO, isso faz com que uma busca seja realizada quando
uma nova campanha for criada e caso uma pergunta ou resposta seja igual a uma já utilizada
em campanhas anteriores, à mesma não será inserida na tabela e reutilizará o registro
existente.
Um dos grandes motivos para a elaboração desse trabalho é justamente disponibilizar
para a equipe do e-Poupatempo, uma aplicação baseado em DW que consiga disponibilizar os
relatórios gerados com base nos dados levantados nas campanhas, criadas a qualquer
momento pela equipe do e-Poupatempo, para uma analise e ajuda na tomada de decisões.
31
4
APRESENTAÇÃO DO ESTUDO DE CASO
Nesse capitulo será apresentado o que á uma campanha, como elas são criadas, para
que criadas, quais os tipos, será apresentado também um exemplo prático da aplicação do
conceito de esquemas dinâmicos passando pela parte de levantamento de requisitos e
finalizando com a modelagem de dados relacional.
4.1
CAMPANHAS
Campanhas são pesquisas criadas pelos gestores do e-Poupatempo, para serem
aplicadas pelos monitores nas salas de atendimento com o objetivo de avaliar os serviços que
são disponibilizados no portal do e-Poupatempo sejam eles novos ou que já existam e que
sofreram alguma modificação.
Cada campanha é criada com um foco diferente, a diferença entre as campanhas é
basicamente o objetivo. Enquanto uma campanha tem o objetivo de verificar se os descritivos
de cada campo dos formulários existentes na execução de determinado serviço são de fácil
entendimento para o usuário, outra campanha pode ter por objetivo saber se a disposição dos
elementos na tela permite que o usuário execute com facilidade aquele serviço.
Sempre que um serviço novo é criado, ou quando se percebe a necessidade de avaliar
algum serviço existente, cria-se uma ou mais campanhas buscando absorver de quem usa o
serviço, se ele é prático, se confunde o usuário em algum momento, enfim, se ele pode ser
melhorado e se está apto a ser utilizado por qualquer pessoa, independente dela estar na sala
do e-Poupatempo, em casa, em uma lan-house ou no trabalho.
As campanhas sempre têm o objetivo de avaliar os serviços, seja quanto à praticidade,
disponibilidade, interatividade, nível de burocracia, etc. Podemos visualizar as campanhas
como uma ferramenta que a gestão do e-poupatempo dispõe para melhorar os serviços
eletrônicos, lembrando que o objetivo maior é a disseminação do projeto Governo Eletrônico,
que num futuro próximo busca garantir que a maioria dos serviços executados pelo estado
estejam disponíveis em meio eletrônico.
Essas campanhas estão dividas em dois tipos: Campanhas de Fundo e Campanhas Especificas.
4.1.2 Campanha de Fundo
É uma campanha padrão, que analisa os atendimentos, orientações e insucessos nos serviços
32
executados. Essas pesquisas são aplicadas em todos os atendimentos feitos no e-Poupatempo.
A figura 6 mostra um modelo de planilha usado pelos monitores para a campanha de fundo,
essa planilha contém os dados que são coletados sempre que um atendimento é efetuado,
esses dados são constituídos das seguintes informações:
a)
Local: Qual posto está sendo efetuado o atendimento;
b)
Data: Data do atendimento;
c)
Atendente: Nome do atendente;
d)
Orientação: Qual foi o motivo da orientação (inclui se foi bem sucedido ou não o
atendimento)
e)
Retorno: Se é a primeira vez que o usuário está utilizando o e-Poupatempo
f)
Serviço: Qual o nome do serviço que o cidadão solicitou;
g)
Hora: Inicio e Fim do atendimento;
h)
Ajuda: Se o cidadão necessitou de ajuda durante o atendimento
Figura 6 - Planilha de Atendimento Campanha de Fundo - Fonte: e-Poupatempo (2009)
33
4.1.3 Campanhas Específicas
São campanhas criadas pelos gestores do e-Poupatempo e deferente das campanhas de
fundo para cada uma dessas, no momento da criação são definidas as variáveis e filtros que
posteriormente poderão ser utilizadas para criação dos relatórios e gráficos desejados. Essas
campanhas podem ser criadas para avaliação de um serviço ou perfil de cidadão específico. A
figura 7 mostra um modelo de planilha utilizado nas campanhas especificas. Nesse modelo,
além das informações que constam na planilha de campanha de fundo, existem varias outras
variáveis que podem ser utilizadas dependendo do serviço que está sendo avaliado.
Dentre algumas das informações coletadas nessa planilha, estão:
a)
Se o cidadão é analfabeto;
b)
Se o cidadão possui experiência computacional;
c)
Quais foram às dificuldades encontradas;
d)
Se o usuário acessa a internet com freqüência.
Figura 7 - Planilha de Atendimento Campanha Especifica - Fonte: e-Poupatempo (2009)
Atualmente, com a informatização dos postos do e-Poupatempo, os atendentes
possuem palm top para realizar o levantamento das informações, quando clicam na opção de
campanha de fundo as variáveis e domínios são disponibilizados automaticamente e quando
34
existe a necessidade de aplicar uma campanha especifica, os gestores criam a campanha e
apenas disponibilizam para aplicação nos postos.
4.2
EXEMPLO DE UTILIZAÇÃO DE ESQUEMAS DINÂMICOS
Durante o estudo de caso, foi constatada a necessidade de utilizar-se um conceito
diferente dos utilizados na maioria dos DW’s. Esse conceito, denominado ‘Esquemas
Dinâmicos’, conforme abordado no capitulo 3, refere-se à construção da estrutura da tabela
(colunas) utilizando-se do conteúdo de outras tabelas.
No e-Poupatempo, além das campanhas de fundo, que tem suas variáveis e domínios
pré-definidos, a equipe também criam campanhas especificas para poder avaliar novos
serviços ou serviços já existentes, disponibilizados no site e devido a isso, a cada criação há a
necessidade de se criar uma nova estrutura de tabela para poder comportar as variáveis e
domínios definidos pela equipe.
Nesse conceito, as colunas dessas novas campanhas são linhas na tabela VARIAVEL
e com isso, cada vez que uma nova campanha for criada, verifica-se a existência dessas
variáveis na tabela correspondente e caso não exista, um novo registro é inserido e a partir daí
pode ser reutilizada por outras campanhas. Da mesma maneira, os domínios das variáveis
também podem ser reutilizados, pois são linhas na tabela DOMINIO e da mesma forma,
quando uma nova campanha for definida, caso os dominós não existam, insere-se na tabela
correspondente e a partir daí, podem ser utilizados por outras campanhas.
Os dados utilizados para exemplificar o conceito de esquemas dinâmicos foram
cedidos pela equipe do e-Poupatempo. A figura 8 mostra as variáveis e domínio de três
campanhas especifica que foram aplicadas nas salas do e-Poupatempo sendo elas: 1 –
Usabilidade dos Serviços da Policia Civil; 2 – Navegação ACC e 3 – Opinião do Usuário de
B.E.O. Pode-se observar que as campanhas 1 e 2 , possuem variáveis e domínios iguais, com
isso, utilizando-se o conceito de esquemas dinâmicos, as variáveis e domínios são
reutilizados.
Definem-se variáveis como sendo as perguntas que serão avaliadas no decorrer da
pesquisa, um exemplo é a variável Preenchimento de Campos, para a mesma existem diversos
domínios, que no contexto referem-se às possíveis respostas à variável que está sendo
aplicada, um exemplo de domínio para a variável mencionada é ‘06 – Não Identificou o
Conteúdo Solicitado’.
Na figura 9, a relação dinâmica entre as tabelas Campanha, Variáveis e Domínio é
35
mostrada de forma mais clara, observa-se que das campanhas 1 e 2 existem relacionamentos
para as mesmas variáveis, no caso A e B. No relacionamento entre as variáveis e seus
domínios, todas as variáveis existentes compartilham do mesmo domínio, no caso o 00.
Figura 8 - Informação sobre as Campanhas Especifica - Fonte: O Autor (2009)
Figura 9 - Tabelas - Fonte: O autor (2009)
36
4.3
LEVANTAMENTO DE REQUISITOS
Durante as reuniões com a equipe do e-Poupatempo e utilizando como base os
documentos fornecidos pelos mesmos, foram identificadas as seguintes necessidades no que
diz respeito à geração de relatórios:
Gerar relatórios referentes ao total de:
a)
Atendimentos por local de atendimento;
b)
Atendimentos por período;
c)
Atendimentos por órgão;
d)
Atendimentos por serviço;
e)
Ajuda por serviço;
f)
Tempo médio de atendimento;
g)
Gerar relatórios referentes às campanhas específicas selecionando as variáveis que
forem criadas para as mesmas;
Estes requisitos levantados serão a base para construir o DW, e serão validados no
final da construção da solução.
4.4 MODELO DE DADOS RELACIONAL
O e-Poupatempo já possui uma estrutura de BDs onde são armazenados os dados
coletados das campanhas. Utilizamos essa estrutura como base e os requisitos levantados nas
reuniões com a equipe do e-Poupatempo, criamos uma nova estrutura simplificada e orientada
à construção do DW. Quando é decidida a construção de um DW para auxiliar nas tomadas de
decisões e para geração de relatórios existem alguns pontos que devem ser levados em
consideração para que nele conste apenas informações relevantes e que irão realmente ajudar
a empresa, nem todas as informações contidas em um BD devem ser carregadas em um DW,
caso essa etapa não seja muito bem definida, isso pode atrapalhar nos levantamento e isso
pode inviabilizar o uso da nova aplicação.
A etapa de levantamento de requisitos é muito importante, pois é a partir dela que são
levantadas as informações necessárias para a modelagem do BD relacional.
A figura 10 mostra o BD relacional que foi modelado a partir do banco que foi
fornecido pela equipe do e-Poupatempo.
37
Figura 10 - Banco de Dados Relacional Fonte: O autor (2009)
Durante um atendimento realizado nas salas do e-Poupatempo, todos os levantados são
armazenados em um palm para que posteriormente sejam carregados no banco de dados para
poderem ser analisados e utilizados para tomadas de decisões no que diz respeito à melhoria
dos serviços disponibilizados no site e acessados nas salas ou na própria casa do cidadão.
Cada atendente enquanto realiza um atendimento, verifica alguns requisitos que fazem
parte da campanha de fundo e quando existe a necessidade de se avaliar um determinado tipo
de serviço, cria-se uma campanha especifica com variáveis pré-definidas pelos gestores.
As campanhas em sua maioria não são aplicadas para um perfil definido, todo usuário
que é atendido tem seus êxitos, dificuldades, dúvidas, enfim, todo o atendimento armazenado,
mas existem algumas campanhas que necessitam ser aplicadas em um determinado tipo de
usuário, com isso ela é direcionada a um tipo de Persona que nada mais é que um perfil prédefinido pelos gestores. Todo atendimento está relacionado a um serviço que por sua vez está
relacionado a um órgão, como por exemplo, o DETRAN, IIRGD, SSP, etc., e todo órgão está
relacionado diretamente a uma esfera que pode ser Federal, Estadual ou Municipal.
38
5 MODELAGEM DO DATA WAREHOUSE
Na modelagem do DW, o principal aspecto foi o de atender as regras de negócio e os
requisitos levantados, procurando sempre implementar da melhor maneira possível a solução
que o usuário solicitou.
Após uma análise preliminar, foi identificado que haveria dois Fatos (Atendimento e
Resposta), dessa forma foi adotada uma fusão entre o modelo Estrela (constelação de fatos) e
o modelo Snowflake, onde temos dois fatos e suas dimensões ligadas a eles e ligadas entre si,
conforme figura 11 visando à diminuição do espaço ocupado e a não geração de redundância
nos dados.
A tabela 2 contém as informações sobre as tabelas fato, sobre as tabelas dimensões e
as medidas, incluindo ao que corresponde cada uma.
Figura 11- Modelagem Data Warehouse Fonte: O autor (2009)
39
Tabela 2 - Tabela Fato, Dimensão e Medidas – Fonte: O autor (2009)
40
6
IMPLEMENTAÇÃO DA SOLUÇÃO
Para a construção do cubo, foram utilizadas duas ferramentas do SQL SERVER 2008,
sendo o SQL Server Management Studio para a criação do banco de dados relacional que dá
início ao cubo, e o SQL Server Business Intelligence Development Studio para a efetiva
construção do cubo.
No SQL Server Management Studio foi criada a estrutura apresentada na figura 11 e
após a criação foi feita a carga das informações nessa estrutura utilizando os comandos SQL
listados nos Anexo 1. Foi utilizado como Datasource o banco de dados do sistema
transacional de colheita de dados do e-Poupatempo previamente populado pelos atendentes do
e-poupatempo.
A database ‘BDEPOUPATEMPO’
foi criada a partir da modelagem
demonstrada na figura 14, e
carregada a partir do banco de
dados transacional ‘DBSEMEP’
disponibilizado pelo e-Poupatempo
Figura 12 – Criação do Banco de Dados – Fonte: O autor (2009)
41
No SQL Server Business Intelligence Development Studio foi criado um projeto
intitulado ‘OLAP_BDEPOUPATEMPO’ para possibilitar a construção do cubo.
Primeiramente é necessário criar um DataSource, a fim de identificar de onde virão os
dados e a estrutura das tabelas que serão utilizadas no cubo. A figura 13 demonstra a criação
do DataSource “BDEPOUPATEMPO”, esse DataSource utiliza os dados e a estrutura do
banco de dados “BDEPOUPATEMPO” demonstrado na figura 12.
Figura 13 – Criação do DataSource “BDEPOUPATEMPO” – Fonte: O autor (2009)
O próximo passo é a criação de um DataSource View, onde será possível visualizar a
estrutura que será utilizada na construção do cubo e os relacionamentos entre suas tabelas. A
figura 14 demonstra a criação do DataSource View “BDEPOUPATEMPO” a partir do
DataSource “BDEPOUPATEMPO”
42
Figura 14 – Criação do DataSource View “BDEPOUPATEMPO” – Fonte: O autor (2009)
Após criar o Datasource View já é possível visualizar o relacionamento entre as
tabelas que formarão o cubo, conforme mostra a figura 15:
Figura 15 – Visualização do DataSource View – Fonte: O autor (2009)
43
Nesse ponto, já está definida a estrutura a ser utilizada para construção do cubo,
porém, ainda não foram identificadas no schema as tabelas fato, as tabelas dimensão e as
medidas.
Como todos esses pontos já foram discutidos na modelagem do DW, basta aplicar
esses conceitos na construção do cubo.
Para criar o cubo é necessário identificar as tabelas fato, onde estarão localizadas as
medidas. Obedecendo as regras da modelagem, selecionamos as tabelas “Atendimento” e
“Reposta”, como sendo as tabelas fato conforme figura 16.
Figura 16 – Selecionando as tabelas Fato – Fonte: O autor (2009)
Selecionadas as tabelas fato, devemos agora identificar as tabelas que formarão as
dimensões do cubo. A figura 17 demonstra esse procedimento.
Figura 17 – Selecionando as dimensões – Fonte: O autor (2009)
44
Após esse procedimento o cubo encontra-se criado e já é possível visualizar as tabelas
fato e as dimensões, assim como as três medidas que previmos para esse cubo, conforme
mostra a figura 18.
Figura 18 – Estrutura do Cubo – Fonte: O autor (2009)
As medidas “QtdRespostas”, “QtdAtendimento” e “TmpMedioAtend” foram
identificadas mas, ainda é necessário identificar a lógica utilizada para que essas medidas
tragam os resultados esperados, que nesse caso é mostrar a quantidade de registros nas tabelas
fato que estão relacionados com as dimensões do cubo ou a média de tempo gasto em cada
atendimento, para isso, é preciso selecionar a opção “Count of rows” no parâmetro “Usage”
para as medidas que utilizam a quantidade de registros como parâmetro e a opção “Average
over Time” para as medidas que utilizam a média de tempo. A figura 19 demonstra essa
intervenção na medida “QtdResposta”, mas, vale lembrar que o mesmo procedimento foi feito
nas três medidas.
45
Figura 19 – Editando as medidas – Fonte: O autor (2009)
As dimensões criadas pela ferramenta também precisam ser tratadas, pois o atributo
identificador das dimensões inicialmente é a chave das tabelas que deram origem a elas, mas,
no momento de analisar os resultados gerados pelo cubo será necessário utilizar atributos
conhecidos pelos usuários. A figura 20 demonstra esse tratamento na dimensão “Domínio”
(tratamento posteriormente feito em todas as outras dimensões), onde selecionamos o atributo
“DominioDesc” para compor a lista de atributos dessa dimensão. Após o cubo ter sido
processado será possível utilizar esse atributo para analisar os resultados.
Figura 20 – Adicionando atributos às dimensões – Fonte: O autor (2009)
46
A dimensão “Tempo” foi criada para guardar a informação de dia, mês, ano e tempo
médio de atendimento, então, esses atributos precisam ser identificados para que o
processamento do cubo consiga identificar a dimensão de tempo utilizada no DW conforme
figura 21.
Figura 21 – Tratando a dimensão de tempo – Fonte: O autor (2009)
Nesse ponto já podemos processar o cubo, como mostra a figura 22.
Figura 22 – Processando o Cubo – Fonte: O autor (2009)
47
Após o processamento, o próprio SQL Server Business Intelligence Development
Studio disponibiliza uma opção denominada Browser para visualização dos resultados do
processo, porém, como essa opção é bastante limitada em relação aos objetivos dessa
modelagem, a figura 23 apenas demonstra uma possibilidade de análise de resultado, onde foi
selecionada a dimensão “Atendente” e associamos a essa dimensão a medida
“QtdAtendimento”, para que fosse possível visualizar o total de atendimentos por atendente
cadastrado no sistema.
Figura 23 – Analisando os resultados – Fonte: O autor (2009)
48
7
ANÁLISE DOS RESULTADOS
Todas as atividades desenvolvidas na implementação do DW tinham como objetivo
principal disponibilizar uma ferramenta onde os próprios usuários pudessem construir seus
relatórios. Através do modelo construído isto foi possível.
Conforme o levantamento dos requisitos realizado com os usuários, ao final do
desenvolvimento deveriam ser gerados alguns relatórios. Para isto, foi utilizada a conexão
entre o Microsoft EXCELL e o Analysis Services. A figura 24 mostra uma visão da interface
do Excel onde é iniciada a configuração da conexão selecionando o menu ‘Data’ e depois o
submenu “From Other Sources”, após a seleção do submenu uma lista de configurações é
apresentada conforme a figura 25 e a opção escolhida foi “From Analysis Services”.
Após a seleção, uma nova janela se abre e nela configuramos a conexão conforme
figura 26. No campo Server Name foi colocado o nome da conexão que foi criada no Analysis
Services denominada LUIZ-8AE37A3E9B. Após clicar em Next uma nova janela se abre,
conforme figura 27, onde são apresentadas as opções de escolha do BD que será utilizado e do
Cubo que foi gerado. Na janela seguinte é apresentada a opção para nomear o arquivo de
conexão que será criado, conforme figura 28. Após criar o arquivo, uma nova janela aparece
para que seja selecionada a opção de relatórios conforme figura 29 e que são dividas em três
tipos: Relatórios, Relatórios e Gráficos e Criar apenas conexão com o DB. Para os requisitos
levantados durante as reuniões com a equipe do e-Poupatempo foi verificado que deveriam
ser disponibilizados para o usuário final os relatórios e os gráficos.
Figura 24 – Tela inicial do Microsoft Excel – Fonte: O Autor (2009)
49
Figura 25 – Opções do submenu – Fonte: O Autor (2009)
Figura 26 – Configuração da Conexão com Analysis Services – Fonte: O Autor (2009)
Figura 27 – Tela de seleção do BD e do Cubo – Fonte: O Autor (2009)
50
Figura 28 – Nomeando o Arquivo de Conexão – Fonte: O Autor (2009)
Figura 29 – Tipos de conexão – Fonte: O Autor (2009)
A seguir, das figuras 30 a 36, são exibidos os resultados das consultas que foram
disponibilizadas após a criação da conexão e conforme os requisitos levantados nas reuniões
com a equipe do e-Poupatempo.
51
a)
Gerar
relatórios
referentes
ao
total
de
atendimentos
por
atendimento
Figura 30 - Total de Atendimentos por Local – Fonte: O Autor (2009)
b)
Gerar relatórios referentes ao total de atendimentos por período
Figura 31 - Total de Atendimentos por Periodo – Fonte: O Autor (2009)
c)
Gerar relatórios referentes ao total de atendimentos por órgão
Figura 32 – Total de Atendimentos por Órgão – Fonte: O Autor (2009)
local
de
52
d)
Gerar relatórios referentes ao total de atendimentos por serviço
Figura 33 - Total de Atendimentos por Serviço – Fonte: O Autor (2009)
e)
Gerar relatórios referentes às campanhas específicas selecionando as variáveis que
forem criadas para as mesmas
Figura 34- Campanhas Especificas – Fonte: O Autor (2009)
f)
Gerar relatórios referentes ao total de ajuda por serviço
Figura 35 - Total de Ajuda por Serviço – Fonte: O Autor (2009)
53
g)
Gerar relatórios por tempo médio de atendimento por serviço
Figura 36 - Tempo Médio por Serviço – Fonte: O Autor (2009)
54
8
CONCLUSÕES E TRABALHOS FUTUROS
Trabalhos relacionados à assuntos como Governo Eletrônico ou Data Warehouse
serviram de referência para esse estudo, porém, com o desafio de trabalhar com algo
diferente. Aliar esses dois temas com a utilização de esquemas dinâmicos de banco de dados
proporcionou um aprendizado deveras interessante.
Além das preocupações em entender temas já conhecidos e amplamente estudados, foi
necessário conhecer a fundo os esquemas dinâmicos para que posteriormente fosse possível
utilizar esse novo conceito de modelagem, ainda pouco utilizado pelo mercado em relação aos
demais tópicos que fizeram parte do trabalho.
Passou-se por todas as etapas do desenvolvimento do projeto sempre com a obrigação
de pensar como aquilo tudo se encaixaria com a modelagem dinâmica. Por um lado estavam
os requisitos que influenciam a utilizar esse tipo de modelagem, e de outro, estava toda a
fundamentação teórica de construção de data warehouse, onde jamais encontrou-se qualquer
referência quanto a junção do projeto comum de construção de um DW com a necessidade de
utilização de esquemas dinâmicos.
Concluí-se que é possível aliar uma modelagem robusta e inteligente com uma
modelagem flexível e suscetível a mudanças, criando um ambiente onde será possível
minimizar as intervenções da área de TI na utilização da ferramenta, mesmo quando a
exigência no negócio passar por alterações e os resultados sejam diferentes dos inicialmente
propostos.
A utilização do Excel na visualização dos dados do cubo torna essa ferramenta
altamente utilizável por pessoas com pouco conhecimento técnico, já que não é necessário ter
contato com a estrutura em baixo nível do cubo para geração dos relatórios. A utilização do
Excel ainda permite maior nível de entendimento dos dados analisados, já que torna-se
possível a geração de um gráfico para cada relatório.
Sugere-se como trabalhos futuros o estudo de viabilidade da mineração de dados
(Data Mining) em estruturas de DW. Interessante também seria estudar a implementar uma
ferramenta ETL que fosse tão flexível quanto a estrutura do DW, para que fosse possível
carregar dados com qualidade, sem que seja necessário alterar nenhuma etapa do processo de
ETL.
55
REFERÊNCIAS BIBLIOGRÁFICAS
ALVES,
Marcos.
Modelagem
Multidimensional.
2007.
Disponível
em:
<http://servidor3.fes.br/disciplinas/tpd/tabd/Modelagem_Multidimensional.pdf>. Acesso em:
15 jun. 2009.
CONHEÇA o Gov.br Disponível em: <http://www.governoeletronico.gov.br/o-gov.br>.
Acesso em: 04 maio 2009.
CÔRTES, Sérgio; AZEVEDO, Hugo Leonardo C.. Data Mining - Conceitos, Técnicas,
Ferramentas
e
Aplicações.
2009.
Disponível
em:
<http://www.cce.puc-
rio.br/informatica/dataminingcentro.htm>. Acesso em: 19 abr. 2009.
DAVIS JUNIOR, Clodoveu A.; LAENDER, Alderto H. F.. Extensões ao Modelo OMT-G
para Produção de Esquemas Dinâmicos e de Apresentação. 2000. Disponível em:
<http://www.dpi.inpe.br/geopro/referencias/davis_geoinfo.pdf>. Acesso em: 20 jun. 2009.
E-POUPATEMPO,
Portal.
Portal
e-Poupatempo.
2006.
Disponível
em:
<http://www.poupatempo.sp.gov.br/e-poupatempo/>. Acesso em: 01 jun. 2009.
FUJIWARA, Daniel Kenji. Data Warehouse como Instrumento de Suporte à Avaliação
Acadêmica.
Brasília,
2006.
Disponível
<http://monografias.cic.unb.br/dspace/bitstream/123456789/41/1/Monografia.pdf>.
em:
Acesso
em: 03 nov. 2009.
GALANTE, Renata de Matos. Gerenciamento Dinâmico de Evolução de Esquemas
usando
o
TVM.
2002.
Disponível
em:
<http://www.lbd.dcc.ufmg.br:8080/colecoes/wtdbd/2002/003.pdf>. Acesso em: 29 set. 2009.
GONÇALVES, Marcio. Extração De Dados Para Data Warehouse. São Paulo: Axcel
Books Editora, 2007. 160 p.
KIMBALL, Ralph. The Data Warehouse Toolkit. s.l. : John Wiley & Sons, 2000.
INMON, W. H.; Managing the Data Warehouse. Jonh Wiley & Sons, 1997.
56
LOVING, Linwood Earl; SCHAEFER, Donald Eugene. Dynamic Data Discovery of a
Source Data Schema and Mapping to a Target Data Schema. 2008. Disponível em:
<http://www.faqs.org/patents/app/20080320012>. Acesso em: 01 set. 2009.
MACHADO, Felipe Nery Rodrigues. Tecnologia E Projeto De Data Warehouse. 4. ed. São
Paulo: Érica Lmtd, 2008. 318 p.
MUNIZ, Vander Emiro. ETL: Quais as ferramentas mais poderosas do mercado? 2007.
Disponível em: <http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=6727>.
Acesso em: 02 jun. 2009.
NARDI, Alexandre Ricardo. Fundamentos e Modelagem de Bancos de Dados
Multidimensionais.
2007.
Disponível
em:
<http://msdn.microsoft.com/pt-
br/library/cc518031.aspx>. Acesso em: 25 maio 2009.
NAVARRO, Maria Cristina de Araújo. O que é DW? 1996. Disponível em:
<http://www.serpro.gov.br/imprensa/publicacoes/tematec/1996/ttec27>. Acesso em: 16 abr.
2009.
OLIVEIRA, André Luiz de; BITENCOURT, Anderson; ANDRADE, Marcio C. B.;
CUSTODIO, Riberton Nicolau. Utilização de Ferramenta de Data Warehouse na Gestão
de Informações do Governo Eletrônico. 2008. Trabalho de Conclusão de Curso (Graduação
em Sistema de Informação) - Uniersidade Anhembi Morumbi, São Paulo, 2008.
ÖZSU, M. Tamer. Axiomatization of dynamic schema evolution in object bases. 1995.
Disponível em: <http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=380397>. Acesso
em: 01 set. 2009.
PARIS, Riliane Alpoim. A Tecnologia de DW nas Organizações. 2007. Disponível em:
<http://www.devmedia.com.br/articles/viewcomp.asp?comp=5939>. Acesso em: 18 abr.
2009.
RIBEIRO, Sheila Maria Reis. Governo eletrônico : um novo paradigma de gestão das
políticas
públicas.
2000.
Disponível
em:
57
<www.iij.derecho.ucr.ac.cr/archivos/documentacion/inv%20otras%20entidades/CLAD/CLA
D%20VI/documentos/ribeishe.doc>. Acesso em: 02 maio 2009.
RUGGIERO JúNIOR, Waldemar. Data Warehouse utilizando processamento paralelo em
ambiente
distribuído.
2007.
Disponível
em:
<http://www.teses.usp.br/teses/disponiveis/3/3141/tde-09012008-093830/>. Acesso em: 12
nov. 2009.
SANTOS,
Rui.
Modelos
Dimensionais.
2007.
Disponível
em:
<http://siadmoments.blogspot.com/2007/09/modelos-dimensionais.html>. Acesso em: 13 jun.
2009.
TRONCHIN, Valsoir. Análise, Modelagem e Implementação de DW’s – São Paulo:
Fenasoft/98 em 20/07/98
WIRTHMANN.
Extração,
Transformação
e
Carga.
Disponível
em:
<http://www.infobras.com.br/portugues/produtos_conceito_etl.asp>. Acesso em: 18 abr.
2009.
58
ANEXO I - CARGA DOS DADOS PARA O SCHEMA “BDEPOUPATEMPO”
Carga de dados da tabela “Esfera”:
insert into [bdepoupatempo].[dbo].esfera (idesfera, esferanome, esferadesc)
select intEsferaId , strEsferaNome , strEsferaDescricao
from [DBSEMEP].[dbo].tblEsfera
Carga de dados da tabela “Orgao”:
insert into [bdepoupatempo].[dbo].orgao (idorgao, idesfera, orgaoNome)
select intOrgaoId , intEsferaId, strNomeCompleto
from [DBSEMEP].[dbo].tblOrgao
Carga de dados da tabela “Servico”:
insert into [bdepoupatempo].[dbo].servico (idservico, idorgao, serviconome)
select intServicoId , intOrgaoId , strServicoNome
from [DBSEMEP].[dbo].tblServico
Carga de dados da tabela “Tempo”:
insert into [bdepoupatempo].[dbo].tempo (idTempo, Ano, Mes, Dia, TmpMedio)
select idAtendimento, DATEPART(YEAR,DataHoraIni) Ano,
DATEPART(MONTH,DataHoraIni) Mes, DATEPART(DAY,DataHoraIni) Dia,
DATEDIFF(minute,datahoraini,datahorafim) TmpMedio
from [BDEPOUPATEMPO].[dbo].[Atendimento]
Carga de dados da tabela “Atendente”:
insert into [bdepoupatempo].[dbo].atendente (idatendente, NomeAtend, Email,
tipousuario)
select intUsuarioId , strNomeUsuario , strEmail , strTipoUsuarioNome
from [DBSEMEP].[dbo].tblUsuario usu,
[DBSEMEP].[dbo].tblTipoUsuario tipo
where usu.intTipoUsuarioId = tipo.intTipoUsuarioId
Carga de dados da tabela “Posto”:
insert into [bdepoupatempo].[dbo].posto (idposto, postonome, postolocal)
select intPostoId , strPostoNome , strCidadeNome
from [DBSEMEP].[dbo].tblPosto posto,
[DBSEMEP].[dbo].tblLocalizacao loca,
[DBSEMEP].[dbo].tblCidade cida
where posto.intLocalizacaoId = loca.intLocalizacaoId
and cida.intCidadeId = loca.intCidadeId
Carga de dados da tabela “Variavel”:
insert into [bdepoupatempo].[dbo].variavel (idVariavel, VariavelNome,
TipoResposta)
select intVariavelId, strLabelVariavel, strTipoResposta
from [DBSEMEP].[dbo].tblVariavel vari
Carga de dados da tabela “Campanha”:
insert into [bdepoupatempo].[dbo].Campanha (idCampanha, CampanhaNome,
CampanhaDesc, CampanhaStatus, DataIni, DataFim)
select intCampanhaId, strCampanhaNome, strCampanhaDescricao, strStatus,
datDataInicio, datDataFim
from [DBSEMEP].[dbo].tblCampanha
Carga de dados da tabela “Dominio”:
insert into [bdepoupatempo].[dbo].Dominio (idDominio, Sequencia, DominioDesc)
select intDominioId, intSequenciaDominio, strLabelDominio
from [DBSEMEP].[dbo].tblDominio
59
Carga de dados da tabela “Resposta”:
insert into [bdepoupatempo].[dbo].resposta (idResposta, idatendimento,
idcampanha, iddominio, idvariavel)
select intRespostaId , intAtendimentoId , intCampanhaId , intDominioId ,
intVariavelId
from [DBSEMEP].[dbo].tblResposta
where intAtendimentoId is not null
and intDominioId is not null
Carga de dados da tabela “Atendimento”:
insert into [BDEPOUPATEMPO].[dbo].atendimento(idatendimento,
idservico, idatendente, idposto, idtempo, datahoraini, datahorafim)
select atend.intAtendimentoId , atend.intServicoId , atend.intUsuarioId ,
posto.intPostoId, atend.intAtendimentoId, atend.datHoraInicio ,
atend.datHoraFim
from [DBSEMEP].[dbo].tblatendimento atend,
[DBSEMEP].[dbo].tblUsuario usu,
[DBSEMEP].[dbo].tblLocal loca,
[DBSEMEP].[dbo].tblPosto posto
where atend.intUsuarioId = usu.intUsuarioId
and usu.intLocalId = loca.intLocalId
and isnull(loca.intPostoId, loca.intMovelId ) = posto.intPostoId
Download

UNIVERSIDADE ANHEMBI MORUMBI LUIS CARLOS PESSOTO