Implantação de um Data Mart na CEASA

Autores: José Eduardo Rodrigues Priscilla Machado Thales Ramos de Queiroz - GPS

Este é um trabalho acadêmico que foi desenvolvido para aprovação da matéria de projeto final.

 

1 - INTRODUÇÃO

A informação tornou-se o bem mais importante tanto na administração pública quanto na administração privada. Tendo posse de informações os administradores podem tomar decisões confiáveis e melhorar processos internos. Na administração pública, além do interesse em satisfazer a população, oferecendo serviços eficientes, existe a necessidade premente de conter despesas.

 

Diante deste cenário, os órgãos do governo precisam assimilar e validar os dados que possuem para transformá-los em informação. Uma das formas de obter esta informação é através de Data Mart, que supre às organizações meios de acessar seus dados e analisá-los.

Com o surgimento de novas tecnologias de informação, mais especificamente na área de negócios, tornou-se importante a implantação de um processo que forneça informações gerenciais para tomada de decisão, como um Data Mart.

No caso da Centrais de Abastecimento do Paraná - CEASA-PR, onde o principal negócio da empresa é a movimentação de hortigranjeiros, é interessante a utilização de uma ferramenta que possibilite flexibilidade e agilidade na manipulação de informações. De posse destas informações, problemas podem ser detectados e contornados com base no histórico das movimentações. Contornados os erros e otimizados os processos, gastos supérfluos podem ser eliminados, o tempo para execução dos trabalhos pode ser reduzido e, conseqüentemente, os custos de produtos ou serviços podem ser minimizados. Todo este esforço visa melhorar os serviços prestados pela CEASA-PR.

2 - OBJETIVOS DA CEASA

 

Como visualizar informações sobre produtos hortigranjeiros referentes a:

  • Quais são os maiores exportadores de produtos hortigranjeiros para o Estado do Paraná?

  • Quais os principais produtos comercializados pela CEASA?

  • Qual o núcleo da CEASA que mais comercializa no Estado?

  • Quais os períodos do ano onde ocorre a maior comercialização de produtos?

Como contextualizar dados, especificar metas administrativas plausíveis e tomar decisões com segurança relacionadas ao movimento de produtos hortigranjeiros na CEASA-PR?

3 - OBJETIVOS DO PROJETO

Disponibilizar ao cliente formas de analisar e comparar informações históricas sobre a movimentação de produtos hortigranjeiros comercializados na CEASA, oferecendo subsídios que permitam a otimização das atividades comerciais e gerenciais nestes estabelecimentos. As etapas do projeto foram divididas da seguinte forma:

  • Especificar quais informações o cliente necessita para a tomada de decisões.

  • Verificar a quantidade de dados disponíveis que permita uma análise baseada no histórico de informações.

  • Estudar a estrutura de dados utilizada pela CEASA para o cadastro das informações.

  • Pesquisar qual o melhor esquema para desenvolver o Data Mart, baseado nos recursos disponíveis no cliente.

  • Desenvolver um Data Mart contendo informações sobre a movimentação de produtos hortigranjeiros na CEASA;

  • Avaliar o nível de segurança que a aplicação requer.

  • Avaliar qual a periodicidade de atualização de dados que o negócio requer.

4 - CONSIDERAÇÕES TEÓRICAS

O Data Warehouse, é um "armazém" de dados. É uma base de dados carregada de forma incremental em um período de tempo. Organiza e armazena os dados necessários para o processamento informatizado e analítico sobre perspectivas históricas ao longo do tempo, tendo como principal objetivo transformar o dado em informação. É uma arquitetura que utiliza banco de dados desenvolvido para análise e tomada de decisões em bases sumarizadas e também detalhadas, com o intuito de contemplar os segmentos da empresa ou organização.

 O Data Warehouse pode revolucionar os negócios da empresa. Ao ser bem elaborado e implementado, e caso seja cuidadosamente direcionado para a chamada "inteligência de negócio", ele pode tornar-se uma vantagem competitiva. Esta ferramenta está fazendo surgir novos conceitos de gestão da informação, tipo de consultas e análise de negócios.

 Data Warehouse compõe uma estrutura apenas para leitura, onde os dados podem estar armazenados no formato relacional ou multidimensional e são populados a partir de bancos relacionais. Sendo OLAP ( On-line Analytical Processing) e não OLTP (On-line Transaction Processing), deve ser desenhado com o propósito de permitir a análise dos dados.

 A Análise Multidimensional, presente no Data Warehouse, permite confeccionar relatórios muito mais flexíveis e com a execução de Drill Down e Roll Up, bem como análise dos dados de forma interativa.

 Um Data Mart não é uma evolução de um Data Warehouse, mas sim parte das estratégias deste. Um Data Mart é um subconjunto de dados de um Data Warehouse, desenhado para suportar uma necessidade de negócio ou uma unidade organizacional específica. O Data Mart deve se incorporar à arquitetura de Data Warehouse, sem perder a visão conjunto.

 Um Data Mart é muito similar ao Data Warehouse, com algumas exceções, pois opera um conjunto menor de dados e com um enfoque departamental, enquanto que o Data Warehouse tem uma visão corporativa.

 Em resumo um Data Mart obedece os mesmos conceitos de um Data Warehouse, diferenciando-se somente no conteúdo.

 5 - ESPECIFICAÇÕES TÉCNICAS

Figura 1 - Desenho do Processo

5.1 - Transformação e Carga dos Dados

Na etapa Transformação e Carga dos dados apresentada na Figura 1, os dados são transformados para que se possa enquadrar na nova estrutura desenhada para o Data Warehouse. Nesta etapa é necessário o uso de um banco de dados Access para a geração da tabela de dimensão Tempo. As demais tabelas de dimensões e a tabela Fato são extraídas diretamente do banco de dados operacional da CEASA.

Na figura 2 é apresentado o modelo do sistema operacional, do qual são extraídos os dados para o

Data Warehouse. Na seqüência é apresentada a figura 3 que mostra o modelo do Data Warehouse desenhado no formato star schema.

 

 

Figura 2 - Modelo do Sistema Operacional

 Figura 3 - Modelo do Data Warehouse (star schema)

Para que os dados sejam lidos, transformados e carregados do sistema operacional (figura 2) para o Data Mart (figura 3) de modo automatizado, foi utilizado o DTS (Data Tranformation Server) da Microsoft. Na figura 4 é apresentado o modelo do processo de transformação e carga dos dados.

 

Figura 4 - Modelo do processo de transformação e carga dos dados

5.1.1 - Volume dos Dados

 Neste Projeto, foram carregados no Data Mart apenas os dados referentes ao Ano de 1998 a 2001, sendo que para 2001 apenas até dia 15/02. Na tabela 2 é apresentado o volume de dados para cada um dos anos:

 

Ano

Volume dos dados

1998

64.003

1999

188.246

2000

297.669

2001 (até 15/02)

35.671

Tabela 2 - Volume dos dados por ano

 

5.2 - Ferramenta OLAP

Na etapa nomeada como Ferramenta OLAP da Figura 1, é apresentado o processo para a extração dos dados do Data Mart. Neste projeto foram utilizados softwares da solução Business Objects, são eles: O Designer e o Business Object.

 

5.2.1 - Designer

O Designer é o software para a criação de universos. O universo é uma camada intermediária entre a ferramenta OLAP e o banco de dados. Neste universo são criados todos os objetos que serão utilizados e manipulados pelo usuário na ferramenta OLAP. No universo podemos definir:
  • A associação de um objeto a 1 ou mais campos no banco de dados.

  • Os relacionamentos existente entre as tabelas do banco.

  • Os tipos de objetos: dimensão, detalhe e filtro.

  • Hierarquias pré-definidas.

  • Objetos mensuráveis.

  • Direitos de acesso de cada um dos objetos criados

 

5.2.2 - Business Objects

 O Business Objects é a ferramenta de OLAP utilizada para a análise dos dados. Ao manipular os objetos previamente criados no Designer, é montado internamente o comando select para a seleção dos dados no Data Mart.

 No Business Object é possível fazer uma série de operações, tais como:

  • Geração de consultas e relatórios.

  • Operações de Slice & Dice, Roll Up e Drill Down para análise dos dados.

  • Gráficos diversos.

  • Tabelas simples e tabelas de referência cruzada.

  • Operações matemáticas diversas, tais como: somatórias, médias, percentagens e desvio padrão.

  • Filtros globais, sinalizadores, ranking.

Na seqüência (figura 5), um exemplo de relatório gerado no Business Objects.

 

 

Figura 5 - Relatório gerado no Business Object.

 

6 -DESCRIÇÃO DETALHADA DOS PROCESSOS DA CARGA DE DADOS NO DTS.

Processo 1 - Criação de tabela temporária de Produtos (TB_TempDIM_Produto)

 Objetivo: Criar uma tabela temporária com os códigos dos produtos. Estes códigos serão utilizados em um 2º momento para a geração do Código do Produto na tabela Fato.

Comando:

SELECT codgrupo, codproduto, codqualidade, desctipo, siglunidade, embalagem, valfatorconversao
FROM tb_qualidade
ORDER BY 1,2,3,4,5,6

 

Processo 2 - Gerar dimensão Produto (DIM_Produto)

Objetivo: Gerar os dados para popular a tabela de dimensão Produto. (DIM_Produto)

 

Comando:

SELECT tb_tempDim_Produto. ID_PRoduto, tb_grupo.descGrupo, tb_produto.descProduto, tb_qualidade.descqualidade, tb_qualidade.desctipo, tb_qualidade.siglUnidade, tb_qualidade.embalagem
FROM tb_grupo, tb_produto, tB_qualidade, tb_tempDim_Produto
WHERE tb_produto.codgrupo = tB_grupo.codgrupo and tb_produto.codgrupo = tb_qualidade.codgrupo and tb_produto.codproduto = tB_qualidade.codproduto and tb_tempDim_Produto.grupo = tb_qualidade.codgrupo and tb_tempDim_Produto.nomeproduto = tB_qualidade.codproduto and tb_tempDim_Produto. qualidadeproduto = tb_qualidade.codqualidade and tb_tempDim_Produto.unidadecomercializacao= tB_qualidade.siglunidade
ORDER BY 1,2,3,4,5,6

 

Processo 3 - Gerar dimensão Tempo (DIM_Tempo)

 Objetivo: Gerar os dados para popular a tabela de dimensão tempo (DIM_Tempo). Foi criada uma tabela com todos os registros necessários no Access e neste processo os dados são simplesmente replicados para a tabela DIM_Tempo no Data Warehouse.

 

Processo 4 - Gerar dimensão Unidade de Abastecimento (DIM_UnidadeDeAbastecimento)

Objetivo: Gerar os dados para popular a tabela de dimensão Unidade de Abastecimento. (DIM_UnidadeDeAbastecimento)

 Comando:

SELECT  tb_unidadeabastecimento,
codunidabastecimento,
tb_cidade.nomecidade
FROM tb_unidadeabastecimento, tb_cidade
WHERE tb_unidadeabastecimento.codcidade = tb_cidade.codreduzido

 

Processo 5 - Gerar dimensão Município de Origem (DIM_MunicipioOrigem)

Objetivo: Gerar os dados para popular a tabela de Município Origem. (DIM_MunicipioOrigem)

 

Comando:

SELECT codreduzido,nomecidade,siglUF
FROM  tb_cidade

 

Processo 6 - Verificar se a geração das dimensões estão OK.

Objetivo: Este processo verifica se todos os Processos de 1 a 5 foram executados com sucesso, ou melhor, se todas as dimensões foram geradas.

Caso todas as dimensões tenham sido geradas, este processo habilita o processamento do processo nº 7.

 

Processo 7 - Gerar Fato de Produtos Comercializados (FATO_ProdutosComercializados)

Objetivo: Este processo gera a tabela Fato dos produtos comercializados na CEASA/PR (FATO_Produtos Comercializados). Este processo é o principal e mais pesado de toda a carga de dados.

Comando:

SELECT Temp1.ID_Produto as ID_Produto, codReduzido as ID_MunicipioOrigem,codUnidAbastecimento as ID_UnidadeDeAbastecimento,substring(convert(char(20), dataMovimento,104),7,4) +substring(convert(char(20), dataMovimento,104),4,2) +substring(convert(char(20), dataMovimento,104),1,2) as ID_Tempo,sum(ValQuantidade) as ValQuantidadeComercializado, avg(ValPrecoProduto) as PrecoProdutoComercializado, avg(ValPrecoProduto * Temp1.conversao) as PrecoProdutoPadrao
FROM TB_TempDIM_Produto Temp1, TB_Movimento Mov, TB_Cidade Cid, TB_UnidadeAbastecimento Unid
WHERE Temp1.Grupo = Mov.codgrupo and Temp1.Nomeproduto = Mov.codProduto and Temp1.QualidadeProduto = Mov.codQualidade and Temp1.UnidadeComercializacao = Mov.siglUnidade and Mov.dataMovimento >= '01/01/1998' and Mov.dataMovimento <= '02/15/2001' and Cid.codReduzido = Mov.codCidOrigem and Unid.codUnidAbastecimento = Mov.codUnidadeCEASA
GROUP BY Temp1.ID_Produto, codReduzido, codUnidAbastecimento, substring(convert(char(20), dataMovimento,104),7,4) + substring(convert(char(20), dataMovimento,104),4,2) + substring(convert(char(20), dataMovimento,104),1,2)
ORDER BY Temp1.ID_Produto, codReduzido, codUnidAbastecimento, substring(convert(char(20), dataMovimento,104),7,4) + substring(convert(char(20), dataMovimento,104),4,2) + substring(convert(char(20), dataMovimento,104),1,2)
 

7 - CONCLUSÃO

 

Após o término da fundamentação teórica e do trabalho prático, constatou-se que um Data Mart fornece subsídios para a empresa tomar decisões de suma importância.

 

O primeiro passo para a construção do Data Mart, foi a definição de um roteiro para a execução das atividades previstas. A existência deste roteiro garante o cumprimento de todas as etapas necessárias ao projeto e a definição de prazos condizentes com a realidade.

A etapa onde foram encontradas as maiores dificuldades foi o processo de transformação e carga dos dados, principalmente na geração da tabela Fato. As principais dificuldades encontradas foram:

 
  1. Geração das chaves primárias para as dimensões;

  2. Transformação dos dados do sistema operacional para o novo layout no Data Mart;

  3. Inconsistências no sistema operacional (na tabela MunicipioOrigem, onde deviam constar o nome e a unidade federativa de municípios, além do código de identificação, estão cadastradas localidades de outros países);

 

Contudo, acredita-se que o objetivo proposto foi amplamente atingido, dando condições aos integrantes da equipe de planejar, criar e gerenciar um Data Mart.

Referências 

[DBA, 1999]. DBA ENGENHARIA DE SISTEMAS. Curso de modelagem multidimensional. São Paulo: [s.ed.], 1999. 

[COS, 2000]. COSTA, C. M. et al. Proposta de um roteiro para projetar uma data warehouse. Curitiba: FAE, 2000. 

[SAN, 2000]. SANTOS, André. Curso de modelagem multidimensional e data warehouse. Curitiba: [s.ed.], 2000.

 [CAL, 2000]. CALSAVARA, A. Banco de dados e data warehouse. Curitiba: [s.ed.], 2000. (Disciplina do Curso de Especialização em Tecnologias para Sistemas de Informação da Pontifícia Universidade Católica do Paraná).

 [CEL, 2001]. COMPANHIA DE INFORMÁTICA DO PARANÁ. Portfólio de tecnologias CELEPAR: SQL, índices, modelo de dados, banco de dados. Curitiba, 20 de janeiro de 2001.

 [INM, 1999]. INMON, W. H. eta al. Gerenciando data warehouse. São Paulo: Makron Books, 1999.