Modelagem Relacional e Multidimensional: uma análise envolvendo Sistemas de Apoio a decisão Rita Cristina Galarraga Berardi, Flávia Braga de Azambuja, Ana Marilza Pernas, Rodrigo Coelho Barros Departamento de Informática Universidade Federal de Pelotas (UFPEL) Caixa Postal 354-96010-900 Capão do Leão RS Brasil {ritacgb, azambuja, marilza, rbarros.ifm}@ufpel.edu.br Abstract. This paper presents the characteristics of the relational and multidimensional models, their main differences and cases in which each model is used. Initially it presents the specific functionalities of each model and, at the same time, makes a comparative sample between them. Lastly, it presents the case study of the Database existent at city hall of Pelotas, where it s been identified the need of a specific decision support system, having the multidimensional database as its best option due to the activities the system will have to attend. Resumo. Este trabalho apresenta as características dos modelos relacional e multidimensional, suas principais diferenças e mostra os casos em que cada tipo é comumente utilizado. Inicialmente mostra as funcionalidades específicas de cada tipo e, paralelamente, realiza um comparativo entre os dois modelos. Por fim mostra o estudo de caso do Banco de Dados da Prefeitura Municipal de Pelotas, onde identificou-se um sistema específico de apoio à decisão (SAD) com o modelo multidimensional como melhor alternativa devido às funções que o sistema deveria cumprir. 1. Introdução O tratamento estratégico de informações, hoje em dia, pode ser visto como uma prática poderosa no mundo dos negócios. No entanto, além de conhecer as informações é preciso saber a melhor forma de obtê-las, tratá-las e disponibilizá-las. Identificou-se a necessidade de uma análise sobre os modelos relacional e multidimensional, reconhecendo vantagens e desvantagens de sua utilização, para que uma base de dados seja modelada de forma que viabilize o mais otimizado tratamento aos dados. De nada adianta para uma organização ter um grande volume de dados sem que estes estejam organizados de forma a agregar valor. Agregar valor em uma instituição significa transformar dados em informações úteis. A modelagem dimensional é uma abordagem que pode dar sentido a esta montanha de dados [DOMENICO 2001]. O foco deste trabalho está em apresentar as características dos modelos relacional e multidimensional, suas diferenças, e mostrar os casos em que cada tipo é comumente utilizado. Como etapa inicial, serão mostradas as características de cada modelo e, paralelamente, será feito um comparativo entre eles. Na seqüência, será
apresentado um estudo de caso dirigido, através do qual é possível notar as vantagens da decisão da utilização de uma modelagem multidimensional quando se tem um volume muito grande de dados e se busca um tratamento estratégico, como em ambientes de apoio à decisão (SAD). 2. Modelagem Relacional e Multidimensional Os Sistemas de Apoio à Decisão (SAD) são sistemas Informatizados interativos que proporcionam ao usuário um acesso fácil a modelos decisórios e dados a fim de dar apio a atividades de tomada de decisão. Para que a arquitetura do SAD esteja de acordo com as necessidades dos usuários existe uma preocupação com relação à análise, extração e armazenamento da base de dados, bem como a organização destes dados aos usuários de forma que eles possam aproveitar ao máximo as informações desta base [ANNES,2006]. Faz-se necessário um estudo sobre os modelos existentes para modelar a base de dados. 2.1 Modelo Relacional Segundo Elmasri (2000), o modelo relacional representa o banco de dados como uma coleção de relações. Informalmente, cada relação se assemelha a uma tabela de valores, ou, até certo ponto, a um arquivo de registros. Os bancos de dados deste tipo suportam processamento de transações on-line (OLTP), que incluem inserções, atualizações e exclusões, ao mesmo tempo que suportam requisitos de informações sobre consultas. São otimizados para processar consultas que podem afetar uma pequena parte do banco de dados, bem como transações que lidam com inclusões ou atualizações de algumas tuplas por relação, a serem processadas. [ELMASRI 2000]. Para tornar o armazenamento e o acesso a dados em disco mais fáceis, os modelos relacionais são gerenciados por um Sistema Gerenciador de Banco de Dados (SGBD), o que traz muitas vantagens e facilidades relacionados ao projeto, à administração e à utilização de um grande banco de dados utilizado por vários usuários. Um SGBD eficiente proporciona maior segurança e controle ao banco de dados relacional, como por exemplo, através da aplicação de controle de redundâncias, restrição de acesso não-autorizado, restrição de integridade e inconsistência de dados através de normalização, representação de relacionamentos complexos entre os dados, entre outras funcionalidades. Devido a estas características que o SGBD proporciona ao modelo relacional, as bases de dados relacionais tornaram-se a mais apropriadas para sistemas que precisam desses tipos de controles, por serem acessadas por um grupo de usuários com permissão de alteração, acesso, consulta e inserção. Estes sistemas são definidos como operacionais, pois tratam dados de transações operacionais diárias das organizações. O modelo relacional garante a redução de vários problemas aos dados com a utilização das regras de normalização, porém, não é garantido que todo o tipo de sistema necessite de toda esta estrutura de controle. Um projeto OLTP totalmente normalizado para um sistema de controle de pedidos, por exemplo, pode envolver dezenas de tabelas e tornar muito difícil o processo de obtenção de informações a partir destas tabelas. Isso porque o modelo relacional já foi desenvolvido para atender aos sistemas operacionais e
a normalização evita redundâncias de tal forma que não haja preocupação com o sincronismo de dados nas operações de atualização, facilitando a manutenção da integridade desses dados nas tabelas [UNICAMP 1998]. Por todas as características apresentadas, o modelo relacional é um tipo de modelo eficiente para sistemas que manipulam dados operacionais, no entanto, não representa a modelagem mais apropriada para um sistema SAD que se utiliza apenas de duas funções básicas: carga e acesso aos dados, podendo até prejudicar o desempenho das funções que um sistema deste tipo deve cumprir. O que deve se compreender é que a utilização total e fiel do tipo de modelagem relacional não é a mais otimizada, porém adotar o modelo multidimensional não significa que não sejam utilizadas tabelas relacionais em momento algum do projeto dimensional. Pode ocorrer uma aplicação híbrida das funções, tendo uma visão multidimensional dos dados, representados fisicamente por tabelas relacionais. 2.2. Modelagem Multidimensional A modelagem multidimensional é uma técnica de concepção e visualização de um modelo de dados de um conjunto de medidas que descrevem aspectos comuns de negócios. É utilizada especialmente para sumarizar e reestruturar dados e apresentá-los em visões que suportem a análise dos valores desses dados [MACHADO 2004]. Partindo de uma grande quantidade de dados, com a técnica de modelagem multidimensional é possível alcançar um nível de organização diferente das técnicas de análise por transação, que se baseiam em entidades, decomposições funcionais e relacionamentos [UNICAMP 2006]. O tipo de modelo abordado no trabalho é o estrela, por ser mais utilizado. Existe uma grande tabela dominante no centro do esquema. Esta tabela central é a única no esquema que se comunica com as outras tabelas, através de múltiplas junções. As outras tabelas se conectam à tabela central através de uma única junção. A tabela central é denominada tabela de fatos (fact table) e as outras são as tabelas de dimensões (dimension tables) (KIMBALL, 1996). A tabela de fatos é onde as medidas numéricas do negócio são armazenadas. Cada uma dessas medidas é obtida da intersecção de todas as dimensões. Cada fato representa um item, uma transação ou um evento de negócio e que é utilizado na análise de uma organização. As tabelas dimensões são os elementos que participam de um fato, determinam um contexto de um assunto de negócios, por exemplo, um banco de dados que analisa as vendas de produtos, as dimensões que participam desse fato geralmente são Tempo, Localização, Cliente e Vendedores. Outro tipo de modelo multidimensional é o floco de neve, o qual consiste em uma extensão do modelo estrela em que cada ponta da estrela passa a ser o centro de outras estrelas. Apesar deste modelo apresentar vantagens, Kimball (1996) não aconselha a transformação de modelos estrela para floco de neve, devido ao irrelevante impacto em termos de ganho de espaço de armazenamento. O banco de dados multidimensional dá suporte e aperfeiçoa manipulações matemáticas (quantidade total vendida em determinado espaço de tempo), financeiras (cálculos com valores, conversões financeiras), estatísticas e de tempo (quantos dias há
entre duas datas, por exemplo), assim como somatório de valores referentes a níveis de uma hierarquia de dados (data, mês, semestre, ano) [MACHADO 2004]. Por estas características específicas é que este tipo de modelo vem ao encontro do que se busca na gestão de negócio, bem como responder a alguns questionamentos referentes ao desempenho de determinados assuntos durante um espaço de tempo, além de buscar cenários para análise estratégica de decisões. Portanto a modelagem multidimensional, com todas suas características e especificidades de tratamento dos dados, é a modelagem mais utilizada e apropriada para sistemas SAD, os quais proporcionam integração máxima e rápida dos dados para responder perguntas complexas a partir dos dados. 2. 2. 1 A Tecnologia de Data Warehousing No contexto de tecnologias para construção de ambientes SAD destaca-se a tecnologia de Data Warehousing a qual consiste basicamente no processo de extrair informações de Banco de Dados distintos, integrar e armazenar estas informações de uma forma íntegra e possibilitar consultas rápidas e inteligentes sobre a base de dados gerada [SCHLÖTTGEN 2006]. Entende-se então que, por este comportamento, esta é uma tecnologia adequada quando se pretende alcançar um modelo tipicamente de uso estratégico e que se utiliza de grandes quantidades de dados. O Data Warehouse proporciona uma sólida e concisa integração dos dados de uma organização, para a realização de análises gerenciais estratégicas de seus principais processos de negócio, procurando integrar e consolidar as informações de fontes internas, na maioria das vezes heterogêneas, e fontes externas, sumarizando, filtrando e limpando esses dados, preparando-os para análise e suporte à decisão [MACHADO 2004]. A modelagem de dados para Data Warehouse é completamente diferente da utilizada em sistemas operacionais. O simples mapeamento do modelo de dados transacional para um banco de dados específico e a inserção de dados históricos não representa a efetiva construção de um Data Warehouse. A adoção desta estratégia não possibilita a manipulação eficiente desses dados, pois as forma de tratamento de dados transacionais é totalmente diferente da forma de tratamento de dados históricos. De acordo com Machado (2004), a maioria das técnicas de modelagem concorda que a aplicação completa da teoria relacional não é apropriada para o Data Warehouse. Com o advento do Data Warehouse necessitou-se de uma técnica que suportasse o ambiente de análise multidimensional dos dados. Entretanto, o modelo relacional pode ser usado para ambientes de Data Warehouse com técnica para modelagem multidimensional específica, como veremos em seguida. 2. 2. 2 Tecnologia OLAP Analistas usam Data Warehouses para extrair informações de negócios que facilitam a tomada de decisões. Este interativo processo de suporte a decisão é chamado OLAP (On-line Analytical Processing) diferentemente das aplicações convencionais para transações OLTP (On-line Transaction Processing). As ferramentas OLAP são as aplicações às quais os usuários finais têm acesso para extrair os dados de suas bases e construir os relatórios capazes de responder às questões gerenciais.
Aplicações de tecnologia OLAP requerem uma visão dos dados baseada em diferentes perspectivas, dimensões e assim apresentam uma visão multidimensional dos dados aos usuários [GUPTA 2006]. Quando a Base de Dados pode ser visualizada como um cubo de 3, 4 ou até 5 ou mais dimensões, as pessoas podem se imaginar partindo e fatiando em cubos cada uma das dimensões [KIMBALL 1996]. 3. Estudo de Caso: Banco de Dados da Prefeitura Municipal de Pelotas A Coordenadoria para Desenvolvimento Local e Regional, implantada no ano de 2005 pela Prefeitura de Pelotas, empreendeu esforços e propôs debates com a comunidade no sentido de: reunir dados capazes de traçar um perfil realista e abrangente da realidade atual, que permitam quantificar e qualificar as diferentes dimensões da vida comunitária; organizar estes dados em forma de apresentação capaz de estimular investidores internos e externos; examinar, discutir e priorizar estratégias capazes de possibilitar a desejada aceleração no processo de desenvolvimento [FETTER 2005]. A Prefeitura Municipal de Pelotas preparou um conjunto de dados, na forma de apresentação de slides, como mostra a Figura 1, para oferecer aos empresários e interessados em investir na região o maior número de informações possível sobre os segmentos da sociedade, como saúde, educação, trânsito e aspectos naturais como clima, geografia, entre outros. A partir destes dados, os investidores poderiam tomar a decisão de investir ou não na cidade, dependendo dos índices apresentados referentes à sua respectiva área de interesse. Para a construção deste documento, buscaram informações a partir de bases de dados já existentes, on-line ou não, automatizadas ou não, coletando ainda dados de forma empírica, tentando agrupar dados que, apesar de não organizados, foram julgados pertinentes pela administração da cidade. Figura 1: Uma tela do Banco de Dados inicial da Prefeitura Através destas pesquisas, se obteve um grande aglomerado de dados, de forma organizada, mas não adequada para buscas objetivas de informação, como quando se utiliza bancos de dados automatizados. Estes dados estavam dispostos na forma de textos longos e tabelas estatísticas de onde eram gerados gráficos. No entanto, o Banco de Dados que a Prefeitura conseguiu construir não era o ideal frente às necessidades. A forma de armazenamento era crítica, uma vez que
arquivos slides com grande número de informações, como textos, imagens, gráficos, são arquivos que por sua forma dificultam o armazenamento e portabilidade destes dados. Devido a estas dificuldades, a Prefeitura motivou-se a obter uma solução para os problemas, através de um Sistema de Informação de Apoio a Decisão (SAD) e disponibilizá-lo da forma mais fácil e rápida possível a Web. Com o objetivo de suprir a infra-estrutura necessária para que os empresários e investidores pudessem analisar a realidade social da região de Pelotas, foram propostas pesquisas para definir quais as técnicas de Bancos de Dados melhor se adequavam a fim de modelar um sistema de informações que abrangesse todos os requisitos referentes aos objetivos da Prefeitura. A partir do tratamento adequado, os dados deveriam estar mais organizados e possibilitariam a busca de informações relevantes sobre a cidade e a região através da aplicação de técnicas de descoberta de conhecimento em Bancos de Dados junto a esse sistema [FAVARETTO 2006]. 3.1 Tecnologias aplicadas ao sistema de apoio a decisão Tendo em vista a grande quantidade de dados que a Prefeitura possuía sobre os vários segmentos da sociedade, e que os usuários deste sistema buscariam informações sobre diferentes assuntos, integrando-os das mais diversas e complexas formas, definiu-se a necessidade de utilizar a técnica de Data Warehousing e a modelagem multidimensional. Outro fator que contribuiu para esta definição foi o aspecto temporal que estas aplicações permitem, uma vez que os dados que a Prefeitura de Pelotas possuía eram atualizados em um período de tempo relativamente grande com relação ao tempo levado para atualização das bases operacionais. O volume de dados que a Prefeitura disponibilizava era suficientemente grande para não considerar a modelagem relacional como alternativa e também o aspecto investigativo de análise seria prejudicado. A partir desta definição foram feitas várias passagens pelos slides a fim de eliminar os dados que não eram armazenáveis, como gráficos, sendo estes gerados automaticamente por recursos de programação, de forma automática sobre o sistema. Desta forma, foi possível realizar a modelagem das dimensões e fatos do modelo estrela, escolhido para a modelagem, como mostra a Figura 2.
Figura 2: Modelo multidimensional do tipo estrela. Adaptado de Kimball (1996) Dentro das abordagem OLAP existentes, a utilizada é a HOLAP em que as tabelas são relacionais e a análise realizada através dos cubos é multidimensional, caracterizando assim uma abordagem híbrida. Figura 3: Cubo com as dimensões Nível de Ensino,Rede de Ensino e Tempo. A Figura 3 ilustra um dos cubos modelados para a Prefeitura, onde cada ponto do cubo contém valores do Fato Matrícula. Os valores são a quantidade de matrículas por nível de ensino nas redes escolares em um determinado ano. 4. Conclusão Ao longo deste artigo foram apresentadas características dos modelos relacional e multidimensional, analisando os tipos de sistema em que cada modelo era mais adequado. Percebeu-se com estudos e pesquisa que modelagem de dados, para aplicação de tecnologias na gestão de dados, precisa ser específica e apropriada ao objetivo do usuário final. No caso em que foi estudado, o da Prefeitura Municipal de Pelotas, o usuário final é um investidor que busca informações integradas e rápidas, caracterizando assim um Sistema de Informação de Apoio à Decisão. No desenvolvimento do estudo de caso da Prefeitura, se evidenciou o fato de que as empresas realmente têm interesse em obter dados sobre assuntos relevantes, mas que reunir estes dados em sua totalidade pode provocar conseqüências que realmente comprometem a usabilidade estratégica dos mesmos. Com base no comparativo entre os dois modelos, foi possível concluir que para um ambiente SAD, como o que a prefeitura objetivava, com busca de informação analítica e rápida, em grande quantidade, a modelagem multidimensional com a técnica de Data Warehouse foi definida como a mais otimizada e completa. Referências Annes, Ricardo, Sistemas de Apoio à Decisão, disponível em < http://pucrs.campus2.br/~annes/sad2.html>. Acesso em 30 julho de 2006.
Domenico, J.A. (2001), Definição de um ambiente Data Warehouse em uma instituição de ensino superior, Dissertação (Mestrado em Engenharia de Produção) Programa de Pós-graduação em Engenharia de Produção, UFSC, Florianópolis. Elmasri, R. e Navathe, S.B. (2005), Sistemas de Bancos de Dados, 4º ed. Addison Wesley Longman, Inc Favaretto, F. e Rhoden, C.A., Considerações sobre atividades de identificação, localização e tratamento de dados na construção de um Data Warehouse, disponível em http://www.deinfo.uepg.br/~iconged/artigos/artigo_05.pdf. Acesso em 02 maio de 2006. Fetter, Adolfo Jr. (2005) Estratégia(s) para Atrair Investimentos em Pelotas. Gupta, H., Harinarayan, V., Rajaraman, A. e Ullman, J.D. Index Selection for OLAP, disponível em<http://citeseer.ist.psu.edu/gupta97index.html>. Acesso em 02 maio de 2006. Harinarayan, V., Rajaraman, A. e Ullman, J.D. Implementing Data Cubes Efficiently, disponível em<http://citeseer.ist.psu.edu/harinarayan96implementing.html>. Acesso em 05 maio de 2006. Kimball, R. (1996), The Data Warehouse Toolkit., John Wiley & Sonns, Inc Laudon, K. C.(2004), Sistemas de Informações Gerencias, 5 ed. São Paulo Machado, F.N.R. (2004), Tecnologia e Projeto de Data Warehouse, 1º ed. São Paulo Revista da UNICAMP, Análise Multidimensional. Informativo Técnico no. 54(16/09/98), disponível em: <http://www.revista.unicamp.br/infotec/informacao/inf54.htm>. Acesso em: 09 maio de 2006 Schlöttgen, Alexandre, Aspectos Temporais de um Data Warehouse, disponível em <www.inf.ufrgs.br/~clesio/cmp151/cmp15120011/artigo_alexandre.doc>. Acesso em 28 maio de 2006 Zhuge, Y., Garcia-Molina, H., Hammer, J. e Widom, Jennifer. View Maintenance in a Warehousing Environment, disponível em <http://citeseer.ist.psu.edu/zhuge95view.html>. Acesso em: 09 maio de 2006