“Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional...

73
Universidade Federal de Santa Catarina “Aplicação OLAP com Visualização Cartográfica” Miguel Soares Nuno Santos Florianópolis – SC 2007

Transcript of “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional...

Page 1: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Universidade Federal de Santa Catarina

“Aplicação OLAP com Visualização Cartográfica”

Miguel Soares

Nuno Santos

Florianópolis – SC

2007

Page 2: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Índice

Índice..................................................................................................................2 Indice de Figuras ................................................................................................3 Resumo ..............................................................................................................4 Abstract ..............................................................................................................5 1. Introdução ...................................................................................................6 2. Conceitos Base ...........................................................................................7 2.1. Data Warehouse ..................................................................................7 2.1.1. Elementos básicos de um Data Warehouse: ................................8 2.1.2. Características de um Data Warehouse:.....................................11 2.1.3. Modelos de uma Base de Dados: ...............................................13 2.1.4. Tipos de Modelos Dimensionais: ................................................15

2.2. OLAP..................................................................................................19 2.2.1. Classificação das ferramentas OLAP .............................................22 2.2.1.1. Multidimensional OLAP (MOLAP): ..........................................22 2.2.1.2. Relational OLAP (ROLAP):......................................................22 2.2.1.3. Hybrid OLAP(HOLAP): ............................................................22

2.2.2. Servidor OLAP – SQL Server 2005 ................................................24 2.3. Linguagens de comunicação com servidores.....................................25 2.3.1. XML – eXtensible Markup Language ..........................................25 2.3.2. XMLA – XML for Analysis............................................................27 2.3.3. MDX – Multidimensional Expressions .........................................29

2.4. GIS .....................................................................................................32 Técnicas usadas no GIS ...........................................................................32

3. Análise das ferramentas GIS.....................................................................36 3.1. Microsoft MapPoint 2006 North America............................................36 3.2. MapWindow........................................................................................37 3.3. ArcGIS Explorer .................................................................................38 3.4. AvisMap GIS Engine ..........................................................................39 3.5. Quantum GIS .....................................................................................40 3.6. Comparativo .......................................................................................41

4. Arquitectura proposta ................................................................................42 5. Implementação..........................................................................................48 5.1. SQL Server 2005................................................................................48 5.2. MapWindow........................................................................................56 5.2.1. Gerar mapas ...............................................................................57 5.2.2. Servir mapas ...............................................................................59

6. Trabalhos relacionados .............................................................................60 7. Conclusões e trabalhos futuros .................................................................61 Referências bibliográficas.................................................................................63 Anexo I .............................................................................................................67 Anexo II – Glossário .........................................................................................69 Anexo III – Acrónimos.......................................................................................73

Page 3: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Indice de Figuras

Ilustração 1 - Representação Gráfica de um Data WareHouse..........................8 Ilustração 2 - Número de Meta-Dados num Sistema Operacional e num Data WareHouse.......................................................................................................11 Ilustração 3 - Representação Gráfica de Cubo Multi-Dimensional ...................15 Ilustração 4 - Representação Gráfica do Modelo Star Scheme........................16 Ilustração 5 - Representação gráfica do modelo Snow Flake...........................17 Ilustração 6 - visão multidimensional dos dados, através de um cubo .............23 Ilustração 7 - SQL Server 2005 Developer Edition ...........................................24 Ilustração 8 - Exemplo de uma Representação Matricial..................................33 Ilustração 9 - Exemplo de uma representação vectorial ...................................34 Ilustração 10 - Arquitectura Geral de GIS.........................................................35 Ilustração 11 - Tabela comparativa de Ferramentas GIS .................................41 Ilustração 12 - Arquitectura do OLAP ...............................................................43 Ilustração 13 - Arquitectura do GIS...................................................................44 Ilustração 14 - Arquitectura integrada...............................................................46 Ilustração 15 - Esquema de dados ...................................................................50 Ilustração 16 - Resultado de uma query por estado .........................................67

Page 4: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Resumo

Este documento estuda a integração de bancos de dados multidimensionais

com ferramentas geográficas em ambiente Web. Este estudo acompanha a

tendência global de criação de ferramentas que melhorem o nível e qualidade

de análise de Data Warehouses por parte do analista.

O que se pretende neste trabalho é maximizar o potencial analítico de

dados em bancos multidimensionais através da geração de mapas que

permitam a visualização geográfica da mesma informação.

A ferramenta de BI utilizada foi o Microsoft SQL Server 2005 enquanto na

área de geração de mapas recorreu-se ao GIS MapWindow.

Page 5: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Abstract

This document studies the integration of multidimensional databases with

geographic tools in a Web environment. This study follows the global trend of

creating tools that improve the level and quality of analysis of Data Warehouses

by the analyst.

This work is about maximizing the potential of analytical data in

multidimensional banks through the generation of maps which allow the viewing

of the same geographical information.

The BI tool used was Microsoft SQL Server 2005 while in the area of

generating maps we used the MapWindow GIS.

Page 6: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

1. Introdução

Este trabalho aborda a temática da integração OLAP e GIS para se

conseguir mostrar informação de uma forma geográfica, mais visual e de

percepção mais fácil.

Este projecto teve duas partes distintas: o desenvolvimento de visualização

online do cubo e geração de mapas através de queries OLAP. O protótipo

desenvolvido resulta de uma pesquisa de ferramentas de BI e de GIS que

apesar de fazerem parte de aplicativos diferentes são indispensáveis para o

funcionamento do projecto como um todo.

O Data Warehouse que serviu como base do nosso trabalho foi criado no

desenvolvimento de um trabalho de conclusão de curso na UFSC[17]. Como os

dados do dataWarehouse referem-se ao território brasileiro, os mapas foram

retirados do Instituto Brasileiro de Geografia e Estatística (IBGE)[27], no

formato ESRI shapefile.

Este documento inicia-se com uma breve descrição dos fundamentos

básicos para a percepção do trabalho (Capítulo 2), discute-se posteriormente

as ferramentas GIS analisadas e qual a nossa escolha no capítulo 3. Com as

ferramentas escolhidas apresentamos a arquitectura no capítulo 4, seguido da

discussão dos detalhes da implementação (Capítulo 5). Este documento

termina com o capítulo de trabalhos relacionados e conclusões e trabalhos

futuros (Capítulos 6 e 7 respectivamente).

Page 7: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2. Conceitos Base

2.1. Data Warehouse

O Data Warehouse é um armazém de dados, uma infra-estrutura que

possui uma arquitectura que permite integrar os dados da empresa de forma a

ter uma visão, histórica e não volátil, da empresa.

Conjunto de bases de dados integradas, desenhadas para auxiliar o

sistema de apoio à tomada de decisão da organização. Os dados são

predominantemente históricos, atómicos e levemente resumidos.

Serve como um repositório de dados para muitos tipos de informação de

negócio oriunda de muitas fontes. A informação destas fontes é transferida

para o DW para ser de acesso mais fácil, depois é indexada e combinada para

um acesso mais rápido. [13][14][15][16]

Page 8: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.1.1. Elementos básicos de um Data Warehouse:

Ilustração 1 - Representação Gráfica de um Data WareHouse

Na figura acima estão representados os elementos básicos de um DW, um

armazém de dados é constituído por 3 componentes. A componente de Back

end, a de Front End e a componente de Meta-Dados.

A componente de Back End,é constituída por:

• SourceSystems (Sistemas Fontes): São também chamados Sistemas de

Informação Operacionais. Tratam-se de sistemas de informação que

numa empresa ou organização servem para registar os acontecimentos

do dia-a-dia do negócio. Estes Sistemas fontes tem como características

terem uma alta disponibilidade ou seja estão operacionais e disponíveis

Page 9: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

24 horas por dia, tem uma boa performance transaccional (inserts,

updates, deletes) apresentam um bom desempenho na execução da

alteração dos dados, têm os seus queries quase sempre “estreitos” ou

previstos, ou seja poucos registos de cada vez( consegue dados sobre

um cliente e uma encomenda mas nunca de todos os clientes e as suas

encomendas) e por fim têm queries pré programados (são quase

sempre iguais às necessidades do utilizador).Estes sistemas funcionam

isolados uns dos outros na empresa, podendo por vezes gerar

redundância ou volatilidade nos dados.

• Data Staging Área: Área de retenção, prepara os dados para serem

carregados no data Warehouse. Não se fazem queries a estes dados. A

informação pode ser guardada em base de dados ou ficheiros. Esta é a

camada que transporta os dados dos sistemas operacionais para o data

Warehouse, depois destes passarem por um processo de transformação

que se chama ETL. Através de uma analogia pode-se considerar esta

área uma cozinha onde os dados impróprios para consumo são

transformados para tendo em vista o bom consumo do utilizador.

ETL – As ferramentas de ETL têm como função agregar informação de

várias fontes e produzir informação integra e de qualidade, ou seja, sem erros,

sem duplicações, sem omissões e sem diversificações. Desta forma começa-se

por ser feita a extracção dos dados, seguindo-se a transformação que se divide

em duas fases, limpeza e conciliação dos dados, e por fim é feito o

carregamento na DW, colocando os dados num modelo dimensional.[17]

Page 10: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Presentation Server: Trata-se de uma máquina física onde os dados do

data Warehouse são organizados e guardados para o querying directo por

parte dos utilizadores finais, para relatórios e outras aplicações.

Componente de Front-End:

Aplicações End-User: Trata-se do conjunto de ferramentas que executam

queries, analisam e apresentam a informação procurada de forma a suportar as

necessidades do negócio exemplo dessas ferramentas são o Ad Hoc, Query

Tool e o Data Mining.

Componente de Meta Dados:

Os Meta Dados: São considerados como sendo "os dados dos dados" ou

dados sobre os sistemas que operam com estes dados, ou seja, não serve

para descrever o conteúdo mas sim o contexto da informação. São portanto um

directório para ajudar o analista de DSS a localizar os dados num DW, um guia

para o manuseamento de dados, como os dados são transformados do

ambiente operacional para o ambiente de DW, é também um guia para os

algoritmos usados para sumariar entre os dados detalhados actuais, os dados

ligeiramente resumidos e os dados altamente resumidos.

Page 11: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 2 - Número de Meta-Dados num Sistema Operacional e num Data WareHouse

Nesta figura é possível verificar a diferença que existe no número de meta-

dados num sistema operacional ou seja num sistema fonte e num armazém de

dados, como se pode verificar existem muito mais meta-dados no DW que num

sistema operacional.

2.1.2. Características de um Data Warehouse:

Um sistema de DW possui quatro características básicas que são: é

organizado por temas, é integrado, é variante no tempo e não é volátil.

Organizado por Temas:

Um DW é organizado por temas, este armazena informações consoante o

assunto da informação e importância que este tem para o negócio da empresa.

Alguns exemplos de temas utilizados em projectos deste tipo são: produtos,

actividades, conta, clientes, etc.

Page 12: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Integrado:

O DW é integrado porque consegue uniformizar todos os conceitos dos

valores das tabelas e outras aplicações default, de modo a que todos os

valores da base de dados sejam homogéneos. (exemplo pode ser com o sexo

do cliente enquanto numa área o funcionário coloca o sexo feminino com a

conotação “F” noutra Área o funcionário pode colocar o sexo com a conotação

“Feminino” fazendo com que haja dois tipos de conceitos uma vez no DW isso

já não acontece, pois ele consegue evitar essas situações).

Variante:

Os dados contidos num DW são temporais, ou seja, referem-se a períodos

de tempo bem definidos, e isto auxilia na análise e na confirmação de

acontecimentos sazonais dentro de uma determinada actividade ou ramo de

negócio.

Não Volátil:

Um sistema de DW deve permitir apenas uma carga inicial dos dados e

posteriormente deve permitir aos utilizadores a consulta desses mesmos. Esta

característica é conhecida por "load-and-access". Os dados integrados e

transformados são carregados para o DW na forma de blocos de informações,

ficando assim à disposição dos utilizadores do sistema. Já no ambiente

operacional temos uma situação diferente: os dados são actualizados de forma

atómica, registo a registo.

Page 13: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.1.3. Modelos de uma Base de Dados:

Quando se constrói uma base de dados pode se utilizar diferentes tipos de

modelos como são o caso do modelo relacional, do modelo hierárquico, do

modelo de rede e do modelo dimensional. No caso do nosso projecto vamos

utilizar o modelo Dimensional, assim fizemos uma breve descrição deste

modelo, dando uma menor importância aos outros que optámos apenas por

referir.

Modelo Dimensional

O modelo dimensional é uma técnica de modelagem de dados usado na

construção de uma base de dados de um data Warehouse. Esta técnica

permite que as informações se relacionem de forma que possa ser

representada como um cubo. Sendo assim podemos partir este cubo e

aprofundar cada uma das dimensões, este modelo relaciona as tabelas de

factos com as tabelas de dimensões, esta modelagem é realizada de forma a

ganhar uma melhor performance nas consultas, este modelo visa apenas

consultas analíticas.

O modelo dimensional permite visualizar dados abstractos de forma simples

e relacionar informações de diferentes sectores da empresa de forma muito

eficaz, o que o torna numa ferramenta muito poderosa. [18][19][20]

Page 14: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

O modelo dimensional é constituído por quatro atributos:

- Facto representa o objecto que queremos analisar e

que representa o negócio. A quantidade de factos é

que determina o modelo a usar.

- Dimensões de análise dos factos (onde? Quem?

quando?)

- Métricas (Como é que eu vou medir os factos. Os

factos têm de ser mensuráveis) [valor, quantidade]

- Hierarquia: Organizar a informação (A hierarquia do

tempo é sempre usada).

O que torna o Data Warehouse uma ferramenta muito poderosa é a

capacidade que este tem de reunir informações que se situam em várias fontes

espalhadas por todos os sectores da empresa, e reuni-las num só banco de

dados de forma dimensional, conseguindo colocar toda a informação de uma

forma homogénea e consequentemente colocando as informações unificadas e

padronizadas num só local.

Page 15: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 3 - Representação Gráfica de Cubo Multi-Dimensional

2.1.4. Tipos de Modelos Dimensionais:

2.1.4.1. O Modelo Estrela (Star Schema):

O principal tipo de modelo dimensional, é o chamado modelo Star (Estrela),

onde existe uma tabela dominante no centro, chamada tabela de facto, com

múltiplas junções conectando-a a outras tabelas, sendo estas chamadas de

tabelas de dimensão. Cada uma das tabelas secundárias possui apenas uma

junção com a tabela central. O modelo Estrela, ilustrado na Figura abaixo, tem

a vantagem de ser simples e intuitivo, mas também faz uso da indexação e

união de tabelas.

As tabelas de factos contêm milhares ou milhões de valores e medidas do

negócio da empresa, como transações de vendas ou compras. Cada uma

destas medidas tem uma dimensão relacionada. Os factos mais úteis são

numéricos e aditivos, já que estes facilitam a geração do conjunto de

Page 16: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

respostas. Uma outra característica é o facto desta tabela não armazenar

zeros.

As tabelas de dimensão armazenam as descrições das dimensões do

negócio. Cada uma dessas descrições ajuda a definir um componente da

respectiva dimensão. Uma das principais funções dos atributos de tabelas de

dimensão é servir como fonte para restrições em uma consulta ou como

cabeçalhos de linha no conjunto de resposta do utilizador.

Ilustração 4 - Representação Gráfica do Modelo Star Scheme

2.1.4.2. O modelo Floco de Neve (Snow Flake):

No modelo Floco de Neve as tabelas dimensionais relacionam-se com a

tabela de fatos, mas algumas dimensões relacionam-se apenas entre elas, isto

ocorre para fins de normalização das tabelas dimensionais, visando diminuir o

espaço ocupado por estas tabelas.

Page 17: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

No modelo Floco existem tabelas de dimensões auxiliares que normalizam

as tabelas de dimensões principais. Na figura abaixo podemos verificar essas

tabelas são (Ano, Mês e Dia) que normalizam a Dimensão Tempo, (Categoria,

Departamento e Marca) que normalizam a Dimensão Produto e a tabela Meio

que normaliza a Dimensão Promoção.

Construindo a base de dados desta forma, passamos a utilizar mais tabelas

para representar as mesmas dimensões, mas ocupando um espaço em disco

menor do que o modelo estrela. Este modelo chama-se floco de neve, pois

cada dimensão se divide em vaias outras tabelas, onde organizadas de certa

forma lembra um floco de neve.

Ilustração 5 - Representação gráfica do modelo Snow Flake

Page 18: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Comparação entre os dois modelos:

O Modelo Floco (Snow Flake) reduz o espaço de armazenamento dos

dados dimensionais mas acrescenta várias tabelas ao modelo, deixando-o

mais complexo, tornando mais difícil a navegação pelos softwares que

utilizarão o banco de dados. Um outro factor é que mais tabelas serão

utilizadas para executar uma consulta, então mais JOINS de instrução SQL

serão feitos, tornando o acesso aos dados mais lento do que no modelo

estrela.

O Modelo em Estrela (Star Schema) é mais simples e mais fácil de

navegação pelos softwares, porém desperdiça espaço repetindo as mesmas

descrições ao longo de toda a tabela, porém análises feitas mostram que o

ganho de espaço normalizando este esquema resulta em um ganho menor que

1% do espaço total no banco de dados, sendo assim existem outros factores

mais importantes para serem avaliados para redução do espaço em disco

como a adição de agregados e alteração na granularidade dos dados, estes

temas serão abordados em colunas posteriormente.

Assim concluímos que um modelo estrela é mais adequado pois fornece um

acesso mas rápido aos dados e mais fácil de se navegar, criando tabelas

auxiliares para dimensões somente para dimensões especificas quando for

estritamente necessário ou quando demonstrar um beneficio que justifique a

perda de desempenho nas consultas, que também não é tão grande

dependendo da forma que estas tabelas são construídas e a quantidade de

registros que elas contiverem.

Page 19: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.2. OLAP

OLAP – Online Analytical Processing é uma ferramenta de BI que permite

ao utilizador analisar informação que foi resumida em varias perspectivas no

cubo multidimensional. Com o OLAP um utilizador terá a possibilidade de fazer

Drill Down (descer na hierarquia do cubo e ter uma analise mais especifica),

Drill Cross (faz com que duas ou mais tabelas de facto que compartilham

dimensões sejam combinadas num único relatório). [3]

O Grande componente do OLAP é o seu servidor no nosso projecto iremos

utilizar um servidor de OLAP chamado SQL Server 2005, que é o elemento

responsável por fazer a ligação entre o cliente e o SGBD (Sistema de gestão

de Base de Dados), isto é possível porque o servidor OLAP sabe como é que

os dados estão organizados na base de dados e tem umas aplicações que

possibilitam essa sua analise. Em modo de conclusão podemos afirmar que o

servidor OLAP faz de ponte entre o cliente e a base de dados. [4][7]

Kimbal realizou estudos sobre as funcionalidades específicas que todas

as ferramentas OLAP deveriam ter e listou essas caracteristicas, apresentadas

abaixo:

• Visibilidade: a ferramenta deverá apresentar de forma clara e, se

possível,em uma mesma tela, as dimensões, as restrições sobre essas

dimensões e as tabelas de fatos disponíveis para análise. As edições

realizadas no relatório pelo usuário também devem ser facilmente visualizadas

por ele apenas com poucos cliques de mouse.

Page 20: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

• Browse/Navegação: a ferramenta deve permitir ao usuário “navegar” de

forma intuitiva pelos dados e deve fazê-lo compreender e explorar as

dimensões disponíveis.

• Valores nulos: refere-se à maneira como a ferramenta trata a ausência de

valor numa determinada coluna, seja colocando espaços em branco ou alguma

mensagem como, por exemplo, “não aplicável”.

• Interface de ajuda: a ferramenta deve se preocupar não só em apresentar

sua documentação e explicação detalhada das funções disponíveis e como

executá-las, mas também ter um “repositório” ou dicionário dos dados com

explicações feitas na terminologia do negócio.

• Comparações Pré-definidas: alguns tipos de comparação devem estar

sempre disponíveis, tais como, diferença numérica, diferença percentual,

proporção, fator de crescimento durante N períodos de tempo e outras.

• Drill-Down, Drill-Across: Drill down e drill across são recursos fundamentais

para uma análise efetiva por parte do usuário. Fazer um drilldown significa

obter mais informações sobre os dados que estão sendo apresentados, seja

descendo numa hierarquia ou adicionando dimensões que complementem a

análise dos dados. Drill-across é fazer com que duas ou mais tabelas de fato

que compartilham dimensões sejam combinadas num único relatório.

Page 21: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

• Manipulação de exceções: está relacionado à capacidade da ferramenta de

proporcionar alertas ou marcadores para itens excepcionais, limitar o relatório

apenas às linhas com valores nulos, determinar faixas de valores numéricos ou

percentuais, demarcar limites superior e inferior, etc.

• Interação com agregados: a ferramenta deve saber gerenciar valores

agregados pré-armazenados de forma que, quando da navegação do usuário

pelos dados, principalmente usando drill-down, o fato de o dado ser pré-

armazenado ou não seja transparente.

• Análise/Restrições de Comportamento: capacidade da ferramenta de

rastrear um determinado comportamento de forma a utilizar essa informação

em outro relatório (Exemplo: isolar um grupo especial de clientes para utilizá-lo

num relatório mais complexo).

• Rotacionamento/Visualização: cabeçalhos de linhas e colunas devem poder

ser misturados em combinações arbitrárias fazendo com que os dados do

relatório sejam reorganizados de uma forma que tenha mais sentido para o

usuário. Além disso, a ferramenta deve ter disponíveis vários modos de

apresentação tais como planilhas, gráficos, matrizes, etc.

• Operação Batch: refere-se à possibilidade de agendar o processamento de

consultas já definidas, principalmente se o tempo de resposta destas for

demorado.

Page 22: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.2.1. Classificação das ferramentas OLAP

Podemos classificar as ferramentas OLAP quanto a sua forma de acesso aos

dados, as suas principais características estão enumeradas em baixo:

2.2.1.1. Multidimensional OLAP (MOLAP):

O MOLAP permite fazer transacções dos dados nas diferentes perspectivas

multidimensionais do cubo. Os dados num cubo estão organizados numa dada

estrutura e graças a esta tecnologia vai permitir ao utilizador percorrer todo

cubo dando lhe a possibilidade de retirar a informação que deseja. [17]

2.2.1.2. Relational OLAP (ROLAP):

As ferramentas de OLAP relacionais conseguem extrair dados das tabelas

de base de dados que utilizam um modelo relacional, ROLAP é normalmente

usado em dados que tenham uma grande quantidade de atributos, onde é

complicado coloca-los num cubo. [17]

2.2.1.3. Hybrid OLAP(HOLAP):

Hybrid Olap é uma tecnologia que combina as vantagens do MOLAP e do

ROLAP, permite assim guardar parte dos dados em ROLAP e a outra parte em

MOLAP conseguindo assim combinar as potencialidades dos dois modelos.

[17]

Page 23: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 6 - visão multidimensional dos dados, através de um cubo

Como visto acima, toda ferramenta OLAP provê uma visão multidimensional

dos dados, com isso podemos imaginar que os dados estão alocados em um

cubo pré-calculado que contém todas as respostas possíveis para um

eterminado âmbito, onde a ferramenta OLAP irá percorrer de acordo com a

visão que o usuário solicitar.

Para melhor entendimento de um cubo OLAP devemos primeiramente

entender seus principais componentes, descritos abaixo:

Dimensões: São o topo ou as mais altas categorias de um cubo. Contêm

subcategorias conhecidas como níveis ou medidas. Uma dimensão pode ter

múltiplas hierarquias e pode ser usada em vários cubos. Um cubo pode ter

até 64 dimensões.

Hierarquia: Uma dimensão pode ser categorizada com diferentes

hierarquias.

Níveis: São categorias para organização dentro da dimensão. Níveis são

hierárquicos, e cada nível descendente é um componente do nível acima. Por

Page 24: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

exemplo, a dimensão tempo pode conter os seguintes níveis: Ano,

Trimestre, Mês, Semana e Dia.

Membro: É um componente de um nível e é análogo a um valor deste

nível. Por exemplo, o nível Ano tem os membros “2005”, “2006”, etc...

2.2.2. Servidor OLAP – SQL Server 2005

Ilustração 7 - SQL Server 2005 Developer Edition

“Ideal Choice for Independent Software Vendors, Consultants, System

Integrators, Solution Providers, and Corporate Developers”

Hoje em dia cada vez mais as empresas tem uma grande necessidade de

informação de qualidade, assim é necessário uma ferramenta que tenha uma

excelente performance, que seja flexível e que seja de confiança, para alem de

tudo isto que seja ao mesmo tempo fácil de utilizar e de a manter. A

Ferramenta SQL Server excede todas as expectativas nestes pontos pois

consegue entregar ao utilizador final informação de confiança e de qualidade.

Page 25: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Assim neste projecto optámos por utilizar o como servidor OLAP, o SQL

Server 2005 “Developer Edition”. É um servidor que permite ao utilizador

construir e testar qualquer aplicação SQL em plataformas de 32 bits, ia64 e

x64. Esta versão inclui todas as funcionalidades das edições anteriores, mas

tem uma licença que apenas funciona para o desenvolvimento de aplicações,

testes e utilização dessas mesmas aplicações como demo mas pode ser

facilmente up-grated para uma versão que permita um maior número opções,

como é o caso da “entreprise edition”. [6]

2.3. Linguagens de comunicação com servidores

2.3.1. XML – eXtensible Markup Language

XML é a abreviação de EXtensible Markup Language (Linguagem

extensível de formatação). Trata-se de uma linguagem que é considerada uma

grande evolução na Internet.

O XML é uma especificação técnica desenvolvida pela W3C (World Wide

Web Consortium – entidade responsável pela definição da área gráfica da

internet), para superar as limitações do HTML, que é o padrão das páginas da

Web.

A linguagem XML é definida como o formato universal para dados

estruturados na Web. Esses dados consistem em tabelas, desenhos,

parâmetros de configuração, etc. A linguagem então trata de definir regras que

Page 26: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

permitem escrever esses documentos de forma que sejam adequadamente

visíveis ao computador. [8]

Objectivos do XML:

1. Separação do conteúdo da formatação

2. Simplicidade e legibilidade, tanto para humanos quanto para

computadores

3. Possibilidade de criação de tags sem limitação

4. Criação de arquivos para validação de estrutura

5. Interligação de bancos de dados distintos

6. Concentração na estrutura da informação, e não na sua informação

O XML é considerado um bom formato para a criação de documentos com

dados organizados de forma hierárquica, como se vê frequentemente em

documentos de texto formatados, imagens vectoriais ou bancos de dados.[9]

Exemplo de uma tag em XML, no exemplo abaixo iremos descrever um

Curriculum Vitae:

Codigo XML descrevendo um Curriculum Vitae:

Page 27: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.3.2. XMLA – XML for Analysis

O XMLA é uma API (Application Programming Interface) standart que

funciona através de SOAP (Simple Object Access Protocol), para a troca de

dados multi-dimensionais entre um cliente e um servidor, independente de

plataforma e linguagem.

A principal razão para a aceitação desta linguagem como standart deve-se

ao facto de estar suportada pelos principais fabricantes de ferramentas de BI e

mais especificamente de OLAP, com a excepção da ORACLE que não suporta

a utilização desta linguagem no seu sistema. Esta linguagem funciona através

de Web Services, que permitem que o XMLA aceda a multiplas fontes de

dados multi-dimensionais e forneça-os a vários tipos de clientes sem qualquer

custo adicional.[10]

<?xml version="1.0" encoding="UTF-8"?>

<curriculo> <InformacaoPessoal>

<DataNascimento>02-04-88</DataNascimento> <Nomecompleto>Leonardo da Silva

Machado</Nomecompleto> <Contatos>

<Morada>R.Caratinga, 112,Anchieta, Brasil</Morada> <Telefone>97446182</Telefone> <CorreioEletronico>leodsm01@gmail</CorreioEletronico

> </Contatos> <Nacionalidade>brasileiro</Nacionalidade> <Sexo>M</Sexo>

</InformacaoPessoal> </currículo>

Page 28: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.3.2.1. Métodos

O protocolo XMLA possui dois métodos que utilizam o protocolo SOAP:

• Discover – Obtém informação e metadados de um Web Service.

Este método permite especificar o que se está à procura, as

restrições e as propriedades. Tem como resultado um conjunto

de linhas.

• Execute – Este método é utilizado para enviar pedidos de acções

ao servidor, no qual está incluído transferência de dados (retirar e

colocar dados no servidor)

Em baixo iremos mostrar um exemplo de XMLA, neste caso especifico o

cliente envia um Discover para pedir a lista de cubos da Data Warehouse da

empresa “Adventures Work”.

Page 29: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.3.3. MDX – Multidimensional Expressions

MDX é uma linguagem que é usada para manipular dados

multidimensionais (no caso do no projecto nós iremos utilizar esta linguagem

no Microsoft SQL Server2005 Analysis Server). Esta linguagem é baseada no

XMLA mas tem algumas especificações do SQL. É uma linguagem muito rica e

poderosa para a manipulação de dados utiliza expressões compostas por

identificadores, valores, funções e operadores de modo a conseguir retornar o

<Discover xmlns=”urn:schemas-microsoft-com:xml-analysis”>

<RequestType>MDSCHEMA_CUBES</RequestType>

<Restrictions>

<RestrictionsList>

<CATALOG_NAME>Adventure Works DW

</CATALOG_NAME>

</RestrictionsList>

</Restrictions>

<Properties>

<PropertiesList>

<Catalog> Adventure Works DW </catalog>

<Format> Tabular </Format>

</PropertiesList>

</Properties>

</Discover>

Page 30: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

objecto do cubo. MDX é a linguagem mais comum para se fazerem consultas

OLAP, permite:

• Retornar dados;

• Formatar os resultados da query;

• Fazer tarefas como: calcular o número de membros de um determinado

data set, agrupar elementos por indicadores de performance (KPI);

• Efectuar tarefas administrativas.

A sintaxe do MDX é muito semelhante ao SQL que é tipicamente usado em

base de dados relacionais, contudo o MDX não é uma extensão do SQL é

muito diferente em muitos aspectos pois este permite controlar estruturas de

dados ou seja DDL (Data Definition Language). [11][12][13]

A sintaxe mais básica e mais comum do MDX são comandos como:

1. Select: Selecciona quais os campos que o utilizador deseja visualizar.

2. From: Selecciona de que tabelas é que o utilizador vai visualizar.

3. Where: Limita a query do utilizador de acordo com o solicitado.

Page 31: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Em abaixo iremos mostrar um exemplo de uma query em MDX, que

retorna um result set com todas as vendas que ocorreram nos Estados unidos,

mais concretamente na Califórnia nos anos de 2002 e 2003.

SELECT

{ [Measures].[Store Sales] } ON COLUMNS,

{ [Date].[2002], [Date].[2003] } ON ROWS

FROM Sales

WHERE ( [Store].[USA].[CA] )

Page 32: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

2.4. GIS

Um Sistema de Informação Geográfica é um sistema de informação

espacial e procedimentos computacionais, que permite capturar, analisar e

gerir dados que têm uma perspectiva espacial, ou seja capaz de mostrar dados

sobre uma referência geográfica. A informação do GIS pode ser usada para os

mais diversos propósitos tais como investigação cientifica, gestão de recursos,

planeamento urbano, catástrofes naturais, para concluir é uma ferramenta com

muita utilidade nos dias de hoje. [21][22]

Técnicas usadas no GIS

Criação de Dados

As tecnologias de GIS mais modernas usam informação digital, assim

existem diferentes métodos de criação de dados. A técnica mais comum de

criação de dados e a digitalização, por exemplo copias de mapas são

digitalizados e passados para computador através de um programa chamado

CAD (Computer Aided Design).

Representação de dados:

Dados de GIS representam objectos reais (ruas, terras, elevações). Os

objectos são divididos em 2 abstracções: Objectos discretos (ex.: uma casa) ou

objectos contínuos (ex.:chuva). Existem duas maneiras de representar estes

objectos por Matriz e por Vector.

Page 33: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Matriz:

Os dados pela forma matricial consistem num conjunto de linhas e colunas

de células em que dentro de cada célula esta guardado um único valor, o valor

em cada uma das células vai representar o respectivo objecto, esse valor pode

ser um variável discreta que nesse caso poderia representar um pedaço de

terra, ou então poderia ser uma variável contínua que nesse caso poderia

representar a chuva. Imagens de rasteio podem ser armazenadas em

diferentes tipos como JPEG ou TIF.

Ilustração 8 - Exemplo de uma Representação Matricial

Vector:

Dados representados por vectores usam a geometria para representar o

espaço geográfico como por exemplo pontos, linhas, polígonos para

representar objectos, estes dados também podem representar objectos

contínuos ou discretos.

Page 34: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 9 - Exemplo de uma representação vectorial

Vantagens e Desvantagens

Existem uma série de vantagens e desvantagens por usar o método

matricial ou de vector para representar a realidade. Nos dados por matriz é

necessário ter um valor para todos os pontos na área que nos interessa

representar o que pode significar necessitar de um maior espaço para

armazenamento, apesar de se tornar mais fácil para implementar do que por

vector. Com vector a imagem fica com uma maior noção de profundidade e

com uma maior precisão do que com rasteio. O método vectorial é mais

compatível com uma base de dados relacional.

Page 35: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Arquitectura de um GIS

De modo geral a arquitetura de um sistema de informações geográficas

deve ter os seguintes componentes:

a) interface com usuário;

b) entrada e integração de dados;

c) consulta e análise espacial;

d) visualização e plotagem;

e) armazenamento e recuperação de dados sob a forma de um banco de

dados geográficos.

A Ilustração 10mostra como estes componentes formam uma hierarquia.

Ilustração 10 - Arquitectura Geral de GIS

Page 36: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

3. Análise das ferramentas GIS

3.1. Microsoft MapPoint 2006 North America

Esta versão da aplicação destina-se principalmente para utilizadores da

América do Norte, pois as suas totais capacidades estão somente disponíveis

nessa área Geográfica. Além desta hipotese existiam outras duas dentro da

família de produtos MapPoint:

• Microsoft MapPoint 2006 Europe Edition – Mesmas funções que a

aplicação estudada, mas virada fundamentalmente para o

território europeu

• Microsoft MapPoint WebService – serviço Web suportado pela

Microsoft que possui informação detalhada sobre o Brasil.

Necessita de licença para aceder ao servidor e

consequentemente ao serviço.

A opção pelo estudo da aplicação indicada deveu-se ao facto de esta ser a

única ferramenta da família MapPoint disponível sem a necessidade de haver

qualquer dispendio financeiro.

Esta foi uma opção estudada aprofundadamente pois foi a ferramenta em

que inicialmente aplicámos os nossos esforços relativamente à demonstração

geográfica. As funcionalidades da aplicação eram promissoras, pois a

existência de um add-in que realizava queries OLAP directamente ao

DataWarehouse e outro que permitia a importação de ficheiros com extensão

.shp auxiliariam na execução do que nos foi proposto.

Page 37: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

O API disponibilizado pelos dois add-ins acima mencionados caracteriza-se

pela falta de documentação e poucas funcionalidades facultadas ao

programador, aliadas à escassez de tempo impossibilitaram a continuidade do

projecto na ferramenta MapPoint, pelo que foi necessário procurar novas

abordagens à solução do problema proposto.

Qualquer uma das soluções acima descritas possui licença comercial, pelo

que é necessário efectuar pagamento para poder utilizar este software sem ser

por tempo limitado.

Após o estudo efectuado nesta ferramenta, fica clara a ideia que esta é

bastante apropriada para problemas de criação de rotas, geração de gráficos

distribuidos geográficamente e funcionalidades de GPS dentro da área

geográfica a que diz respeito.

3.2. MapWindow

Esta é uma solução de GIS open source e gratuita que se caracteriza por

ser extensível, pois permite que qualquer pessoa consiga adicionar

funcionalidades à aplicação.

Esta solução apresenta três produtos distintos:

• MapWindow Application – aplicação desktop que permite a

visualização espacial de dados.

• ActiveX control – este componente é um objecto programável que

pode ser embutido numa janela aplicativa. Possui um API que

permite o acesso a dados de polígonos, tabelas e imagens. Pelas

Page 38: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

características atrás descritas este componente torna-se bastante

poderoso pois permite a criação de um GIS à medida das

necessidades do utilizador.

• Plug-ins – é possivel acrescentar funcionalidades à aplicação

desktop MapWindow.

A sua principal vantagem é possuir um controlo activeX programável que

pode ser facilmente embutido em qualquer aplicação, a par das capacidades

que o seu API permite ao programador.

Outra característica bastante positiva para o desenvolvimento deste

projecto é o facto de ser gratuito e permitir um suporte bastante interessante

para iniciantes.

A nossa escolha recaiu sobre esta ferramenta pois considerámos que as

características do componente activeX desta aplicação permitiria-nos a

manipulação dos dados conforme os requisitos do nosso projecto.

3.3. ArcGIS Explorer

Esta aplicação é um visualizador de informação geográfica muito eficaz,

pois permite a visualização dos dados de diversas formas, devido às muitas

funcionalidades que possui.

Além das funcionalidades vulgares dos GIS comuns, o ArcGIS Explorer

permite juntar dados locais com dados recolhidos existentes em servidores da

ESRI e de parceiros e analisar geograficamente dados, quer estáticos quer

através de tarefas (procuras de locais, modelação, análise de visibilidade).

Permite também receber dados provenientes de WebServices.

Page 39: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ao nível de aplicação desktop, este é um visualizador GIS que se pode

adaptar às necessidades do utilizador, pois permite a personalização da

aplicação.

Possui um SDK disponível, quer permite a criação de tarefas existentes e

novas para a aplicação, no entanto este é complexo e não possui foruns de

ajuda e documentos suficientes para que esta hipótese fosse estudada mais

seriamente.

3.4. AvisMap GIS Engine

O AvisMap GIS Engine é uma plataforma de desenvolvimento de GIS que

se baseia em controlos activeX. As aplicações criadas nesta plataforma

permitem que as suas distribuições possam ser instaladas nas máquinas dos

clientes sem que estes possuam o GIS Engine.

Esta plataforma possui bastantes capacidades, e deve ser analisada muito

sériamente se se pretender implementar um GIS mais complexo e que requeira

funcionalidades abaixo descritas:

• Visualização e edição de mapas complexos – com

manuseamento de elementos 3D, projecção dinamica, conversor

de dados vectoriais para matriciais e vice-versa, entre outras

funcionalidades;

• Criação de mapas temáticos – organizados por valores, por

segmentos, por simbolos, onde é possível visualizar gráficos 3D

para uma melhor percepção dos dados envolvidos;

Page 40: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

• Análise e processamente topológico – permite que seja feita a

remoção de dados redundantes, nomeadamente vertices, linhas e

polígonos, assim como juntar nós adjacentes e construir

polígonos;

• Funções de análise espaciais – modelação 3D, operações

algébricas matriciais, de análise hidrológicas, entre outras;

Esta ferramenta possui bastantes funcionalidades, que vão auxiliar o

desenvolvimento de um GIS mais complexo do que aquele que é necessário

para a concretização deste projecto.

O principal aspecto contra é o facto de ser necessário efectuar pagamento

para possuir uma licença de utilização do software, pelo que neste contexto

torna muito dificil a realização deste projecto sobre esta ferramenta.

3.5. Quantum GIS

O Quantum GIS é um GIS de código aberto extensível e flexível, o que

significa que se podem criar plug-ins para adicionar à aplicação e também

possibilita a costumização desta através da programação de novas ou tarefas

mais especializadas.

Esta aplicação, de base não possui nenhuma capacidade diferenciadora

dos comuns GIS, no entanto consegue ser bastante abrangente pois suporta

inúmeros tipos de formato de dados para análise geográfica.

O Quantum GIS é mantido e actualizado por programadores voluntários de

todo o mundo, fazendo com que o suporte e mecanismos de ajuda à aplicação

sejam melhores que muitas aplicações livres existentes.

Page 41: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Apesar das funcionalidades base não se distinguirem dos GIS de software

livre comuns, a sua extensibilidade e plug-ins já disponíveis faz com que esta

se torne numa ferramenta a ter em conta no desenvolvimento de um GIS.

3.6. Comparativo

Ilustração 11 - Tabela comparativa de Ferramentas GIS

Page 42: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

4. Arquitectura proposta

Neste capitulo iremos apresentar uma arquitectura possivél para integrar

um servidor OLAP e um Servidor GIS, iremos falar individualmente primeiro da

integraçado do servidor OLAP depois do Servidor GIS e finalmente como

integrar os dois servidores.

Estrutura do OLAP

Como visto anteriormente a interacção de um cliente com o servidor

OLAP é feita por meio de uma requisição do cliente, através de uma consulta

MDX. A resposta do servidor é feita através de um arquivo XMLA, que

comunica através do protocolo SOAP, que por sua vez utiliza o protocolo HTTP

para realizar a comunicação.

Como podemos observar na figura a arquitetura OLAP mais comumente

utilizada pode ser dividida em três estruturas:

1. SGBD, onde encontramos o banco de dados transacional e o data

warehouse, gerado a partir do processo de ETL Extract,Transform e

o Load dos dados, da BD transacional para a Camada de Dados;

2. Servidor OLAP. Camada de processamento;

3. Servidor de Interface OLAP. Camada de interface;

Page 43: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 12 - Arquitectura do OLAP

Estrutura do GIS

Uma arquitectura tíıpica de GIS tem no mínimo duas estruturas: Um GIS

e o repositório de dados GIS. Lembrando que esse GIS pode assumir várias

formas, desde aplicações desktop a servidores web.Os dados desse GIS

podem estar tanto em formato vectorial quanto matricial, integrados em uma

única base ou separados em vários arquivos.

Na figura abaixo podemos perceber claramente esta arquitetura, o

servidor de mapas buscando informações no repositório de dados e enviando-

os aos usuários.

Page 44: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 13 - Arquitectura do GIS

Page 45: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Arquitetura Gerada

Analisando os padrões e protocolos utilizados pelo servidor OLAP

podemos notar que a comunicação é feita via serviços web. Sendo assim, não

seria problema nenhum para o servidor de interface realizar mais uma

chamada, mas desta vez ao GIS, se este se mostrar na forma de um servidor.

Iremos agora demonstar como é que se vai dar o fluxo de informação

nesta arquitectura, esse fluxo encontra se demonstrado na figura abaixo:

Page 46: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 14 - Arquitectura integrada

Assim, podemos definir uma sequência de eventos para gerar um mapa

relativo à pesquisa no OLAP:

1. Interação do usuário com a interface, selecionando um drill-down de alguma

dimensão;

2. O servidor de interface solicita ao servidor OLAP o drill-down a ser

executado, através de um comando MDX;

Page 47: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

3. Ao receber o MDX, o servidor OLAP realiza as consultas necess´arias no

DW, retornando os dados dessa visão do cubo em XMLA;

4. Ao receber o XMLA, o servidor de interface vai gerar a visualização dos

dados. E também faz uma requisição ao servidor de mapas, enviando este

arquivo XMLA, juntamente com o foco desejado.

5. O servidor de mapas por sua vez, explora o arquivo XMLA, recolhendo as

informações necessárias para a geração do mapa.

6. Com os dados recolhidos, o servidor de mapas associa-os com os

respectivos dados geográficos, gerando o mapa, que é enviado ao servidor de

interface;

7. Por fim o servidor de interface devolve o mapa gerado ao utilizador com as

as informaçoes por este solcitada.

Page 48: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

5. Implementação

5.1. SQL Server 2005

Os dados utilizados para a realização deste projecto são

provenientes das fichas de inscrição do vestibular da UFSC do ano

de 2006. Pelo o que pudemos apurar serão apenas considerados

os candidatos que realizaram todas as provas, ou seja que não

faltaram a nenhum dia de prova.

Esta ficha de inscrição do candidato contém informações

relacionadas com questões socio-económicos e demográficas, tais

como raça, estado civil, idade, sexo, etc. A tabela curso tem

informações de qual o nome do curso, a area escolhida e qual e o

centro a que esse curso está associado por fim temos uma tabela

chamada disciplinaprova, esta tabela tem informações sobre as

disciplinas de cada area.

O Data Warehouse que iremos utilizar foi desenvolvido por

Felipe Shigunov no seu trabalho de conclusão de curso, então nós

Page 49: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

iremos aproveitar o trabalho por ele realiazado e aplicá-lo ao nosso

projecto.

Para a geração de um Data Warehouse, os dados devem passar

por um processo de ETL(extract,transform , load) isto devido aos

dados virem de diversas fontes, para não correr o risco de haver

redundancia nos dados este e um processo fundamental.

O processo de ETL realizado por felipe Shigunov foi feito por

meio de uma aplicação escrita em java com SQL embutido via

JDBC.Uma consulta SQL à base de dados da comissão

Permanentedos Vestibular (COPERVE), retorna todos os campos

desejados para DW.

Então é feita a carga total das tabelas localizadas em um banco

de dados MySQL que constitui o repositório de dados da DW, de

acordo com o esquema ilustrado na figra abaixo

Page 50: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Ilustração 15 - Esquema de dados

Agora com o DW pronto o próximo passo é instalar o nosso

servidor OLAP, a ferramenta escolhida para este serviço foi SQL

Server 2005 uma ferramenta de BI da Microsoft. Sendo uma

ferramenta da Microsoft ñao se obtém gratuitamente então para

conseguirmos ter acesso a esta aplicação foi necessário utilizar a

licenca que a universidade tem com a microsoft. O SQL Server

possui um conjunto de ferramentas que facilitam a implementação

de soluções para apoios a decisões, tem uma grande flexiblidade e

Page 51: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

uma grande segurança, possui um servidor e uma interface OLAP,

e possivel efectuar Data Mining e a geração de relatórios.

A instalação foi bastante simples e quase automatica, visto

que nos neste projecto utilizamos na maioria programas da

Microsoft então não tivemos grandes problemas de adpatação ou

de conflito entre os varios programas. Fomos a pagina da nossa

universidade de Lisboa o ISCTE (http://msdnaa.dcti.iscte.pt) e

fizemos o download do SQL Server. Corremos o programa e

tinhamos o Servidor na nossa máquina.

No projectos de BI o SQL Server possui uma ferramenta

chamada Analysis Service esta ferramenta é de uma utilidade muito

grande, foi com ela que criamos o cubo.

Criamos um projecto Analysis Service, esta ferramenta tem um

conjunto de wizards que ajudam a criar o cubo.

O processo de criação do cubo pode ser explicado em 4 passos:

1. Criar a Data Source do Cubo ou seja neste passo temos de

identicar a fonte proveniente dos dados e estabelecer a

ligação com esses mesmo dados, o que fizemos foi carregar

uma base de dados relacional no SQL com os dados da base

Page 52: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

de dados que o Shigunov nos deu, ou seja fizemos um Import

dos dados para essa base de dados relacional e

posteriormente criamos uma ligação entre o DataSouce do

cubo e essa mesma tabela.

2. Criar o Data View do cubo ou seja neste passo temos de

identifcar como e que as tabelas se vao relacionar entre si,

identificar quais as tabelas que são factos e dimensões e

como estão organizadas e finalmente identificar as hieraquias.

No nosso projecto temos uma hierarquia que o caso da

Estado Endereco -> Cidade Endereco.

3. Criar as Dimensões ou seja neste passo temos de identifcar

quais as dimensões,a chave primária dela e cria-las.

4. Criar o Cubo este é o ultimo passo finalmente pegamos nos

dados todos criados anteriormente e criamos o cubo.

Após criar o cubo fazemos o deployment deste e estamos pronto

a efectuar todas as queries que assim desejamos, esta ferramenta

é muito util pois permite queries muito flexiveis, e retirar uma grande

número de conclusões.

Uma vez que agora temos o nosso Servidor OLAP e temos o

nosso cubo temos de conseguir que o utilizador tenha acesso a ele,

Page 53: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

entao criamos o nosso WebSite e através de objecto de

comunicação do Analysis Service chamado Adomd estabelecemos

a ligação o nosso cubo.

Para conseguirmos utilizar este objecto de ligação tivemos de fazer

um import de uma bilblioteca de dados:

using Microsoft.AnalysisServices.AdomdClient;

Um documento de extrema importancia em qualquer projecto

de webService é o WebConfig, que é um documento XML em que é

detalhada a forma de como a comunicação vai ser feita, no :NET

esse ficheiro é criado automaticamente assim o utilizador não tem

de se preocupar com isso.Em baixo mostramos o conteúdo desse

mesmo ficheiro.

<?xml version="1.0"?>

<configuration>

<appSettings/>

<connectionStrings>

<add name="Ligacao BD UFSC_v1.0"

connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents

and Settings\Nuno\Desktop\UFSC\tcc_felipe.mdb"

providerName="System.Data.OleDb"/>

<add name="UFSC DWConnectionString" connectionString="Data

Source=localhost;Initial Catalog=&quot;UFSC DW&quot;;Integrated

Security=True" providerName="System.Data.SqlClient"/>

</connectionStrings>

</configuration>

Page 54: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

A ligação foi efectuada da seguinte maneira:

public DataSet getRelatorio(String dimensao1_,String atributo_dimensao1_, String

dimensao2_,String atributo_dimensao2_,String dimensao3_, String

atributo_dimensao3_,String facto_)

{

String dimensao1 = dimensao1_;

String dimensao2 = dimensao2_;

String dimensao3 = dimensao3_;

String atributo_dimensao1 = atributo_dimensao1_;

String atributo_dimensao2 = atributo_dimensao2_;

String atributo_dimensao3 = atributo_dimensao3_;

String facto = facto_;

DataSet data_set = new DataSet();

AdomdDataAdapter data_adapter;

AdomdConnection conn1;

conn1 = new AdomdConnection("Provider=SQLNCLI.1;Data

Source=localhost;Integrated Security=SSPI;Initial Catalog=Analysis Services UFSC

DW");

data_adapter = new AdomdDataAdapter("SELECT NON EMPTY {

[Measures].["+facto+"] } ON COLUMNS, NON EMPTY

{((DISTINCT(["+dimensao1+"].["+atributo_dimensao1+"].["+atributo_dimensao1+

"])) *

["+dimensao2+"].["+atributo_dimensao2+"].["+atributo_dimensao2+"].ALLMEMB

ERS *

["+dimensao3+"].["+atributo_dimensao3+"].["+atributo_dimensao3+"].ALLMEMB

ERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,

MEMBER_UNIQUE_NAME ON ROWS FROM [UFSC DW]", conn1);

data_adapter.Fill(data_set,"Measures");

return data_set;

}

Page 55: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Neste caso estamos a efectuar uma ligação cubo e

efectuamos uma querie MDX para retornar o numero de elementos

das dimensões que o utilizador escolheu. Nós utilizamos queries

MDX para fazer perguntas e a resposta é nos dada em XMLA.

Neste projecto nós tentamos colocar uma interface que fosse

mais adequada para ver as queries que eram efectuadas, tentámos

desde colocar o Analysis Service on line, mas não fomos bem

sucedidos, tentámos através do excel colocar o resultado na net

mas também não fomos bem sucedidos pois o web browser não

suporta ficheiro do office e a única maneira de conseguirmos

colocar esses ficheiros do office era através de uma plataforma

chamada SharePoint mas para ter acesso a essa plataforma era

nécessário uma licensa, algo que não tinhamos. Assim criamos a

nossa própria interface.

Page 56: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

5.2. MapWindow

Conforme foi descrito atrás, optámos pelo MapWindow ActiveX

component para a criação do nosso GIS. Para a implementação da aplicação,

foi necessário recorrer ao API desta solução disponível através de dois

arquivos .DLL (Dynamic Link Library):

• AxInterop.MapWinGIS.dll – responsável pela manipulação do

componente de ActiveX;

• Interop.MapWinGIS.dll – que possui os componentes necessários

para a criação do GIS.

Os dados geográficos sobre os quais vamos trabalhar a informação

proveniente do DataWarehouse foram retirados do Instituto Brasileiro de

Geografia e Estatística (IBGE) e encontram-se no formato ESRI Shapefile.

O desenvolvimento deste projecto tinha como referência ser elaborado

para o ambiente Web, pelo que foi desenvolvido um WebService baseado no

MapWindow que possui duas grandes funcionalidades para responder ao

desafio colocado:

• Gerar mapas

• Servir mapas

Page 57: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

5.2.1. Gerar mapas A aplicação por nós desenvolvida materializa-se numa janela aplicativa que

está situada na máquina em que o WebService está presente e é nesta mesma

janela que o componente ActiveX atrás referido gera os mapas que são

requisitados.

O pedido de geração do mapa escolhido pelo utilizador chega à aplicação

através de um DataSet que contém uma tabela com a referência geográfica a

ser representada e os valores respectivos de cada uma. Cada mapa pedido

terá um ficheiro shape associado cuja aplicação tem guardado numa pasta

predefinida. Para que se saiba qual o ficheiro shape que vai ser modificado

convencionou-se que a primeira coluna da primeira linha teria o nome

hierarquicamente acima do mapa que se quer mostrar, ou seja:

1) Nome do país – mostra o país dividido pelos estados;

2) Nome do estado – mostra os municipios do estado escolhido.

Para melhor percepção ver Anexo I.

Assim torna-se facil saber qual o ficheiro a ir buscar, conforme o excerto de

código o demonstra:

String nome = tabelaResultadoDaQuery.Rows[0][0].ToString(); String[] ficheiros = System.IO.Directory.GetFiles("C:\\Folder"); for (int i = 0; i < ficheiros.Length; ++i) { if (ficheiros[i].Contains(nome) && ficheiros[i].Contains("shp")) return ficheiros[i]; }

Page 58: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Com o nome do ficheiro devolvido sabe-se agora qual a camada sobre a

qual se vão trabalhar os dados e assim sendo adiciona-se a mesma ao mapa já

existente no componente do MapWindow.

A informação existente no shapefile vai ser armazenada localmente

numa tabela na qual vai ser adicionada uma coluna com os valores

provenientes do DataSet enviado pelo cliente, para facilitar a manipulação da

informação.

É possível agora preencher os polígonos com a cor estipulada para cada

valor, conforme o excerto de código abaixo demonstra:

UInt32 corBase; UInt32 corParaValorNulo =

Convert.ToUInt32(System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.White));

UInt32 corEfectiva; for (int i = 0; i < tabelaShapeFile.Rows.Count;

++i) { corBase =

Convert.ToUInt32(System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Navy));

if

(System.Convert.ToInt32(tabelaShapeFile.Rows[i]["Valores"]) > 0)

corEfectiva = corAInserir(corBase, (uint)System.Convert.ToInt32(tabelaShapeFile.Rows[i]["Valores"]), 5);

else corEfectiva = corParaValorNulo; mapa.set_ShapeFillColor(0, i,

(uint)(corEfectiva)); }

Page 59: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

O método corAInserir atribui a cor através da criação de vários intervalos de

valores, isto é, divide o valor máximo existente na tabela pelo número desejado

de níveis que o utilizador pretende. Consoante o valor de cada polígono é

criada uma variação da corBase e inserida no polígono.

Após esta tarefa, o mapa está concluido e é passível de ser mostrado no

lado do servidor.

5.2.2. Servir mapas Outra funcionalidade da nossa aplicação é o facto desta executar o papel

de um servidor de mapas, visto que responde a um pedido com um mapa.

Para proceder ao envio do mapa que foi gerado, este output é gravado no

lado do servidor como uma imagem bitmap (.bmp), e posteriormente enviada

para o cliente neste formato, para que possa ser mostrado no browser do lado

do cliente.

Page 60: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

6. Trabalhos relacionados

Na Universidade Federal de Santa Catarina, o estudo da integração de

ferramentas OLAP com GIS tem sido levado com muita seriedade, e prova

disso são os trabalhos que onde este tema já foi abordado:

• “Uma Aplicação OLAP sobre a Web para Análise dos Dados do

Vestibular da UFSC e Diretrizes para a sua Integração com GIS”

realizada por Felipe Shigunov [17], onde é dado mais ênfase ao aspecto

OLAP, mas onde também são feitos estudos voltados para a integração

OLAP e GIS.

• “Desenvolvendo um Middleware para a Integração de Servidores OLAP

e Servidores de Mapa na Web” realizado por Carlos Costa e José Neis,

onde “foi definida uma arquitectura aberta que combina componentes de

mercado usando um middleware baseado em padrões de sistemas

abertos das áreas de OLAP e SIG para realizar a ligação entre as duas

tecnologias”[25].

• “Visualização cartográfica de informação acoplada a processamento

analítico on-line” realizado por Ricardo Gross[26]

Page 61: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

7. Conclusões e trabalhos futuros

Apesar de o conceito de GIS já ser antigo, só há relativamente pouco tempo

se teve a percepção que esta vertente de sistemas de informação poderia ter

uma grande importância nas áreas de negócio, pois estas têm constantemente

dados geográficos que necessitam de ser analisados.

O trabalho descrito neste documento pretende fazer a integração entre as

áreas de negócio e geográficas, culminando com a criação de uma solução

baseada numa arquitectura em ambiente Web que permite a comunicação

entre um Data Warehouse e o GIS através de XMLA.

O protótipo criado permite a realização de queries OLAP na Web e

visualização de mapas de acordo com a escolha do utilizador nesse mesmo

ambiente. Torna-se uma ferramenta muito poderosa pois é possível visualizar a

informação de qualquer lado e em qualquer hora.

Apesar da geração de mapas através de queries OLAP já ser algo comum,

é no entanto incomum ver duas componentes construidas separadamente, i.e.

as componentes OLAP e de mapasserem independentes uma da outra. Este

protótipo tem essa grande vantagem, possuir uma ferramenta geradora de

mapas que trabalha com uma linguagem standart – o XMLA, para aceitar

informação proveniente de qualquer tipo de banco de dados multidimensional.

Apesar desta ferramenta estar ainda em fase de prototipagem,

consideramos que tem óptimo potencial comercial, pela sua flexibilidade e

capacidades.

Page 62: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Como trabalhos futuros, consideramos útil a criaçãode uma interface que

permita ao utilizador manipular a imagem do mapa que está presente no web

browser como fazer zoom in, zoom out, seleccionar áreas do mapapara

visualizar informação, ou seja, como se de uma aplicação desktop se tratasse,

para dar mais liberdade ao utilizador.

Page 63: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Referências bibliográficas

[1] Professora Maria José Trigueiros: Acetatos de Sistemas de Apoio à

Decisão, Business Inteligence, ISCTE 2006

[2] Wikipedia. Business Inteligence: Disponível em

http://pt.wikipedia.org/wiki/ Business_Inteligence

[3] Wikipedia. Business Inteligence: Disponível em

http://pt.wikipedia.org/wiki/OLAP

[4] Professora Maria José Trigueiros: Acetatos de Sistemas de Apoio à

Decisão, OLAP, ISCTE 2006

[5] Virtual Earth Home: www. msdn.microsoft.com/mapPoint, acedido em

2007

[6] Microsoft SQL Server. Microsoft SQL Server official home page,

http://www.Microsoft.com/sql/default.mpx, Acesso em Setembro de

2007

[7] Cyntia Aurora Moura Anozelo: Acetatos OLAP conceito e sua

Aplicação, 2004

[8] Wikipedia. Business Inteligence: Disponível em

http://pt.wikipedia.org/wiki/XML

Page 64: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

[9] Professora Maria José Trigueiros: Acetatos de Sistemas de Apoio à

Decisão, XML, ISCTE 2006

[10] XMLA, XML for Analysis, ODBO, OLE DB for OLAP, XMLA

provider, bridge,server. XMLA official home page,

http://www.xmla.org/, Acesso em Setembro de 2007.

[11] Professor Henrique O’neill: Acetatos de Sistemas Decisão, MDX,

ISCTE 2006

[12] Wikipedia. Business Inteligence: Disponível em

http://pt.wikipedia.org/wiki/MDX

[13] Introduction to Multidimensional Expressions,

http://tecnet.microsoft.com/Library /MDX, Acesso em Setembro de

2007

[14] Professora Elsa Cardoso: Acetatos de Sistemas de Apoio à

Decisão, Data Warehouse, ISCTE 2006

[15] Wikipedia. Data WareHouse: Disponível em

http://pt.wikipedia.org/wiki/ Data_warehouse

[16] Acetatos de Data WareHouse: DBQ Consultant, acedido em

Setembro de 2007

[17] Felipe Shigunov: Trabalho de Conclusão de Curso numa

Aplicação OLAP sobre a web para análise dos dados dos

vestibulares da UFSC e directrizes para a sua integração com o GIS.

Page 65: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

[18] Professora Maria José Trigueiros: Acetatos de Sistemas de Apoio

à Decisão, ETL, ISCTE 2006

[19] Wikipedia.Modelo Dimensional: Disponível em

http://pt.wikipedia.org/wiki/ Modelo_dimensional

[20] Professor José Cordeiro Gomes: Acetatos de Sistemas de

Informação de Gestão, Modelos Dimensionais, ISCTE 2005

[21] What is GIS?, www.Gis.com, acedido em Setembro de 2007

[22] Wikipedia.Geografic Information Systems: Disponível em

http://pt.wikipedia.org/wiki/ Geografic_Information_Systems

[23] MapPoint: MapPoint official home page,

www.Microsoft.com/MapPoint/default.mpsx , Acesso em Setembro de

2007.

[24] Wikipedia.MapPoint: Disponível em http:// pt.wikipedia.org/wiki/

MapPoint

[25] C. Costa; J. Neis: Desenvolvendo um Middleware para Integração

de servidores OLAP e Servidores de Mapa na Web. Universidade

Federal de Santa Catarina, Florianópolis, 2007

[26] Ricardo Gross: Visualização cartográfica de informação acoplada

a processamento analítico on-line. Universidade Federal de Santa

Catarina, Florianópolis, 2007

Page 66: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

[27] Instituto Brasileiro de geografia e estatística,

http://www.ibge.gov.br/ acessado em Setembro de 2007

Page 67: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Anexo I

No caso do utilizador pretenda visualizar os dados ao nível estadual do

Brasil, conforme a Ilustração 16 representa, então a primeira coluna da primeira

linha da tabela do utilizador terá que ter o valor “Brasil”;

Ilustração 16 - Resultado de uma query por estado

Outra das opções que o utilizador tem é efectuar uma consulta por

estado, isto é, pode escolher visualizar a informação por municipios dentro do

estado seleccionado. Neste caso o valor da primeira coluna da primeira linha

da tabela enviada pelo cliente terá o nome do estado seleccionado. No caso do

Page 68: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

utilizador pretender visualizar os municipios dados somente para o estado de

Santa Catarina, a primeira coluna da primeira linha terá o valor “Santa

Catarina”.

Page 69: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Anexo II – Glossário

Atributo: Representa um único tipo de informação numa dimensão.

Bases de Dados Operacionais: Trata-se de um armazém de dados

correntes orientado a objectos, integrado e volátil, contendo apenas dados

detalhados e incorporados.

Business Intelligence: Trata-se da área de conhecimento onde actual os

sistemas desenhados para ajudar as empresas a entender como os seus

negócios funcionam e a predizer o impacto das decisões tomadas.

Data Mart: Trata-se de um subconjunto de um DW e é geralemente

referente a um departamento da organização.

Data Staging Area: Área de retenção, prepara os dados para serem

carregados no data warehouse. Não se fazem queries a estes dados. A

informação pode ser guardada em base de dados ou ficheiros.

Data Warehouse: Trata-se de uma infra-estrutura que permite integrar os

dados de uma empresa de forma ter uma visão histórica e não volátil da própria

empresa. Serve assim como um repositório de dados para muitos tipos de

informação de negócio vinda de muitas fontes. A informação destas fontes é

transferida para o DW para acesso mais fácil, e depois é indexada e

combinada para um acesso mais rápido.

Data Warehousing: Processo de desenhar construir e manter um sistemas

de data warehouse.

Densidade da Inteligência: Trata-se da quantidade de informação de

suporte à decisão necessária para um decisor conseguir retirar conclusões a

partir de uma ferramenta, durante um determinado período de tempo.

Dimensão: Área de negócio pela qual se que analisar o negócio

Page 70: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Drill-Across: Trata-se da análise de dados através das dimensões.

Drill-Down: Trata-se da análise de dados a um atributo filho.

Drill-Through: Trata-se da análise de dados que vai desde um cubo OLAP

ate a base de dados relacional.

Drill-Up: Trata-se da análise de dados a um atributo pai.

ETL: As ferramentas de ETL têm como função agregar informação de

várias fontes e produzir informação integra e de qualidade, ou seja, sem erros,

sem duplicações, sem omissões e sem diversificações. Desta forma começa-se

por ser feita a extracção dos dados, seguindo-se a transformação que se divide

em duas fases, limpeza e conciliação dos dados, e por fim é feito o

carregamento na DW.

Facto: Variável mensurável do negócio.

Galáxia: Trata-se de uma mistura, tendo vários star schema e snowflake

schema.

Granularidade: Representa o detalhe.

Hierarquia: Uma hierarquia define o caminho para fazer drill up, drill down.

Todos os atributos de uma hierarquia pertencem à mesma dimensão.

HOLAP: São sistemas híbridos, sendo uma mistura de potencialidades dos

ROLAP e MOLAP.

Meta-Informação: Trata-se da informação sobre os dados que descrevem

a forma como os conceitos do negócio foram representados.

Metadados: São considerados como sendo "dado sobre dado" ou dado

sobre os sistemas que operam com estes dados, ou seja, não serve para

descrever o conteúdo mas sim o contexto da informação. São portanto um

directório para ajudar o analista de DSS a localizar os dados num DW, um guia

Page 71: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

para o manuseamento de dados, como os dados são transformados do

ambiente operacional para o ambiente de DW, e também um guia para os

algoritmos usados para sumarização entre os dados detalhados actuais, os

dados ligeiramente resumidos e os dados altamente resumidos.

Métricas aditivas: São métricas que quando agregadas não perdem valor.

Métrica Composta/Agregada: São métricas compostas a partir de

métricas elementares.

Métrica Simples: Medidas elementares do facto.

Modelo Dimensional: Trata-se de uma disciplina especifica para modelizar

dados.

MOLAP: São OLAP multidimensional. Sendo que estes sistemas guardam

dados em cubos multidimensionais(n-dimensionais).

OLAP: Trata-se de um software de suporte à decisão, que permite ao

utilizador analisar rapidamente a informação que foi sumariada em hierarquias

e pontos de vista multidimensionais.

OLTP: Tratam-se de sistemas muito bons para armazenar informações em

Base de Dados de uma forma rápida, eficiente e com segurança, no entanto

não suportam de uma forma eficiente a extracção e análise qualitativa de

informação.

Query: Trata-se de uma ferramenta de software que permite ao utilizador

efectuar perguntas específicas a uma base de dados, conseguindo assim a

informação desejada sobre a uma determinada questão. Posteriormente será

feita Elaboração de relatórios com os resultados retirados da informação

existente nos Data Marts.

Page 72: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

ROLAP: OLAP relacional. Tratam-se de sistemas que guardam dados

numa base de dados relacional.

Sistemas de Apoio à Decisão: Tratam-se de sistemas mais complexos

que permitem o acesso total a base de dados corporativas, modelação de

problemas, simulações e possuem uma interface amigável. Para além disso

ajudam o executivo em todas as fases do processo de tomada de decisão,

principalmente nas etapas de desenvolvimento, comparação e classificação

dos ricos, para além de fornecer subsídios para a escolha de uma boa

alternativa.

Snow Flake Schema: No snowflake schema as hierarquias diferentes de

uma dimensão podem ser estendidas para as suas próprias tabelas de

dimensão.

Star Schema: No Star Schema cada dimensão é representada por uma

única tabela de dimensão.

Tabela de Dimensões: Trata-se de uma tabela que guarda registos

relacionados com uma dada dimensão.

Tabela de Factos: Trata-se de uma tabela que inclui dois tipos de colunas:

colunas de factos, e chaves primárias para as dimensões.

Page 73: “Aplicação OLAP com Visualização Cartográfica” · 2.3.3. MDX – Multidimensional Expressions ... ganhar uma melhor performance nas consultas, este modelo visa apenas consultas

Anexo III – Acrónimos

BI – Business Intelligence

CAD – Computer Aided Design

DDL – Data Definition Language

DLL – Dynamic Link Library

DSS – Decision Support System

DW – Data Warehouse

GIS – Geographic Information System

MDX – Multidimensional Expressions

SGBD – Sistema de gestão de Base de Dados

SQL – Structured Query Language