• Nenhum resultado encontrado

GEOMDQL: Uma Linguagem de Consulta geogr´afica e Multidimensional

N/A
N/A
Protected

Academic year: 2021

Share "GEOMDQL: Uma Linguagem de Consulta geogr´afica e Multidimensional"

Copied!
194
0
0

Texto

(1)Universidade Federal de Pernambuco Centro de Ciˆencias Exatas e da Natureza Departamento de Inform´atica. P´os-gradua¸c˜ao em Ciˆencia da Computa¸c˜ao. GEOMDQL: UMA LINGUAGEM DE ´ CONSULTA GEOGRAFICA E MULTIDIMENSIONAL Joel da Silva TESE DE DOUTORADO. Recife Sexta-feira, 12 de Setembro de 2008.

(2) Universidade Federal de Pernambuco Centro de Ciˆencias Exatas e da Natureza Departamento de Inform´atica. Joel da Silva ´ GEOMDQL: UMA LINGUAGEM DE CONSULTA GEOGRAFICA E MULTIDIMENSIONAL. Trabalho apresentado ao Programa de P´ os-gradua¸ c˜ ao em Ciˆ encia da Computa¸ c˜ ao do Departamento de Inform´ atica da Universidade Federal de Pernambuco como requisito parcial para obten¸ c˜ ao do grau de Doutor em Ciˆ encia da Computa¸ c˜ ao.. Orientadora: Prof. Dr . Val´ eria Ces´ ario Times Co-orientadora: Prof. Dr . Ana Carolina Salgado. Recife Sexta-feira, 12 de Setembro de 2008.

(3) SILVA, Joel da GEOMDQL: Uma Linguagem de Consulta geogr´ afica e Multidimensional / Joel da Silva. Recife : O Autor, 2008. xviii, 175 folhas : il., fig., tab. Tese (doutorado) - Universidade Federal Pernambuco. CIn. Ci^ encia da Computa¸ c~ ao, 2008.. de. Inclui bibliografia, gloss´ ario e ap^ endice. 1. Banco de Dados. 2. Linguagem de Consulta. 3. Processamento multidimensional e espacial. 4. Data warehouse geogr´ afico. I. T´ ıtulo. 025.04. CDD(22.ed.). MEI2008-105.

(4) Dedico esta Tese para minha Fam´ılia, base do meu ser, especialmente para meus pais Claudio e Maristella..

(5) Agradecimentos. Primeiramente, agradeço a Deus por tudo que me foi concedido. Agradeço especialmente as professoras Valéria Times e Ana Carolina Salgado pela confiança, pelo apoio e pela orientação. Aos professores Robson Fidalgo e Anjolina Oliveira pelo auxílio e pelas discussões que colaboraram para o enriquecimento do meu trabalho. Aos colegas e amigos do Grupo GOLAPA, Vivianne Medeiros, Clenúbio Souza, José Tiago, Fabio Rocha, Rafael Leão da Fonseca, pelo auxílio e pelas produtivas discussões. E também, aos colegas do MapDengue Petrus, Webster, Rafael Jacinto, Eduardo e José Antônio. A toda minha família, que sempre me apoiou e me deu forças, em especial aos meus pais Claudio e Maristella, as minhas irmãs Miriam e Gabrielly e aos meus tios Hermes e Neusa. Também, agradeço a minha namorada Jessika Castro, pelo carinho e compreensão. Aos meus irmãos Cleber Zanchettin, Tarcisio Pinto Câmara e Ricardo Afonso pela amizade, companheirismo e pelo convívio saudável. Aos amigos, Ricardo Ramos, André, Cristiano, Pedro, Maury, Vaninha e Ruben pela amizade e confiança. Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico pela bolsa de doutorado fornecida e ao Centro de Informática pela infraestrutura disponibilizada. Enfim, agradeço a todos que, direta ou indiretamente, contribuíram para esta conquista. A todos o meu Muito Obrigado!!. iv.

(6) "Deus nos fez perfeitos e não escolhe os capacitados, capacita os escolhidos. Fazer ou não fazer algo só depende de nossa vontade e perseverança." — ALBERT EINSTEIN (Deus não Escolhe os Capacitados ).

(7) Resumo. Existem várias propostas na literatura visando a integração das funcionalidades e características pertinentes aos processamentos de dados analíticos (OLAP) e geográficos (SIG). O principal objetivo é prover um ambiente único, com capacidades de processamento geográfico e multidimensional, para dar suporte ao processo de tomada de decisões estratégicas. Este tipo de ambiente vem sendo referido atualmente como SOLAP. Entretanto, pelo fato destas duas tecnologias terem sido concebidas com propósitos distintos, a integração entre estes dois ambientes não é uma tarefa fácil, e mesmo com tantas pesquisas sendo desenvolvidas, temos alguns pontos em aberto que merecem ser explorados. A definição de modelos de dados para Data Warehouse Geográficos é um dos items desta integração. Outro ponto inserido neste contexto é a definição de funções de agregação para medidas geográficas. Estas funções são utilizadas no momento da especificação dos cubos de dados multidimensionais e geográficos. Conseqüentemente, também necessitamos de novos modelos de cubos de dados que possibilitem a associação de geometrias aos fatos e aos membros dos níveis. Uma das partes mais importantes desse processo de integração é a consulta aos dados. Porém, a maioria das abordagens que almejam esta integração de processamento, não dispõe de uma linguagem de consulta que possibilite a utilização simultânea, tanto de operadores multidimensionais como espaciais. É neste contexto que se insere esta tese, na qual apresentamos: i) um modelo formal para definição de DWG; ii) um conjunto de funções de agregação para medidas geográficas; iii) um modelo formal para cubos de dados chamado GeoMDCube; e iv) uma linguagem de consulta geográfica-multidimensional denominada GeoMDQL (Geographic Multidimensional Query Language). GeoMDQL estende e integra, em uma única sintaxe, os principais operadores multidimensionais e espaciais presentes na maioria das ferramentas e em ambientes disponíveis atualmente para processamento multidimensional e geográfico. GeoMDQL é baseada em padrões bem estabelecidos como ( MDX Multidimensional Expressions) e OGC Simple Features for SQL. As idéias propostas foram aplicadas na prática, por meio da implementação de uma arquitetura SOLAP chamada Golapware e o desenvolvimento de estudo de caso baseado em dados de aplicações reais. Dessa forma, foi possível demonstrar a utilização dos modelos, das funções e da linguagem de consulta e operadores SOLAP discutidos nesta tese. Palavras-chave: GeoMDQL, Data Warehouse Geográfico, GeoMDCube, SOLAP.. vi.

(8) Abstract. There have been a number of proposals in the literature aimed at integrating functionality and characteristics related to analytical (OLAP - Online Analytical Processing) and geographic (GIS- Geographic Information Systems) data processing. The main goal is to provide a unique environment with geographicmultidimensional processing capabilities in order to provide a means of supporting strategic decisionmaking processes. This kind of environment has been named SOLAP (Spatial OLAP). However, due to the fact that these two technologies were conceived with different purposes in mind, the interaction of the two environments is not an easy task and even with so much research being developed, there remain unresolved issues that deserves exploration. The definition of data models for Geographic Data Warehouses (GDW) is one of the items of this integration. Another issue refers to aggregation functions for geographic measures. These functions are currently used in the definition of geographic and multidimensional data cubes. Consequently, we also need new models of data cubes that allow the association of geometries to the facts and the members of the levels. Data querying is one of the most important issues in this process. However, most approaches do not have a query language that allows both multidimensional and spatial operators to be used simultaneously. The present thesis addresses this context, presenting: i) a formal model for GDW specification; ii) a set of aggregation functions for geographic measures; iii) a formal model for data cubes named GeoMDCube; and iv) a geographic-multidimensional query language named GeoMDQL (Geographic Multidimensional Query Language). Using a single syntax, GeoMDQL extends and integrates the main multidimensional and spatial operators found in most multidimensional and geographic processing tools and environments. GeoMDQL is based on well-known standards such as the MDX (Multidimensional Expressions) and OGC Simple Features for SQL. The proposed ideas were applied in practice through the implementation of a SOLAP architecture named Golapware and the development of a case study based on data from real applications. It was possible to demonstrate the utilization of the models, functions, query language and SOLAP operators discussed in this thesis. Keywords:. GeoMDQL, Geographical and Multidimensional Query Language, Geographical Data. Warehouse, GeoMDCube, SOLAP.. vii.

(9) Sumário. 1. Introdução. 1. 1.1. Contextualização. 1. 1.2. Motivação. 2. 1.3. Objetivos. 4. 1.3.1. Objetivo Geral. 4. 1.3.2. Objetivos Específicos. 4. 1.4 2. 5. Operadores e Linguagens. 8. 2.1. Introdução. 8. 2.2. Linguagens de Consulta. 8. 2.2.1. Linguagens de Consulta Geográficas. 8. 2.2.2. Linguagens de Consulta Analítica-Multidimensional. 2.3. 2.4 3. Estrutura da Tese. 11. Operadores. 13. 2.3.1. Operadores para Dados Geográficos. 13. 2.3.2. Operadores para Dados Multidimensionais. 14. Considerações. 16. Processamento Multidimensional e Geográfico. 18. 3.1. Introdução. 18. 3.2. JMap Spatial OLAP. 18. 3.3. MapWarehouse. 21. 3.4. GeWOlap. 23. 3.5. SOVAT. 26. 3.6. PQL. 28. 3.7. Piet. 30. 3.8. GOLAPA. 31. 3.9. Outras Propostas. 34. 3.10 Considerações. 37. viii.

(10) SUMÁRIO. 4. 5. ix. Modelos de Dados e Funções de Agregação de Medidas. 41. 4.1. Introdução. 41. 4.2. Um Modelo de Dados Formal para Data Warehouse Geográfico. 41. 4.3. Funções de Agregação de Medidas Espaciais. 48. 4.3.1. Distributiva Escalar. 49. 4.3.2. Distributiva Espacial. 50. 4.3.3. Algébrica Escalar. 52. 4.3.4. Algébrica Espacial. 53. 4.3.5. Holística Escalar. 53. 4.3.6. Holística Espacial. 54. 4.4. O Modelo de Dados Formal GeoMDCube. 56. 4.5. Considerações. 61. A Linguagem de Consulta GeoMDQL. 62. 5.1. Introdução. 62. 5.2. A Linguagem GeoMDQL. 62. 5.2.1. 62. 5.3. 5.4. Sintaxe da Linguagem GeoMDQL. Operadores da Linguagem GeoMDQL. 68. 5.3.1. Operadores Geográficos. 70. 5.3.1.1. Operadores Topológicos. 71. 5.3.1.2. Operadores Cardinais. 72. 5.3.1.3. Operadores Métricos. 72. 5.3.1.4. Operadores que Geram Novas Geometrias. 73. 5.3.2. Operadores Multidimensionais. 75. 5.3.3. Operadores Geográficos e Multidimensionais (SOLAP). 76. Arquitetura do Processador da Linguagem GeoMDQL. 81. 5.4.1. Camada I - Data Warehouse Geográfico. 81. 5.4.2. Camada II - Processamento Multidimensional e Geográfico. 82. 5.4.2.1. Servidor SOLAP. 83. Camada III - Interface com o Usuário. 84. 5.4.3.1. Gerenciador de Consultas. 85. 5.4.3.2. Gerenciador de Catálogos. 86. 5.4.3.3. Gerenciador de Resultados. 86. 5.4.3. 5.4.4. Metadados. 88. 5.5. Tipos de Consultas GeoMDQL. 88. 5.6. Considerações. 90.

(11) SUMÁRIO. 6. Aspectos de Implementação. 93. 6.1. Introdução. 93. 6.2. Implementação dos Operadores e Funções. 93. 6.2.1. Funções de Agregação de Medidas. 93. 6.2.2. Operadores GeoMDQL. 94. 6.3. 6.4. 6.5 7. x. Implementação da Arquitetura. 94. 6.3.1. Camada I - Data Warehouse Geográfico. 95. 6.3.2. Metadados. 95. 6.3.3. Camada II - Processamento Multidimensional e Geográfico. 97. 6.3.4. Camada III - Interface. 100. Aplicação Prática da Abordagem. 102. 6.4.1. DWG DATASUS. 103. 6.4.2. DWG LAMEPE. 109. 6.4.3. DWG RECIFE. 112. 6.4.4. DWG RPA1. 115. Considerações. 117. Conclusões e Trabalhos Futuros. 119. 7.1. Considerações Finais. 119. 7.2. Principais Contribuições. 121. 7.3. Trabalhos Futuros. 122. A SINTAXE DA LINGUAGEM GEOMDQL A.1 Sintaxe GeoMDQL Especificada em EBNF B EXEMPLOS DE FUNÇÕES DE AGREGAÇÃO PARA MEDIDAS ESPACIAIS. 146 146 153. B.1 Funções do Tipo Distributiva Espacial com Retorno Escalar. 153. B.2 Funções do Tipo Distributiva Espacial com Retorno Espacial. 154. B.3 Funções do Tipo Algébrica Espacial com Retorno Escalar. 156. B.4 Funções do Tipo Algébrica Espacial com Retorno Espacial. 157. B.5 Funções do Tipo Holística Espacial com Retorno Escalar. 158. B.6 Funções do Tipo Holística Espacial com Retorno Espacial. 159. C EXEMPLOS DE CONSULTA GEOMDQL C.1 Exemplos de Consulta na linguagem GeoMDQL. 160 160. C.1.1. Consultas MD. 160. C.1.2. Consultas GeoMD de Mapeamento. 163. C.1.3. Consultas GeoMD de Integração. 164.

(12) Lista de Figuras. 1.1. Organização da Tese. 6. 3.1. Estrutura de um Ambiente SOLAP (Adaptado de [248]). 3.2. Interface Gráfica do JMap Spatial OLAP. 20. 3.3. Metamodelo Espacial e Multidimensional do MapWarehouse [251]. 22. 3.4. Esquema Estrela Estendido do MapWarehouse (Adaptado de [251]). 23. 3.5. Exemplo de Consulta na abordagem MapWarehouse. 24. 3.6. Interface Gráfica do MapWarehouse. 25. 3.7. Modelagem de um DWG para Análise da Mortalidade utilizando Dimensões e Medidas. 19. Espaciais. 25. 3.8. Arquitetura GeWOlap. 26. 3.9. Arquitetura de Software da proposta SOVAT (Adaptado de [253] ). 27. 3.10 Interface Gráfica SOVAT. 28. 3.11 Instâncias dos Atributos Funcionais vendas_carro e vendas_brinquedos [111]. 29. 3.12 Exemplo de Consulta Piet. 31. 3.13 Exibição de Mapas no Piet. 32. 3.14 Arquitetura Golapa [113]. 33. 3.15 Exemplo de Consulta de Integração. 35. 4.1. Esquema de DWG para Acompanhamento de Precipitações e Alagamentos. 43. 4.2. Exemplo de um Esquema de DWG. 45. 4.3. Exemplos Adicionais para as Definições Formais. 47. 4.4. Classificação das Funções de Agregação. 49. 4.5. Exemplos de Funções de Agregação com Resultado Escalar. 51. 4.6. Exemplos de Funções de Agregação com Resultado Espacial. 52. 4.7. Exemplo de Funções Holísticas com Resultado Escalar. 54. 4.8. Exemplo Funções Holísticas com Retorno Espacial. 55. 4.9. Exemplo de Esquema de Dimensão. 57. 4.10 Exemplos de Nível Convencional. 58. 4.11 Exemplos de Níveis Geográficos. 58. 4.12 Exemplo de Fato Convencional. 60. xi.

(13) LISTA DE FIGURAS. 4.13 Um Exemplo de Fato Geográfico. xii 61. 5.1. Principais Elementos da Gramática da Linguagem GeoMDQL. 63. 5.2. Exemplo de Consulta GeoMDQL. 63. 5.3. Elemento formula_specification da Gramática da Linguagem GeoMDQL. 64. 5.4. Exemplo de Definição de Fórmulas em GeoMDQL. 64. 5.5. Elemento axis_specification_list da Gramática da Linguagem GeoMDQL. 65. 5.6. Exemplo de Utilização de Funções em GeoMDQL. 65. 5.7. Elemento geomdql_expression da Gramática da Linguagem GeoMDQL. 66. 5.8. Elemento member_geometry da Gramática da Linguagem GeoMDQL. 67. 5.9. Exemplo de Consulta GeoMDQL Envolvendo o Elemento Geometry. 67. 5.10 A Arquitetura Golapware. 82. 5.11 Comparação entre GeoMDQL e GISOLAP-QL [104]. 91. 5.12 Comparação entre GeoMDQL e SQL Espacial do MapWarehouse [251]. 92. 6.1. Esquema XML utilizado para validar os cubos geográficos e multidimensionais. 96. 6.2. Exemplo de instância XML definindo um Cubo de Dados. 98. 6.3. Interface Gráfica da Arquitetura Golapware. 101. 6.4. DWG para Saúde Pública. 103. 6.5. Consulta GeoMDQL de Mapeamento Utilizando o Operador Filter. 105. 6.6. Ranking de Área, de População e de Distância. 106. 6.7. Drillout no Estado de Pernambuco. 108. 6.8. DrillDown no Resultado Exibido na (Figura 6.7). 109. 6.9. DWG para Meteorologia. 110. 6.10 Exemplo de Consulta de Mapeamento com Ranking. 111. 6.11 Exemplo de Consulta de Integração com DrilldownMember, MaxArea e MinArea. 113. 6.12 DWG Dengue. 114. 6.13 Exemplo de Consulta Geográfica Baseada no Operador Geogrouping de GeoMDQL. 115. 6.14 Exemplo de Consulta Geográfica Baseada no Operador NNNeighbors de GeoMDQL. 116. 6.15 DWG registro de lotes urbanos. 117. 6.16 Exemplo de Consulta Geográfica Baseada no operador Clipping. 118. C.1 Exemplo de Consulta MD com TopCount e Membros Calculados. 161. C.2 Exemplo de Consulta MD com Análise de Pareto. 162. C.3 Exemplo de Consulta GeoMD de Mapeamento com Análise de Pareto. 164. C.4 Exemplo de Consulta GeoMDQL de Mapeamento. 165. C.5 Ranking de Área e de População. 166. C.6 Drillout Filter e Intersects. 168.

(14) LISTA DE FIGURAS. C.7 Exemplo de Consulta com o operador MaxArea. xiii 169. C.8 Exemplo de consulta de integração com os operadores Intersect, Disjoint e AtNorthEastOf170 C.9 Exemplo de Consulta de integração utilizando o operador GeoIntersects. 171.

(15) Lista de Tabelas. 3.1. Comparação entre Propostas para Processamento Multidimensional e Geográfico. 40. 4.1. Funções Distributivas com Resultado Escalar. 50. 4.2. Funções Distributivas com Resultado Espacial. 50. 4.3. Funções Algébricas com Resultado Escalar. 53. 4.4. Funções Algébricas com Resultado Espacial. 53. 4.5. Funções Holísticas com Resultado Escalar. 54. 4.6. Funções Holísticas com Resultado Espacial. 55. 5.1. Operadores GeoMDQL sobrecarregados da linguagem MDX. 75. B.1 Funções Distributivas com resultado Escalar (Combinação da função Count com operadores topológicos ). 153. B.2 Funções Distributivas com resultado Escalar (Combinação da função Count com operadores cardinais ). 154. B.3 Funções Distributivas com resultado Escalar (Combinação das funções Max e Min com Operadores Topológicos). 154. B.4 Funções Distributivas com resultado Escalar (Combinação das funções Max e Min com Operadores Cardinais). 155. B.5 Funções Distributivas com resultado Escalar (Combinação das funções Max, Min e Sum com operadores do tipo unário escalar). 155. B.6 Funções Distributivas com resultado Escalar (Combinação da funções Max e Min com o operador de distância). 156. B.7 Funções Distributivas com resultado Espacial ( Combinação do operador Sum com operadores topológicos). 156. B.8 Funções Distributivas com resultado Espacial ( Combinação do operador Sum com operadores cardinais). 156. B.9 Funções Algébricas com resultado Escalar (Combinação das funções Avg e Stdv com operadores do tipo unário escalar). 157. B.10 Funções Algébricas com resultado Escalar (Combinação das funções Min_N e Max_N com operadores do tipo unário escalar). 157. xiv.

(16) LISTA DE TABELAS. xv. B.11 Funções Algébricas com resultado Escalar (Combinação das funções Min_N e Max_N com o operador de distância). 157. B.12 Funções Algébricas com resultado Espacial (Combinação das funções Min_N e Max_N com operadores cardinais). 158. B.13 Funções Holísticas com resultado Escalar (Combinação da função rank com operadores espaciais do tipo unário escalar) B.14 Funções Holísticas com resultado Espacial. 159 159.

(17) Glossário. Termo. Descrição. API. Application Program Interface. BD. Banco de Dados. CASE. Computer-aided Software Engineering. CWM. Common Warehouse Metamodel. DW. Data Warehouse. DDL. Data Definition Language. DWG. DW Geográfico. EBNF. Extended Backus - Naur Form. ETL. Extract Transform Load. GeoDWFrame Geographical DW Framework GML. Geography Markup Language. GDW. Geographic Data Warehouse. GeoMDQL. Geographic and Multidimensional Query Language. GIS. Geographic Information Systems. GMLA. GML for Analysis. GOLAPA. Geographical Online Analytical Processing Architecture. GOLAPE. GOLAP Engine. GOLAPI. GOLAP Interface. GPL. Graphical Presentation Language. HTTP. Hypertext Transfer Protocol. ISO. International Organization for Standarization. JDBC. Java Database Connectivity. JPF. Java Plugin Framework. JSP. Java Server Pages. MDX. Multidimensional Expressions. OCL. Object Constraint Language. ODBC. Open Data Base Connectivity. OGC. Open Geospatial Consortium. OLAP. On-Line Analytical Processing. xvi.

(18) GLOSSÁRIO. Termo. Descrição. OMG. Object Management Group. PQL. Pictorial Query Language. ROLAP. Relational OLAP. SGBD. Sistemas de Gerenciamento de Banco de Dados. SGBDE. Sistemas de Gerenciamento de Banco de Dados Espaciais. SIG. Sistema de Informações Geográficas. SOLAP. Spatial OLAP. SVG. Scalable Vector Graphics. SQL. Structured Query Language. SSD. Sistemas de Suporte à Decisão. UDF. User Defined Functions. UML. Unified Modeling Language. WFS. Web Feature Service. XMI. XML Metadata Interchange. XML. eXtensible Markup Language. XMLA. XML for Analysis. xvii.

(19) CAP´ITULO 1. ˜ INTRODUC ¸ AO. 1.1. ˜ CONTEXTUALIZAC ¸ AO. Os Sistemas de Suporte `a Decis˜ao (SSD) [37, 233, 234, 235, 236] possibilitam o gerenciamento e a an´alise de grandes bases de dados de forma eficiente e consistente, permitindo a extra¸c˜ao de informa¸c˜oes que auxiliam os usu´ arios a compreender o comportamento do neg´ ocio de uma organiza¸c˜ao. Essas informa¸c˜oes possibilitam que os diretores executivos da organiza¸c˜ao tomem decis˜oes estrat´egicas no intuito de melhor conduzir seu neg´ ocio em meio `as freq¨ uentes oscila¸c˜oes do mercado. A partir dessas an´ alises, podem ser feitas mudan¸cas em estrat´egias de marketing e inser¸c˜ao de novos produtos ou servi¸cos no mercado. Finalmente, o principal objetivo dos Sistemas de Suporte a` Decis˜ao ´e fornecer informa¸c˜oes relevantes para o gerenciamento dos neg´ocios de uma organiza¸c˜ao. Uma das tecnologias amplamente utilizadas no contexto de Sistemas de Suporte `a Decis˜ao ´e o Data Warehouse (DW) [281, 163, 155, 36, 38]. DW pode ser definido como uma base de dados integrados, orientados por assunto, n˜ ao vol´ atil e variante no tempo. Normalmente, os dados armazenados em um DW servem de base para o uso da tecnologia OLAP (On-Line Analytical Processing) [282, 37, 36, 221]. OLAP s˜ ao uma categoria de software espec´ıfica para realizar processamento anal´ıtico nos dados de um DW, de forma que este processamento deve: (1) ocorrer com alto desempenho, consistˆencia e interatividade e (2) auxiliar a tomada de decis˜ao em uma organiza¸c˜ao por meio da interpreta¸c˜ao desses dados em uma variedade de vis˜oes multidimensionais. Estas vis˜oes multidimensionais s˜ao providas pela estrutura dimensional do DW e podem ser compreendidas como eixos e pontos de um espa¸co multidimensional, onde cada eixo pode ser encarado como uma dimens˜ ao ou perspectiva (e.g. tempo, a´rea geogr´afica, sexo) e os pontos como um valor medido e correspondente `a intersec¸c˜ao desses eixos. Associado ao termo OLAP, est˜ao os conceitos de cubos de dados, dimens˜oes, hierarquias, n´ıveis, membros, fatos e medidas [113, 77, 202, 37, 282]. T´ecnicas de Minera¸c˜ao de Dados [5, 144] tamb´em s˜ao empregadas em SSD para revelar padr˜ oes e relacionamentos ocultos existentes entre os dados de um DW e tamb´em para tentar predizer determinados fatos por meio da utiliza¸c˜ao de dados hist´ oricos. Sistemas de Informa¸c˜oes Geogr´aficas (SIG) [41, 43, 88, 32, 117] s˜ ao tamb´em utilizados no suporte a` decis˜ao. SIG consistem de ferramentas para visualiza¸c˜ao, manuten¸c˜ao e recupera¸c˜ao de informa¸c˜oes geo-referenciadas (i.e. dados que descrevem eventos ou objetos localizados sobre. 1.

(20) 2. ˜ 1.2 MOTIVAC ¸ AO. a superf´ıcie terrestre, e s˜ao definidos pelo OGC (Open Geospatial Consortium) [51, 53] como Fei¸co ˜es Geogr´ aficas). SIG s˜ ao aplica¸c˜oes computacionais capazes de manipular e analisar informa¸c˜oes baseadas em sua localiza¸c˜ao no espa¸co. No contexto de Suporte a` Decis˜ao, os SIG s˜ao aplicados em diversos ramos como planejamento urbano e rural, controle ambiental, gerenciamento de servi¸cos de utilidade p´ ublica, e administra¸c˜ao de recursos naturais. A utiliza¸c˜ao das funcionalidades dos SIG no contexto SSD, deram origem a uma nova categoria de sistemas, chamado de Sistemas Espaciais de Suporte a` Decis˜ao (SESD) [162]. A cria¸c˜ao de ambientes computacionais de aux´ılio a` tomada de decis˜oes, utilizando as tecnologias rec´em listadas, juntamente com processos de administra¸c˜ao eficientes, deu origem ao termo BI (Business Intelligence - Inteligˆencia de Neg´ocios) [285, 68, 236]. O que torna um processo eficiente ´e o fato de que as decis˜oes s˜ao tomadas a partir de informa¸c˜oes geradas pela an´ alise de dados, internos e/ou externos a` organiza¸c˜ao, e n˜ ao simplesmente por intui¸c˜ao ou pela percep¸c˜ao do que acontece. Para a constru¸c˜ao de ambientes de BI, as empresas podem optar entre uma s´erie de ferramentas comerciais e de dom´ınio p´ ublico dispon´ıveis atualmente, que englobam, principalmente, Sistemas de Gerenciamento de Banco de Dados (SGBD) com extens˜oes para manipula¸c˜ao de dados geogr´aficos (e.g.. [75, 57, 55, 275, 196, 154, 228]) e servidores OLAP. ([74, 68, 150, 58, 56, 61, 279, 295, 263, 224]). Uma an´ alise comparativa detalhada destas ferramentas, pode ser encontrada em [77, 83]. Recentemente, foi introduzido o termo SOLAP (Spatial On-Line Analytical Processing) [248] que abrange a jun¸c˜ao de todos os conceitos e tecnologias listadas anteriormente e tamb´em envolve a defini¸c˜ao da base de dados multidimensionais e geogr´ aficos, denominados Data Warehouse Geogr´ afico (DWG) [296, 21, 120, 283]. Entretanto, at´e o presente momento, as abordagens para a integra¸c˜ao entre as tecnologias SIG, DW e OLAP n˜ao s˜ao consenso na literatura de banco de dados, e diversos pontos se encontram em aberto. Isto serve de motiva¸c˜ao para o desenvolvimento da presente pesquisa, na qual abordaremos algumas das lacunas presentes na defini¸c˜ao e implementa¸c˜ao de ambientes SOLAP. 1.2. ˜ MOTIVAC ¸ AO. Atualmente, in´ umeros trabalhos vˆem sendo realizados na ´area de integra¸c˜ao entre processamento anal´ıtico-multidimensional e geogr´ afico. Dentre os mais recentes, podemos citar [287, 175, 177, 251, 18, 19, 252, 247, 248, 231, 111, 112, 232, 229, 104]. Entretanto, devido aos dois ambientes serem originalmente concebidos para prop´ ositos distintos, esta integra¸c˜ao n˜ ao ´e trivial. O objetivo principal destas pesquisas ´e fornecer um ambiente com funcionalidades integradas para manipula¸c˜ao, consulta e an´ alise tanto de dados convencionais quanto de dados geogr´ aficos. Esse novo tipo de ambiente, tamb´em chamado de SOLAP [248], beneficia o processo de tomada de decis˜oes estrat´egicas por aumentar o universo de an´ alises que podem ser realizadas a respeito do.

(21) ˜ 1.2 MOTIVAC ¸ AO. 3. neg´ ocio de uma organiza¸c˜ao. Por´em, at´e o momento, esta integra¸c˜ao n˜ ao tem sido totalmente alcan¸cada ou faz uso de tecnologias propriet´ arias, o que muitas vezes, encarece e dificulta a evolu¸c˜ao e reutiliza¸c˜ao das solu¸c˜oes existentes. Acreditamos que um ambiente SOLAP ideal deve ser aberto, extens´ıvel e independente de plataforma e deve congregar: 1) ferramentas para extra¸c˜ao, transforma¸c˜ao e leitura dos dados convencionais e geogr´aficos presentes em diferentes fontes; 2) um Data Warehouse Geogr´ afico (DWG) para base de dados anal´ıticos e geogr´aficos integrados; 3) metamodelos para o DWG e para o conjunto de metadados de integra¸c˜ao; 4) um mecanismo para processamento anal´ıticomultidimensional e geogr´afico; 5) uma linguagem de consulta com sintaxe integrada para a utiliza¸c˜ao simultˆanea tanto de operadores anal´ıticos quanto de operadores espaciais e 6) uma aplica¸c˜ao cliente com uma interface amig´avel para a elabora¸c˜ao, submiss˜ao, manipula¸c˜ao e visualiza¸c˜ao dos resultados. Por´em, nenhuma das abordagens de integra¸c˜ao propostas at´e o momento contempla todos estes items. A fim de fornecer um ambiente SOLAP satisfat´ orio, que seja aberto e extens´ıvel, em nossas pesquisas temos estudado formas de prover ao usu´ario, uma abstra¸c˜ao da complexidade normalmente agregada `as atividades que tˆem como objetivo definir esquemas de DWG, cubos de dados geogr´ aficos e especificar consultas sobre dados anal´ıticos e geogr´aficos para a tomada de decis˜ao [283, 81, 113, 115, 79, 82, 116, 83, 82]. Um aspecto importante ´e o desenvolvimento de uma linguagem de consulta geogr´aficamultidimensional, que permita a utiliza¸c˜ao simultˆ anea, tanto de operadores anal´ıticos como de operadores espaciais. Isso possibilitaria a recupera¸c˜ao de informa¸c˜oes relevantes ao processo de tomada de decis˜ao, abstraindo ao m´ aximo, a complexidade existente em uma tarefa dessa natureza. Assim, o foco principal desta tese ´e a defini¸c˜ao e implementa¸c˜ao de uma linguagem anal´ıtica-multidimensional e geogr´ afica. A nossa principal motiva¸c˜ao ´e o fato de ainda n˜ ao existir na literatura de banco de dados, uma linguagem com uma sintaxe u ´nica para integrar operadores multidimensionais e espaciais. In´ umeras propostas encontradas na literatura abordam o desenvolvimento de linguagens de consulta espacial (e.g. [45, 46, 97, 107, 172, 193]). Entretanto, a maior parte delas apresentase como uma extens˜ao da SQL (Structured Query Language) padr˜ ao [157]. Dessa forma, o processamento anal´ıtico-multidimensional n˜ ao ´e considerado de forma satisfat´ oria. Embora a SQL padr˜ ao permita a realiza¸c˜ao de algumas an´alises de cunho anal´ıtico-multidimensional, ela n˜ ao apresenta a eficiˆencia e as vantagens oferecidas por linguagens de consulta voltadas para processamentos dessa natureza, como ´e o caso da MDX (Multidimensional Expressions) [201, 67] e outras propostas encontradas na literatura [27, 135, 217]. Mesmo a MDX possuindo alguma semelhan¸ca com a sintaxe da SQL padr˜ ao, esta n˜ ao ´e uma extens˜ao de SQL, caracterizando-se como uma outra linguagem, com caracter´ısticas vantajosas no que se refere `a consulta de dados em bases de dados multidimensionais. Outros estudos encontrados na literatura tamb´em mencionam as dificuldades existentes em realizar opera¸c˜oes.

(22) 1.3 OBJETIVOS. 4. anal´ıticas com SQL [27, 243, 135]. Por sua vez, linguagens de consulta como MDX, voltadas especialmente para processamento multidimensional, n˜ao se preocupam com a quest˜ao espacial, a qual ´e de extrema relevˆancia para o processo de tomada de decis˜oes estrat´egicas em um contexto geogr´ afico-multidimensional. Neste contexto se insere a linguagem GeoMDQL (Geographic and Multidimensional Query Language [84, 81], que estende MDX com funcionalidades para an´ alise de dados espaciais e at´e o momento, ´e uma das poucas linguagens de consulta com sintaxe integrada e otimizada para ambientes SOLAP. Todos os aspectos relacionados com a linguagem GeoMDQL, incluindo sua gram´ atica, sintaxe, arquitetura, implementa¸c˜ao e aplica¸c˜oes, ser˜ao apresentadas no restante deste documento. 1.3. OBJETIVOS. Para guiar o desenvolvimento desta tese, alguns objetivos foram definidos, os quais ser˜ ao detalhados nesta se¸c˜ao. 1.3.1. Objetivo Geral. O foco central deste trabalho ´e a defini¸c˜ao e implementa¸c˜ao de uma linguagem que contemple as caracter´ısticas presentes nas principais linguagens de consulta anal´ıtico- multidimensional e geogr´aficas encontradas na literatura atualmente, agregando, de forma transparente ao usu´ ario, o poder de processamento pertinente a estes dois tipos de recupera¸c˜ao e an´ alise de dados (anal´ıtico-multidimensional e geogr´afico). Especificar e implementar uma linguagem com tal funcionalidade ´e objetivo principal das pesquisas apresentadas neste documento. Por´em, ´e importante observar que as linguagens de consulta espa¸co-temporais n˜ao s˜ao consideradas nesta tese. 1.3.2. Objetivos Espec´ıficos. Para alcan¸car o objetivo geral deste trabalho, algumas metas s˜ ao almejadas: Estudo detalhado dos diversos tipos de operadores anal´ıticos e espaciais presentes nas principais propostas existentes na literatura, verificando como eles podem ser reutilizados em nossa pesquisa; Defini¸c˜ao do modelo de Data Warehouse Geogr´ afico e de Cubo de Dados Multidimensionais e Geogr´aficos utilizados em nossa abordagem; Especifica¸c˜ao da gram´ atica e dos operadores de GeoMDQL;.

(23) 1.4 ESTRUTURA DA TESE. 5. Defini¸c˜ao da arquitetura e tecnologias para a implementa¸c˜ao da nova linguagem de consulta, disponibilizando uma aplica¸c˜ao para processamento anal´ıtico-multidimensional e geogr´ afico. O trabalho apresentado nesta tese est´ a relacionado com as seguintes publica¸c˜oes: [78] Joel da Silva, Val´eria Times, Ana C. Salgado, Ajolina Oliveira, et al. A Set of Aggregation Functions for Spatial Measures, Proceedings of the Eleventh ACM International Workshop on Data Warehousing and OLAP, Napa Valley, CA, USA, 2008. [283] Val´eria Times, Robson Fidalgo, Rafael Fonseca, Joel da Silva, Anjolina de Oliveira A Metamodel for the Specification of Geographical DataWarehouses, Annals of Information Systems - http://www.springer.com/series/7573,issn 1934-3221, 2008. [81] Joel da Silva, Rafael Fonseca, Anjolina de Oliveira, Robson Fidalgo, Ana C. Salgado, Val´eria Times, Modelling and Querying Geographical Data Warehouses, Information System Journal - http://ees.elsevier.com/is/, issn 0306-4379, Submitted on Feb19-2008, Under Review. [84] Joel da Silva, Val´eria Times, Ana Carolina Salgado et al., Querying Geographical DataWarehouses with GeoMDQL, Brazilian Symposium on Databases (SBBD 2007), pages 223-237, Jo˜ao Pessoa, PB, Brasil, 2007. [120] Rafael Fonseca, Robson Fidalgo, Joel da Silva, Val´eria Times, Um Metamodelo para a Especifica¸ c˜ ao de Data Warehouses Geogr´ aficos, Brazilian Symposium on Databases (SBBD 2007), pages 193-207, Jo˜ao Pessoa, PB, Brasil, 2007. [83] Joel da Silva, Val´eria Times, Ana Carolina Salgado et al., An Open Source and Web Based Framework for Geographic and Multidimensional Processing , The 21st Annual ACM Symposium on Applied Computing, Track on Advances in Spatial and Image-based Information Systems (ACM SAC ASIIS’06), pages 63-67, Dijon, France, 2006. [80] Joel da Silva, Val´eria Times, Ana Carolina Salgado et al., Propondo uma Linguagem de Consulta Geogr´ afica Multidimensional, VI Brazilian Symposium on GeoInformatics, pages 479-489, Campos do Jord˜ ao, SP, Brasil, 2004. 1.4. ESTRUTURA DA TESE. Esta tese est´a organizada em 7 cap´ıtulos, conforme mostra o fluxograma da Figura 1.1..

(24) 6. 1.4 ESTRUTURA DA TESE. Figura 1.1 Organiza¸c˜ao da Tese. Cap´ıtulo 2 - Operadores e Linguagens: Este cap´ıtulo apresenta a revis˜ ao bibliogr´ afica referente `as principais propostas de linguagens de consulta e operadores para ambientes de processamento geogr´ afico e para ambientes de processamento anal´ıtico-multidimensional. Cap´ıtulo 3 - Processamento Multidimensional e Geogr´ afico: Neste cap´ıtulo, s˜ ao apresentadas as principais arquiteturas para processamento multidimensional e geogr´ afico dispon´ıveis na literatura de banco de dados. S˜ao descritas as principais caracter´ısticas de cada abordagem e ao final, um estudo comparativo ´e realizado. Cap´ıtulo 4 - Modelos de Dados e Fun¸ c˜ oes de Agrega¸ c˜ ao de Medidas:.

(25) 1.4 ESTRUTURA DA TESE. 7. Este cap´ıtulo cont´em as defini¸c˜oes formais dos nossos modelos de DWG e de cubo de dados, juntamente com as fun¸c˜oes para agrega¸c˜ao de medidas geogr´aficas, definidas em nossa abordagem. Cap´ıtulo 5 - A Linguagem de Consulta GeoMDQL: Este cap´ıtulo apresenta a linguagem GeoMDQL, proposta nesta tese, juntamente com a descri¸c˜ao de seus operadores, e de sua gram´atica e sintaxe. Cap´ıtulo 6 - Aspectos de Implementa¸ c˜ ao: Os aspectos de implementa¸c˜ao da nossa abordagem s˜ ao apresentados e discutidos neste cap´ıtulo. Tamb´em s˜ao demonstrados alguns dos resultados obtidos com a aplica¸c˜ao pr´ atica das implementa¸c˜oes em estudos de caso. Cap´ıtulo 7 - Conclus˜ oes e Trabalhos Futuros: Este cap´ıtulo traz um resumo do que foi apresentado neste documento, bem como algumas considera¸c˜oes finais sobre nossa pesquisa, nossas principais contribui¸c˜oes e algumas indica¸c˜oes de trabalhos futuros. Por fim, anexos a este documento, temos os Apˆendices A, B e C, nos quais s˜ao apresentados, respectivamente, a especifica¸c˜ao completa da gram´atica GeoMDQL, exemplos de fun¸c˜oes de agrega¸c˜ao e exemplos de consultas GeoMDQL com seus respectivos resultados..

(26) CAP´ITULO 2. OPERADORES E LINGUAGENS ˜ INTRODUC ¸ AO. 2.1. As linguagens de consulta e seus operadores s˜ao pontos indispens´ aveis quando abordamos a defini¸c˜ao, o armazenamento, a recupera¸c˜ao e a an´alise de dados. Dessa forma, este cap´ıtulo tem como objetivo apresentar um levantamento bibliogr´afico sobre as principais linguagens de consulta e operadores pertencentes aos ambientes de processamento geogr´afico e multidimensional. Este levantamento ser´a de extrema importˆancia para a especifica¸c˜ao e implementa¸c˜ao da nossa linguagem de consulta geogr´ afica e multidimensional GeoMDQL [84], que ser´ a apresentada com maiores detalhes no Cap´ıtulo 5. Este cap´ıtulo est´a estruturado da seguinte forma: Na Se¸c˜ao 2.2, s˜ ao apresentados alguns trabalhos relacionados com linguagens de consulta para dados geogr´ aficos e multidimensionais. Um levantamento sobre operadores geogr´aficos e multidimensionais ´e apresentado na Se¸c˜ao 2.3, e por fim, na Se¸c˜ao 2.4 s˜ao tecidas algumas considera¸c˜oes sobre o conte´ udo apresentado no presente cap´ıtulo. 2.2. LINGUAGENS DE CONSULTA. Nesta se¸c˜ao, ser˜ao listadas as principais propostas de linguagens de consulta dispon´ıveis na literatura de banco de dados. Abordaremos aqui, exclusivamente, trabalhos relacionados com linguagens de consulta para dados geogr´ aficos e para dados multidimensionais. 2.2.1. Linguagens de Consulta Geogr´ aficas. Um dos mais importantes trabalhos desenvolvidos no contexto das linguagens de consulta espacial ´e o apresentado em [97]. Neste trabalho, o autor prop˜ oe uma linguagem de consulta espacial, denominada Spatial SQL, a qual foi inspirada na SQL padr˜ ao [86, 157]. Esta linguagem ´e composta de duas partes: i) uma linguagem de consulta e ii) uma linguagem de apresenta¸c˜ao. A parte da linguagem respons´ avel pela recupera¸c˜ao dos dados ´e uma extens˜ao da SQL, preservando as cl´ ausulas SELECT-FROM-WHERE. Por sua vez, a parte da linguagem respons´ avel pela apresenta¸c˜ao gr´ afica dos dados, denominada GPL (Graphical Presentation Language) [96], permite que o usu´ ario defina as caracter´ısticas do ambiente de visualiza¸c˜ao dos dados espaciais. A proposta Spatial SQL baseia-se em outro trabalho do mesmo autor [99], no qual s˜ ao descritas. 8.

(27) 2.2 LINGUAGENS DE CONSULTA. 9. as caracter´ısticas desej´aveis de uma linguagem de consulta espacial, levando em considera¸c˜ao aspectos da interface com o usu´ario. No que se refere aos aspectos de implementa¸c˜ao da Spatial SQL, o autor ainda salienta que a linguagem proposta implementa somente um subconjunto da ´algebra espacial [138, 137] e parte das defini¸c˜oes formais dos relacionamentos topol´ ogicos [95]. V´arios conceitos e defini¸c˜oes relacionadas com a proposta Spatial SQL passaram a ser levadas em considera¸c˜ao no desenvolvimento de novas linguagens de consulta espacial e sistemas para processamento geogr´afico (e.g. [193, 172]). Neste mesmo contexto, o Cons´orcio Open GIS [53] apresentou a especifica¸c˜ao Simple Features Specification For SQL [45], com o intuito de definir um padr˜ ao baseado em SQL (Structured Query Language) [157, 86] que permitisse o armazenamento, a consulta e a altera¸c˜ao de cole¸c˜oes de fei¸c˜oes geogr´aficas simples via API ODBC [69]. Uma fei¸c˜ao geogr´ afica simples foi definida pela Open GIS Abstract Specification [53] para possuir tanto atributos espaciais como n˜ ao espaciais. De acordo com esta especifica¸c˜ao, as cole¸c˜oes de fei¸c˜oes geo-espaciais s˜ao armazenadas em um banco de dados relacional, no qual as tabelas contˆem colunas para representar os valores geom´etricos das fei¸c˜oes. Os atributos espaciais das fei¸c˜oes s˜ao armazenados em colunas de tipos de dados geom´etricos definidos para SQL. Por sua vez, os atributos n˜ ao espaciais das fei¸c˜oes s˜ao armazenados em colunas baseadas em tipos padr˜oes da SQL92 [157, 86]. Na Simple Features Specification For SQL, s˜ao descritos dois tipos de ambientes para implementa¸c˜ao de tabelas de fei¸c˜oes. No primeiro ambiente, denominado SQL92, uma coluna com valores geom´etricos ´e implementada utilizando o conceito de chave estrangeira em uma tabela de geometrias. Um valor geom´etrico ´e armazenado utilizando uma ou mais linhas de uma tabela de geometrias. Nesta abordagem, as tabelas de geometrias s˜ao implementadas utilizando tipos num´ericos da SQL padr˜ ao, ou ainda com os tipos bin´ arios da SQL. Este ambiente n˜ ao define uma fun¸c˜ao SQL para acesso, manuten¸c˜ao e indexa¸c˜ao de geometrias porque essas opera¸c˜oes n˜ao podem ser implementadas em sistemas de banco de dados utilizando os tipos de dados da SQL padr˜ ao. O segundo ambiente, referenciado na especifica¸c˜ao como SQL92 com Tipos Geom´etricos, ´e uma extens˜ao do ambiente SQL92, pois adiciona um novo conjunto de tipos geom´etricos. Nesta segunda abordagem, a coluna em uma tabela, a qual armazena valores geom´etricos, ´e implementada como uma coluna definida por Tipos Geom´etricos para SQL. Baseada no OGC Geometry Model [53]. Esta especifica¸c˜ao ´e tida hoje como padr˜ ao para defini¸c˜ao, manipula¸c˜ao e armazenamento de fei¸c˜oes espaciais. A maioria das outras propostas mais relevantes da ´area de processamento geogr´ afico leva em considera¸c˜ao esta especifica¸c˜ao (e.g. [123, 172, 193, 46]). As ferramentas comerciais e de dom´ınio p´ ublico para processamento geogr´ afico dispon´ıveis na atualidade tamb´em levam em considera¸c˜ao esta proposta (e.g. [241, 75]). Uma das poss´ıveis raz˜oes para isso ´e que a Simple Features Specification for SQL leva em considera¸c˜ao o trabalho de Egenhofer [94], o qual define formalmente os relacionamentos espaciais entre fei¸c˜oes espaciais. Outra proposta analisada, no contexto de linguagens de consulta a dados espaciais, ´e a linguagem GeoSQL apresentada em [107]. Nesta, os autores definem a GeoSQL, como uma.

(28) 10. 2.2 LINGUAGENS DE CONSULTA. linguagem de consulta que mant´em o mesmo estilo do SQL padr˜ao. GeoSQL ´e a linguagem de consulta espacial de um prot´ otipo de GIS orientado a objetos, denominado YH-GIS, o qual ´e respons´ avel por interpretar as consultas expressas em GeoSQL e por devolver o resultado da requisi¸c˜ao. Vale salientar que a proposta, apesar de ter sido publicada depois do lan¸camento do padr˜ ao Simple Features Specification [45] do OGC, n˜ ao o leva em considera¸c˜ao. A Filter Encoding Specification [46] ´e outra especifica¸c˜ao do OGC e define uma codifica¸c˜ao XML (eXtensible Markup Language) para representar express˜oes de filtro, baseadas em CQL (Common Query Language) [48, 50]. Uma express˜ao de filtro XML pode ser transformada em uma cl´ ausula WHERE de uma instru¸c˜ao SELECT da SQL para recuperar dados armazenados em bancos de dados relacionais. Da mesma forma, uma express˜ao de filtro pode ser transformada em uma express˜ao Xpath [288] ou Xpointer [289] para recuperar dados armazenados em documentos XML. Esta especifica¸c˜ao segue as diretrizes apresentadas na Simple Features Specification for SQL [45]. Esta especifica¸c˜ao ´e voltada para utiliza¸c˜ao de Servi¸cos Web [293] para processamento geogr´afico ou de Web Feature Services (WFS) [49]. Nesta especifica¸c˜ao, s˜ao descritos alguns operadores que podem ser utilizados em express˜oes de filtro. Estes operadores podem ser: i) Operadores Espaciais (e.g.. BBox, Contains, Crosses, Disjoint, Equals,. Intersects, Overlaps, Touches e Within), ii) Operadores L´ ogicos (e.g. And, Or e Not ) e iii) Operadores de Compara¸c˜ao (e.g. =, <, >, >=, <=, <>). SQL/SDA [172] ´e outra proposta que estende a SQL padr˜ ao para consulta e an´ alise de dados espaciais, baseando-se na especifica¸c˜ao Simple Feature Specification for SQL. A linguagem proposta segue a sintaxe de consulta da SQL, preservando as cl´ ausulas SELECT-FROM-WHERE. Al´em disso, ela possibilita a defini¸c˜ao de subconsultas na cl´ ausula FROM, facilitando a express˜ao de consultas complexas para a an´ alise de dados espaciais. O projeto de SQL/SDA tamb´em engloba uma interface gr´ afica escrita em Java que auxilia na elabora¸c˜ao das consultas por utilizar ´ıcones que representam as opera¸c˜oes mais utilizadas. No prot´otipo que implementa a linguagem SQL/SDA, as fei¸c˜oes geogr´aficas s˜ao armazenadas e gerenciadas pelo Oracle Spatial [75]. Dessa forma, a otimiza¸c˜ao e execu¸c˜ao das consultas fica a cargo do m´ odulo espacial implementado neste SGBD. Isto torna a abordagem dependente do componente propriet´ ario Oracle Spatial. Outro trabalho importante, que objetiva uma padroniza¸c˜ao para linguagens de consulta para sistemas de processamento geogr´afico ´e a ISO SQL/MM [123, 269]. Trata-se de um esfor¸co do comitˆe ISO para definir uma extens˜ ao da SQL padr˜ ao para tratamento multim´ıdia, e a parte 3 desta especifica¸c˜ao trata especificamente, das funcionalidades voltadas ao processamento geogr´ afico. A SQL/MM foi originalmente derivada do padr˜ ao OGC Simple Features Specification for SQL [45], o qual define um modelo abstrato para representa¸c˜ao de fei¸c˜oes geogr´aficas e de seus relacionamentos bem como apresenta diretrizes para defini¸c˜ao, manipula¸c˜ao e gerenciamento desses dados geogr´aficos. Detalhes adicionais sobre este trabalho podem ser encontrados em [123, 269]. Adicionalmente, em [216] pode ser encontrado um estudo sobre o impacto da nova.

(29) 2.2 LINGUAGENS DE CONSULTA. 11. gera¸c˜ao da SQL. O trabalho apresentado por Morris et al. [193] leva em considera¸c˜ao a especifica¸c˜ao Simple Features Specification for SQL do OGC e prop˜ oe uma nova linguagem visual para consulta a banco de dados geogr´ aficos. Esta proposta utiliza uma metodologia de filtro de fluxo para expressar os diferentes tipos de consultas dispon´ıveis em um SIG. A t´ecnica utilizada ´e a transforma¸c˜ao das consultas expressas em diagramas de fluxo para uma linguagem que estende a SQL padr˜ ao com opera¸c˜oes espaciais. Apoiada por uma interface gr´ afica bem elaborada, esta abordagem provˆe aos usu´ arios, uma maior facilidade para expressar consultas. A justificativa dos autores para propor uma nova linguagem de consulta visual est´ a baseada nos trabalhos de Max Egenhofer [92, 98], os quais salientam que as extens˜ oes espaciais da SQL padr˜ ao, por serem textuais, possuem sintaxe complexa e deixam a elabora¸c˜ao das consultas sujeita a erros. Atualmente, a maioria das ferramentas comerciais e de dom´ınio p´ ublico, que provˆeem o suporte para o processamento geogr´ afico, leva em considera¸c˜ao as especifica¸c˜oes ISO [123] e OGC [45]. Outros trabalhos foram desenvolvidos neste contexto de consulta a dados espaciais, entre eles podemos citar [138, 137, 93, 100, 95, 147, 286, 10, 174, 110, 98, 20, 22, 30, 40, 39, 54, 108, 23, 255, 31, 39]. 2.2.2. Linguagens de Consulta Anal´ıtica-Multidimensional. No passado, as fun¸c˜oes anal´ıticas eram realizadas fora dos SGBD, por ferramentas OLAP que utilizavam API n˜ ao padronizadas, gerando um gargalo nas aplica¸c˜oes devido a` transferˆencia de grandes quantidades de dados entre o servidor de banco de dados e o servidor OLAP e tamb´em dificultava a vida dos programadores de aplica¸c˜oes anal´ıticas devido a` falta de padroniza¸c˜ao e devido a` SQL padr˜ ao n˜ ao ser a linguagem mais apropriada para a realiza¸c˜ao de consultas anal´ıticas. Uma poss´ıvel solu¸c˜ao para este problema seria processar as fun¸c˜oes OLAP no servidor de banco de dados utilizando fun¸c˜oes SQL padronizadas [208]. Para isso, o comitˆe ANSI [121] publicou em 2000 um melhoramento para a SQL 1999, estendendo a mesma com a defini¸c˜ao de uma lista de fun¸c˜oes OLAP. Este trabalho teve a coopera¸c˜ao de grandes fornecedores de solu¸c˜oes OLAP como IBM/Infomix, Oracle e Microsoft. Em [27], ´e proposto o Multidimensional Calculus (MD-CAL). Nesse estudo, os autores comparam sua abordagem com diversas outras de mesmo prop´osito e existentes na literatura. Eles tamb´em compartilham a id´eia apresentada em [67, 243], de que a SQL padr˜ ao n˜ ao ´e a linguagem de consulta mais indicada para an´ alise de dados multidimensionais. MD-CAL ´e baseada na realiza¸c˜ao de c´alculos feitos em uma tabela de fato e oferece um suporte de alto n´ıvel para a an´ alise de dados multidimensionais. De acordo com a sintaxe da linguagem, fun¸c˜oes escalares e agregadas podem ser embutidas nas express˜oes de c´alculos de forma declarativa. Em outro trabalho dos mesmos autores, apresentado em [25], ´e feita uma compara¸c˜ao de duas linguagens de consulta baseadas em paradigmas diferentes e voltadas para o modelo de dados MD [29]..

(30) 2.2 LINGUAGENS DE CONSULTA. 12. A primeira ´e alg´ebrica e provˆe uma maneira eficiente de manipular dados multidimensionais de uma forma procedural. Entretanto, verificou-se que esta linguagem n˜ ao ´e adequada para usu´ arios finais e foi proposta ent˜ ao, uma linguagem de alto n´ıvel que permite aos usu´ arios, especificarem suas consultas de forma natural e intuitiva, sem que haja perda de expressividade da linguagem. Mais tarde, uma compara¸c˜ao entre trˆes linguagens de consulta para o modelo MD foi realizada. Esta compara¸c˜ao inclui a linguagem MD-A, que ´e uma linguagem alg´ebrica e provˆe um meio eficiente de manipular tabelas de fatos de forma procedural. A segunda linguagem ´e MD-C, uma linguagem declarativa baseada em c´ alculos de primeira ordem para realiza¸c˜ao de consultas `as tabelas de fatos. Finalmente, ´e apresentada a linguagem gr´ afica MD-G, a qual se destina a usu´ arios finais, uma vez que provˆe uma forma simples de especificar as consultas. Outra importante proposta no contexto de linguagens de consulta multidimensional ´e apresentada em [217]. Neste trabalho, a abordagem SQLM ´e descrita, a qual ´e composta por um modelo de dados, uma ´algebra formal e uma linguagem de consulta multidimensional. Uma das grandes vantagens desta abordagem ´e a capacidade de manipular hierarquias complexas e irregulares. A linguagem proposta ´e semelhante a SQL mas com algumas facilidades incorporadas para o tratamento de dados multidimensionais. Os conceitos listados no artigo s˜ ao aplicados a um estudo de caso real, no ramo de com´ercio eletrˆonico. O Modelo de dados SQLM ´e definido em termos de um cubo multidimensional, consistindo do nome do cubo, de dimens˜oes e da tabela de fatos com medidas num´ericas. Cada dimens˜ao ´e composta por hierarquias contendo n´ıveis e seus respectivos valores. A linguagem de consulta proposta, SQLM , ´e uma extens˜ao da SQL padr˜ ao com suporte para consultas OLAP. Uma consulta ´e constru´ıda utilizando as cl´ ausulas SELECT-FROM-WHERE-GROUP BY-HAVING da SQL padr˜ ao com algumas modifica¸c˜oes para permitir o uso de conceitos OLAP. Outro ponto interessante com rela¸c˜ao `a proposta SQLM ´e o fato da integra¸c˜ao com XML. A integra¸c˜ao ´e baseada no uso de express˜oes XPath [288] nas consultas SQLM . Mais detalhes sobre esta abordagem de integra¸c˜ao podem ser obtidos em [218]. Uma linguagem que pode ser considerada padr˜ ao de fato para realizar consultas em Bancos de Dados Multidimensionais ´e a MDX (Multidimensional Expressions) [265, 201]. Com a sintaxe da MDX, ´e poss´ıvel realizar consultas em um cubo de dados multidimensionais de forma a fornecer vis˜oes configur´ aveis dos dados em diferentes ˆangulos e n´ıveis de agrega¸c˜ao, por meio da utiliza¸c˜ao de operadores anal´ıticos. Embora a sintaxe MDX seja, em muitas formas, semelhante `a sintaxe da SQL (Structured Query Language) [157] esta n˜ ao ´e uma extens˜ao da SQL. Algumas das funcionalidades providas pela MDX podem ser fornecidas pela SQL, mas muitas vezes, isto n˜ ao ocorre de forma eficiente e intuitiva [67]. Como na SQL, a MDX provˆe uma sintaxe DDL (Data Definition Language) para gerenciar estruturas de dados. Com a sintaxe MDX, torna-se muito f´ acil a aplica¸c˜ao dos operadores OLAP tradicionais, gerando vis˜ oes configur´ aveis do cubo de dados multidimensional. Embora a palavra cubo sugira a existˆencia de trˆes dimens˜oes, um cubo de dados multidimensionais pode conter dezenas de dimens˜ oes. At´e a data da escrita deste.

(31) 2.3 OPERADORES. 13. documento, em sua vers˜ao mais recente, a linguagem MDX permite a especifica¸c˜ao de at´e 128 eixos em uma consulta. A especifica¸c˜ao dos eixos pode ser feita da seguinte forma. AXIS(0) (que pode ser substitu´ıdo por COLUMNS), AXIS(1) (que pode ser substitu´ıdo por ROWS), AXIS(2) (que pode ser substitu´ıdo por PAGES), AXIS(3)(que pode ser substitu´ıdo por CHAPTERS), AXIS(4) (que pode ser substitu´ıdo por SECTIONS) e AXIS(5), ... , AXIS(127). Entretanto, ´e bastante incomum a utiliza¸c˜ao de mais do que trˆes eixos em uma consulta MDX. MDX provˆe extensibilidade na forma de fun¸c˜oes definidas pelo usu´ ario que podem ser desenvolvidas em diversas linguagens de programa¸c˜ao. O usu´ ario cria e registra suas pr´ oprias fun¸c˜oes que operam em dados multidimensionais e tamb´em aceitam argumentos e valores de retorno na sintaxe de MDX. Outro estudo voltado para a an´ alise de dados multidimensionais ´e apresentado em [135]. Neste trabalho, o operador Data Cube, o qual possibilita agrupamentos, sub-totais e cruzamento de tabula¸c˜oes para an´ alise de dados, ´e definido. Com Data Cube tamb´em ´e poss´ıvel a utiliza¸c˜ao de operadores anal´ıticos como drill-down e roll-up. Como nas abordagens apresentadas em [67, 27, 243], os projetistas do Data Cube tamb´em comentam sobre as dificuldades encontradas em analisar dados multidimensionais utilizando o padr˜ ao SQL [86, 157]. Segundo os autores, Data Cube seria uma op¸c˜ao para sanar as deficiˆencias de an´alise multidimensional apresentadas pela SQL padr˜ ao. De todas as propostas citadas nesta se¸c˜ao, as mais difundidas s˜ao a ISO SQL OLAP [121] e a MDX [265, 201]. Estas duas propostas est˜ ao presentes em diversas ferramentas dispon´ıveis na atualidade (e.g. [208, 150, 70, 224]). Entretanto, a linguagem padr˜ ao de fato para consulta a bases multidimensionais ´e a linguagem MDX [244], dando ind´ıcios de uma poss´ıvel padroniza¸c˜ao num futuro pr´ oximo. Outros trabalhos, relacionados com manipula¸c˜ao e an´ alise de dados multidimensionais s˜ao descritos em [126, 128, 181, 182, 141, 6, 280, 284, 220, 230, 4]. 2.3. OPERADORES. As linguagens abordadas na se¸c˜ao anterior, disponibilizam aos usu´ arios, in´ umeros operadores para a formula¸c˜ao das requisi¸co˜es para recupera¸c˜ao e an´ alise de dados, geogr´ aficos e multidimensionais. Alguns destes operadores s˜ao discutidos nas pr´ oximas se¸c˜oes. 2.3.1. Operadores para Dados Geogr´ aficos. De acordo com Rigaux et al. [246], podemos classificar os operadores sobre dados espaciais em sete grupos, de acordo com a assinatura do operador, ou seja, a quantidade de argumentos e o tipo de retorno. Estes grupos s˜ ao: i) Un´ ario com Resultado Booleano; ii) Un´ ario com Resultado Escalar; iii) Un´ ario com Resultado Espacial; iv) N-´ ario com Resultado Espacial; v) Bin´ ario com Resultado Espacial e vi)Bin´ ario com Resultado Booleano; vii)Bin´ ario com Resultado Escalar..

(32) 2.3 OPERADORES. 14. Esta classifica¸c˜ao de operadores ´e discutida nesta se¸c˜ao porque ela foi utilizada na defini¸c˜ao das fun¸c˜oes de agrega¸c˜ao de medidas espaciais e dos operadores da linguagem GeoMDQL (Cap´ıtulos 4 e 5), por ser a mais completa dentre as que foram estudadas. Os operadores da classe Un´ ario com Resultado Booleano testam propriedades de um objeto espacial, como por exemplo, testam se o objeto ´e convexo, se est´a conectado, se ´e v´alido, se ´e um anel, entre outros. Por sua vez, os operadores da classe Un´ ario com Resultado Escalar, s˜ao aqueles que, quando aplicados a um objeto geogr´ afico retornam um valor correspondente a uma medi¸c˜ao. Como exemplos de operadores desta categoria, temos os que s˜ao usados para calcular a a´rea, o per´ımetro, o comprimento, a quantidade de geometrias, a quantidade de pontos e a quantidade de an´eis internos. J´ a os operadores do tipo Un´ ario com Resultado Espacial s˜ao aqueles que mapeiam geometrias em geometrias. Como exemplos podemos citar Buffer [180], ConvexHull [45], BBox [45], (Clipping) ou Recorte [44] e Centroid [45]. No grupo N-´ ario com Resultado Espacial, est˜ao aqueles operadores que mapeiam n-tuplas de geometrias em geometrias. Como esta classifica¸c˜ao considera a assinatura da opera¸c˜ao, alguns dos operadores presentes na categoria anterior (i.e. Operador Un´ ario com Resultado Espacial ) podem se encaixar nesta categoria, como ´e o caso do ConvexHull ou Clipping de v´ arios objetos geogr´ aficos. Outro exemplo ´e a constru¸c˜ao de diagramas de Voronoi [87]. Como exemplo de operadores da classe Bin´ ario com Resultado Espacial encontram-se aqueles que mapeiam pares de geometrias em geometrias, como as opera¸c˜oes de uni˜ ao, intersec¸c˜ao e diferen¸ca. Quanto aos operadores Bin´ ario com Resultado Booleano, podemos citar os operadores topol´ ogicos e operadores cardinais. Baseado no modelo das nove intersec¸c˜oes [94], o OGC [51, 45] definiu algumas opera¸c˜oes topol´ogicas entre fei¸c˜oes geogr´aficas. Estas opera¸c˜oes incluem Toca, Cruza, Sobrep˜ oe, Cont´em, Disjunto, Intersecta e Igualdade. Os operadores cardinais (i.e. Ao Norte De, Ao Sul De, Ao Leste De, Ao Oeste De, Ao Nordeste De, Ao Noroeste De, Ao Sudeste De e Ao Sudoeste De ) [132, 133, 260, 232, 133, 42, 89] tamb´em fazem parte desta categoria. Por fim, como exemplo da classe Bin´ ario com Resultado Escalar, temos os operadores que mapeiam pares de geometrias em valores escalares. Como ´e o caso do operador de distˆ ancia, que retorna a distˆ ancia entre dois objetos geogr´ aficos. 2.3.2. Operadores para Dados Multidimensionais. Existem na literatura in´ umeras propostas de opera¸c˜oes sobre dados multidimensionais [298, 240, 135, 168, 230, 297]. Em OLAP, temos algumas opera¸c˜oes tradicionais como ´e o caso das opera¸c˜oes de agrega¸c˜ao e desagrega¸c˜ao (e.g. Roll-UP, Drill-Down e Group-By, sele¸c˜ao e proje¸c˜ao (e.g. Rotate ou Pivot, Slice e Dice) e opera¸c˜oes para navega¸c˜ao na estrutura do cubo de dados, como ´e o caso dos operadores All, Members, Ancestor e Children, presentes na linguagem MDX.

(33) 2.3 OPERADORES. 15. [297]. Todas estas opera¸c˜oes s˜ao realizadas sobre o cubo de dados multidimensionais. O Operador Group-By foi inicialmente criado para utiliza¸c˜ao em bancos de dados relacionais, entretanto em seguida, ele passou a ser utilizado em aplica¸c˜oes OLAP. Este operador foi originalmente apresentado por Gray et al. [134, 135], sendo subseq¨ uentemente redefinido por Lehner [168], Hurtado, Mendelzon e Vaisman [146] e tamb´em por Nguyen, Tjoa e Wagner [200] para utiliza¸c˜ao em consultas anal´ıticas juntamente com os novos modelos de dados multidimensionais propostos por eles. Outro importante operador encontrado na literatura ´e o Data Cube. Este operador foi proposto em [135], sendo posteriormente redefinido por Gyssens e Lakshamanan [141] e Nguyen, Tjoa e Wagner [200], tamb´em para ser utilizado em consultas anal´ıticas juntamente com os novos modelos de dados multidimensionais propostos pelos autores. Data Cube ´e uma generaliza¸c˜ao n-dimensional de fun¸c˜oes de agrega¸c˜ao simples, como por exemplo o Group By. O operador Roll-Up ou Drill-Up decrementa o detalhe de uma medida, agregando esta medida ao longo de uma determinada hierarquia. Problemas na aplica¸c˜ao desse operador podem surgir quando o mesmo ´e aplicado sobre hierarquias n˜ ao regulares. Este operador foi proposto inicialmente em [134, 135]. Em seguida, foi redefinido por Cabibbo e Torlone [27], Lehner [168], Nguyen, Tjoa e Wagner [200] e em Pedersen, Jensen e Dyreson [222] para utiliza¸c˜ao em conjunto com os novos modelos de dados propostos. Por outro lado, o operador Drill-Down realiza o inverso do Roll-UP, ou seja, ele aumenta os detalhes de uma medida ao longo de uma hierarquia. S´ o ´e poss´ıvel aplicar uma opera¸c˜ao de Drill-Down se conhecemos as leis de desagrega¸c˜ao dos dados. O Drill-Down foi originalmente proposto por Gray et al. [134], sendo posteriormente redefinido por Lehner [168], Cabibbo e Torlone [27], Nguyen, Tjoa e Wagner [200] e por Pedersen, Jensen e Dyreson [222]. A aplica¸c˜ao do operador Rotate ou Pivot [240] modifica a orienta¸c˜ao das dimens˜oes de um cubo multidimensional. Em outras palavras, se imaginarmos uma tabela multidimensional, a aplica¸c˜ao deste operador far´ a com que as informa¸c˜oes que estavam sendo mostradas nas colunas passem a ser visualizadas nas linhas e vice-versa. Os operadores Slice e Dice nos permitem selecionar partes espec´ıficas de um determinado cubo de dados multidimensionais. Em [141], os autores definem esses operadores como sendo um caso especial de sele¸c˜ao relacional para bancos de dados multidimensionais. O operador Slice reduz as dimens˜oes ou a cardinalidade de um cubo multidimensional por meio da elimina¸c˜ao de uma ou mais dimens˜oes. Por sua vez, o operador Dice restringe os valores de uma dimens˜ao mas n˜ao diminui a cardinalidade do cubo [240]. Exemplos de opera¸c˜oes para navega¸c˜ao na estrutura do cubo multidimensional s˜ ao os operadores presentes na linguagem MDX [297]. Entre eles, temos o All, que retorna o n´ıvel mais alto de uma hierarquia espec´ıfica; Members que retorna o conjunto de membros de uma dimens˜ao, n´ıvel ou hierarquia; Ancestor que retorna o ancestral de um membro em um n´ıvel especificado; e Children que retorna o conjunto de filhos de um membro espec´ıfico..

(34) ˜ 2.4 CONSIDERAC ¸ OES. 16. Outra categoria de opera¸c˜oes muito utilizadas em OLAP podem ser classificadas como opera¸c˜oes distributivas (e.g. Contagem, M´ınimo, M´ aximo e Somat´ orio), alg´ebricas (e.g. M´edia, Desvio Padr˜ ao, M´ aximo N e M´ınimo N ) e hol´ısticas (e.g. Mediana, Maior Freq¨ uˆencia e Rank ) [134], que tamb´em est˜ao presentes na linguagem MDX. Para an´ alises OLAP, tamb´em podemos encontrar opera¸c˜oes de conjunto, para manipula¸c˜ao de membros de um cubo de dados multidimensionais, como ´e o caso do Crossjoin, Intersect e Union. Estes operadores realizam, respectivamente, o produto cartesiano, a intersec¸c˜ao e a uni˜ ao de conjuntos. Al´em de opera¸c˜oes para an´ alises estat´ısticas, como os operadores BottomPercent e TopPercent que implementam a an´ alise de Pareto [261], todos estes operadores s˜ao implementados na linguagem MDX. Uma lista completa dos operadores OLAP implementados por MDX pode ser encontrada em [297, 201, 67]. 2.4. ˜ CONSIDERAC ¸ OES. Como podemos notar neste cap´ıtulo, apesar de v´ arios trabalhos propostos abordarem o desenvolvimento de linguagens de consulta espacial, a maior parte delas apresenta-se como uma extens˜ao da SQL padr˜ ao. Dessa forma, o processamento anal´ıtico-multidimensional n˜ ao ´e considerado de forma satisfat´ oria. Embora a SQL padr˜ ao permita a realiza¸c˜ao de algumas an´ alises de cunho anal´ıtico-multidimensional, ela n˜ ao apresenta a eficiˆencia e as vantagens oferecidas por linguagens de consulta voltadas para processamentos dessa natureza, como ´e o caso da MDX e de outras propostas encontradas na literatura. Por sua vez, linguagens de consulta como a MDX e as demais linguagens citadas neste cap´ıtulo, as quais est˜ ao voltadas especialmente para processamento multidimensional, n˜ ao se preocupam com a quest˜ao espacial, a qual ´e de extrema relevˆancia para o processo de tomada de decis˜ oes estrat´egicas em um contexto geogr´ afico-multidimensional. Tanto no universo geogr´ afico quanto no multidimensional, diversas abordagens foram propostas at´e o momento para consulta a bases de dados multidimensionais e geogr´aficos. Contudo, podemos perceber que alguns resultados relativos a uma padroniza¸c˜ao tˆem sido obtidos. Isso se deve ao lan¸camento de especifica¸c˜oes como a ISO SQL Espacial [123] e a SQL do OGC [45] que est˜ao sendo levadas em considera¸c˜ao pela maioria dos trabalhos mais recentes bem como pelas ferramentas de an´ alise espacial presentes na atualidade (e.g. [241, 75, 55, 196]). Ind´ıcios de padroniza¸c˜ao s˜ao vis´ıveis no contexto anal´ıtico-multidimensional com o lan¸camento das especifica¸c˜oes da MDX [201, 67] e ISO SQL OLAP [121], as quais s˜ ao levadas em considera¸c˜ao pela maioria das ferramentas com caracter´ısticas de an´ alise multidimensional dispon´ıveis na atualidade (e.g. [70, 74, 56, 224]), conforme apresentado em [244]. Vale salientar que entre essas ferramentas anal´ıticas, a MDX tem sido considerada como o padr˜ ao de fato para consultas a bases multidimensionais. No que se refere aos operadores multidimensionais e geogr´aficos dispon´ıveis na literatura,.

(35) ˜ 2.4 CONSIDERAC ¸ OES. 17. e implementados pelas linguagens citadas neste cap´ıtulo, podemos notar que trabalhos como o de Max Egenhofer [94, 99, 95] foram muito importantes para a aquisi¸c˜ao de uma padroniza¸c˜ao dos operadores geogr´ aficos. Como prova disso, temos a especifica¸c˜ao do OGC [45] que ´e um dos padr˜ oes seguidos atualmente para implementa¸c˜ao de aplica¸c˜oes geogr´aficas, que leva em considera¸c˜ao os conceitos definidos por ele. Da mesma forma, a ISO SQL MM [123] utiliza conceitos de ambos os trabalhos [94, 45], o que tem mostrado que algumas opera¸c˜oes sobre dados espaciais est˜ao de certa forma, bem definidas formalmente, testadas e existe um consenso entre os autores sobre esses conceitos e formaliza¸c˜oes. Quanto aos operadores anal´ıticos, tamb´em notamos que existe uma grande quantidade de propostas relacionadas. Entretanto, os operadores mais difundidos entre as linguagens de consulta e ferramentas para processamento anal´ıtico s˜ao os operadores de agrega¸c˜ao e desagrega¸c˜ao (i.e. Drill Down e Roll UP ) e de sele¸c˜ao (i.e. Slice e Dice), os quais s˜ao bastante utilizados em an´ alises sobre dados multidimensionais [240]. Finalmente, podemos concluir que ainda n˜ ao temos conhecimento de uma linguagem de consulta que ofere¸ca funcionalidades para processamento tanto geogr´ afico quanto multidimensional. Nenhuma linguagem estudada apresenta uma sintaxe que integre operadores anal´ıticos e geogr´aficos o que se caracteriza como um problema em aberto e serve de motiva¸c˜ao para nossas pesquisas. Um levantamento bibliogr´ afico mais detalhado sobre linguagens de consulta e operadores pode ser encontrado em [77]. No pr´ oximo cap´ıtulo, apresentaremos as principais propostas dispon´ıveis na literatura de banco de dados, que tˆem como objetivo a integra¸c˜ao entre os processamento geogr´afico e multidimensional. Muitas destas propostas utilizam linguagens e operadores listados neste cap´ıtulo para an´ alise de dados..

Referências

Documentos relacionados

(Você compra alguns livros durante a semana?) Aff.: I bought some books last week. (Eu comprei alguns livros

O objetivo, tal como visto anteriormente, era traçar um modelo de quadro descritivo para a emissão da ‘Opinião Desfavorável’ em português do Brasil que pudesse servir de suporte

CARATERÍSTICAS -Cerda pura grey -Virola niquelada -Cabo plástico (Polipropileno) SUPERFÍCIES A TRATAR Cimento, betão reboco e outras superfícies, metais, madeira e

Juventudes e Ensino de Sociologia: um diálogo...| Raphaella Gonçalves Teixeira | Adelson Dias de Oliveira 18 Frente às narrativas apresentas e as conjecturas construídas no

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

• Não há inflação de alimentos, há inflação, causada por choques cambiais, auxílio emergencial, problemas fiscais e má gestão de estoques públicos;. • O Brasil precisa

O Toxoplasma gondii é o coccídeo causador da Toxoplasmose, zoonose de grande importância em saúde pública. Esse parasito possui um ciclo de vida que alterna entre o

Bruno Medeiros Apoio - Acadêmicos Lucas Pizzi Filipe Botelho Dani Morawski Eduardo Bandinelli Josuel Berto Alves Filho Larissa Ponzoni. Caio Alves