monografia data werehouse

102
 Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Data Warehouse para Sistemas de Gestão Empresarial  Douglas Rodrigo Ferreira TFC-09-05 Maringá - Paraná Brasil

Upload: alessandra-ferreira

Post on 11-Jul-2015

835 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 1/102

 

Universidade Estadual deMaringáCentro de TecnologiaDepartamento de Informática

Data Warehouse para Sistemas de Gestão Empresarial

 Douglas Rodrigo Ferreira

TFC-09-05 

Maringá - Paraná

Brasil

Page 2: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 2/102

 

Universidade Estadual de MaringáCentro de Tecnologia

Departamento de Informática

Data Warehouse para Sistemas de Gestão Empresarial

 Douglas Rodrigo Ferreira

TFC-09-05 

Trabalho Final de Curso apresentado ao Curso deInformática, do Centro de Tecnologia, da Universidade

Estadual de Maringá.Orientador: Prof. Dra. Maria Madalena Dias

Maringá - Paraná

Page 3: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 3/102

 

2005

3

Page 4: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 4/102

 

Douglas Rodrigo Ferreira 

Data Warehouse para Sistemas de Gestão Empresarial

Este exemplar corresponde à redação final da monografia aprovada como requisito parcial para obtenção do grau de Bacharel em Informática da Universidade Estadual de Maringá,

 pela banca examinadora formada pelos seguintes membros:

 ________________________________________ 

Orientador: Profa. Dra. Maria Madalena DiasDepartamento de Informática, CTC, DIN

 ________________________________________ Profa. Sarajane Marques Peres

Departamento de Informática, CTC, DIN

 ________________________________________ Prof. Jucimar de Almeida Mendes

Departamento de Informática, CTC, DIN

Maringá, Dezembro de 2005

Page 5: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 5/102

 

Universidade Estadual de MaringáDepartamento de Informática

Av. Colombo 5790, Maringá-PR CEP 87020-900

Tel: (44) 2614324 Fax: (44) 2635874

Page 6: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 6/102

 

 Agradecimentos

Agradeço aos meus amigos que me estimularam a continuar. Agradeço de uma forma

especial ao diretor da empresa em que eu trabalho Ademir Sanches Faria que acreditou no

meu trabalho e na minha capacidade de chegar até o fim. Presto ainda meus

agradecimentos a professora Dra. Maria Madalena Dias que me guiou no desenvolvimento

deste trabalho.

Page 7: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 7/102

 

Resumo

Atualmente os Sistemas de Gestão Empresarial vem concentrando um grande volume de

dados baseados em operações transacionais realizadas no sistema. Entre esses dados existe

uma séries informações que influenciam na tomada de decisão dos gestores da empresa.

Estes sistemas não são capazes de oferecer a flexibilidade e a agilidade para o cruzamento

de informações e levantamento de dados históricos, seja visualizando os dados de uma

forma sintética ou de uma forma detalhada.

Desta forma, este trabalho propõe o desenvolvimento de um Data Warehouse para um

Sistema de Gestão. Data Warehouse é um banco de dados contendo dados preparados para

facilitar a busca de informações para o suporte à tomada de decisões. Esta forma a

construção de um DW visa transformar dados brutos operacionais em dados analíticos

 possibilitando definir metas, encontrar objetos de foco, extrair oportunidades, decisões

sobre estratégias futuras, interpretar comportamentos por meio de dados históricos, entre

outras mais necessidades de uma empresa.

O objetivo desta proposta é a construção de um DW para agilizar o processo de tomada de

decisão, e definição de estratégias a partir de determinados comportamentos identificados

no Data Warehouse e amparar as ações tomadas em informações concisas.O resultado deste projeto é um DW para gestão empresarial. Além disto, são geradas

visões do DW através de ferramentas OLAP como o Microsoft Excel ou o Oracle

Discoverer.

Page 8: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 8/102

 

 Abstract  

Currently the Systems of Enterprise Management come concentrating a great volume of 

data based on operations do business carried through in the system. Between these data it

exists series information that influence in the taking of decision of the managers of the

company. These systems are not capable to offer to flexibility and the agility for the

crossing of information and historical data-collecting, either visualizing the data of one

form synthetic or of a detailed form. Of this form, this work considers the development of 

one Warehouse Date for a System of Management. Data Warehouse is a data base

contends given prepared to facilitate the search of information for the support to the taking

of decisions. This form the construction of a DW aims at to transform given rude

operational into analytical data making possible to define goals, to find focus objects, to

extract chances, decisions on future strategies, to interpret behaviors by means of historical

data, among others more necessities of a company. The objective of this proposal is the

construction of a DW to speed the process of decision taking, and definition of strategies

from determined behaviors identified in the Date Warehouse and to support the actions

taken in concise information. The result of this project is a DW for enterprise

management. Moreover, views of the DW through tools OLAP are generated as theMicrosoft Excel or the Oracle Discoverer.

Page 9: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 9/102

 

Índice

INTRODUÇÃO ...............................................................................................................................1

UMA VISÃO GERAL DE DATA WAREHOUSE .......................................................................2

2.1 CONCEITO DE DATA WAREHOUSE......................................................................................................22.2 CARACTERÍSTICAS DO DATA WAREHOUSE ..........................................................................................22.3 MODELAGEM DOS DADOS...................................................................................................................32.4 GRANULARIDADE..............................................................................................................................42.5 DATA MART....................................................................................................................................42.6 AMBIENTE DE DATA WAREHOUSE......................................................................................................52.7 MOTIVOS PARA CONSTRUÇÃO DE UM DW EM UMA ORGANIZAÇÃO.........................................................5

2.8 COMPONENTES DE UM DATA WAREHOUSE..........................................................................................62.9 CONSIDERAÇÕES FINAIS.....................................................................................................................6

FERRAMENTAS DE APOIO ........................................................................................................7

3.1 MATERIAIS E MÉTODOS....................................................................................................................73.2 SGBD ORACLE...............................................................................................................................73.3 ORACLE WAREHOUSE BUILDER .........................................................................................................73.4 ANALYSIS MANAGER .........................................................................................................................83.5 MICROSOFT EXCEL...........................................................................................................................83.6 CONSIDERAÇÕES FINAIS.....................................................................................................................8

DESENVOLVIMENTO DO DATA WAREHOUSE ....................................................................9

4.1 FONTE DE DADOS..............................................................................................................................94.2 DEFINIÇÃO DA ARQUITETURA..............................................................................................................94.3 DEFINIÇÃO DA MATRIZ DE BARRAMENTO.........................................................................................104.4 DEFINIÇÃO DAS TABELAS DE DIMENSÕES E FATOS.............................................................................104.5 DEFINIÇÃO DE ETL COM ORACLE WAREHOUSE BUILDER .................................................................12

ANALISANDO OS DADOS DO DATA WAREHOUSE ...........................................................32

CONCLUSÃO ..............................................................................................................................38

REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................39

ARQUIVOS DE IMPORTAÇÃO ................................................................................................40

A.1 MODELOS DOS ARQUIVOS DE IMPORTAÇÃO........................................................................................40

CÓDIGO FONTE .........................................................................................................................41

B.1 SQL – TABELAS EXTERNAS............................................................................................................41B.2 SQL – DIMENSÕES........................................................................................................................66

Page 10: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 10/102

 

B.3 SQL – CUBO................................................................................................................................70B.4 SQL – MAPEAMENTOS..................................................................................................................72

Page 11: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 11/102

 

Lista de Figuras

FIGURA 1: RELAÇÃO DE ARQUIVOS PARA IMPORTAÇÃO .............................................9

FIGURA 2: MATRIZ DE BARRAMENTO DO DW................................................................. 10

FIGURA 3: FATOS E DIMENSÕES DO DW............................................................................ 10

FIGURA 4: ARQUIVOS DE IMPORTAÇÃO - OWB............................................................... 13

FIGURA 5: ASSISTENTE DE IMPORTAÇÃO DE ARQUIVOS - OWB...............................14

FIGURA 6: ASSISTENTE DE IMPORTAÇÃO DE ARQUIVOS - OWB...............................15

FIGURA 7: TABELAS EXTERNAS - OWB.............................................................................. 16

FIGURA 8: PROPRIEDADES DAS TABELAS EXTERNAS - OWB.....................................17

FIGURA 9: DEFINIÇÃO DOS NÍVEIS DAS DIMENSÕES - OWB .......................................18

FIGURA 10: DEFINIÇÃO DOS ATRIBUTOS DOS NÍVEIS DAS DIMENSÕES - OWB.. . .19

FIGURA 11: DIMENSÃO DE PRODUTOS - OWB.................................................................. 20

FIGURA 12: CHAVES ESTRANGEIRAS DO CUBO - OWB................................................21

FIGURA 13: ATRIBUTOS DO CUBO – OWB.......................................................................... 22

FIGURA 14: CUBO_VENDA - OWB......................................................................................... 23

FIGURA 15: MAPEAMENTO DE CLIENTES -OWB .............................................................24

FIGURA 16: MAPEAMENTO DE PRODUTOS - OWB..........................................................24

FIGURA 17: MAPEAMENTO DA DIMENSÃO TEMPO - OWB...........................................25

FIGURA 18: EDIÇÃO DE EXPRESSÕES - OWB....................................................................26

FIGURA 19: GERENCIADOR DE DISPONIBILIZAÇÃO - OWB......................................... 27

FIGURA 20: EXECUÇÃO DE MAPEAMENTO NO GERENCIADOR DEDISPONIBILIZAÇÃO - OWB..................................................................................................... 27

Page 12: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 12/102

 

FIGURA 21: TABELAS NO ORACLE ENTERPRISE MANAGER.......................................28

FIGURA 22: RESULTADO DE UMA CONSULTA - SQL PLUS WORKSHEET................29

FIGURA 23: INTERFACE - ANALYSIS MANAGER.............................................................. 30

FIGURA 24: PROCESSAMENTO DE CUBO - ANALYSIS MANAGER..............................31

FIGURA 25: CUBOS OLAP – MICROSOFT EXCEL.............................................................. 32

FIGURA 26: FONTE DE DADOS – MICROSOFT EXCEL....................................................32

FIGURA 27: TABELA DINÂMICA – MICROSOFT EXCEL................................................. 33

FIGURA 28: DIMENSÃO TEMPO – MICROSOFT EXCEL..................................................34

FIGURA 29: DIMENSÃO PRODUTOS – MICROSOFT EXCEL........................................... 35

FIGURA 30: VENDAS POR VENDEDOR EM UM PERÍODO – MICROSOFT EXCEL... .36

FIGURA 31: VENDAS DE CLIENTES POR VENDEDOR MÊS A MÊS – MICROSOFTEXCEL........................................................................................................................................... 37

Page 13: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 13/102

 

Lista de Tabelas

TABELA 1: DIMENSAO_EMPRESA ........................................................................................11

TABELA 2: DIMENSAO_CLIENTEFORNEC .........................................................................11

TABELA 3: DIMENSAO_VENDEDOR .....................................................................................11

TABELA 4: DIMENSAO_TEMPO .............................................................................................11

TABELA 5: DIMENSAO_PRODUTO ........................................................................................11

TABELA 6: CUB_COMPRAVENDA ................................................................................. ........12

Page 14: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 14/102

 

Lista de siglas

Page 15: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 15/102

 

DW Data Warehouse

DM Data MartETL Extração, Transformação e Carga

OLAP On-Line Analytic Processing

SGBD Sistema Gerenciador de Banco de Dados

SQL Struct Query Language

OWB Oracle Warehouse Builder  

CASE Computer-Aided Software Engineering

Page 16: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 16/102

 

Capítulo 1

Introdução

Com a ampla utilização de sistemas transacionais nas empresas, as sistematizações dos

  processos vêm ocorrendo gradualmente, integrando os sistemas organizacionais

administrativos e operacionais com sistemas de informação. No entanto, os sistemas

transacionais nem sempre atendem a demanda exigida pelas necessidades da área de gestão

da informação. Nas empresas que necessitam de informações para definições e estratégias

de trabalho, são encontrados problemas claros na falta de um sistema de apoio à decisão.

Muitas vezes a tomada de decisão é baseada em “achismos”, expondo ainda mais as

decisões a erros. O processo de extração das informações tende a aumentar 

geometricamente de acordo com a complexidade e a granularidade das informações,

 podendo tornar inviáveis certos levantamentos de dados.

A visão para a exploração das informações é totalmente baseada no conhecimento dos

gestores. Mesmo com levantamento de informações, nem sempre são obtidas

informações precisas, não garantindo segurança para realização das análises.

Os sistemas transacionais são baseados nos ciclos da operação; um sistema de faturamento,

 por exemplo, pode ter um ciclo mensal de venda. Em alguns casos, devido a esta situação,

estes sistemas não oferecem um suporte adequado à consulta de dados históricos.

Estes problemas podem retardar o crescimento das empresas pela não exploração de

segmentos identificados por um Data Warehouse, tornando-as menos competitivas.

Diante de todos estes problemas, identificou-se então a necessidade da construção de um

DW para servir como base de dados de sistemas de apoio à decisão.

1

Page 17: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 17/102

 

Capítulo 2

Uma visão geral de Data Warehouse

2.1 Conceito de Data Warehouse

Um Data Warehouse (DW) é um banco de dados contendo dados extraídos do ambiente de

  produção da empresa, que foram selecionados, transformados e otimizados para processamento de consulta.

Ambiente de Data Warehouse combina métodos e ferramentas destinados ao suporte à

decisão com uma modelagem de dados que permite gerenciar e controlar uma quantidade

de dados robusta. O DW oferece uma fácil navegação entre dados resumidos e dados

 primitivos, provendo ao usuário a capacidade de aprofundar-se num determinado tópico,

investigando níveis de agregação menores ou mesmo o próprio dado primitivo, que muitas

vezes pode vir a ser essencial para a tomada de decisão.

Logo, o  DW é o processo de integração de dados corporativos de uma empresa em um

único repositório, a partir do qual os usuários finais podem, facilmente, realizar consultas,

gerar relatórios e fazer análises. Um DW é um ambiente de suporte à tomada de decisão

que alavanca os dados armazenados em diferentes fontes e os organiza e entrega aos

tomadores de decisões da empresa (Singh, 2001).

2.2 Características do Data Warehouse

O DW possui as seguintes características (Inmon, 1997):

• Orientado por assuntos: um DW sempre armazena dados importantes sobre temas

específicos da organização e conforme o interesse das pessoas que irão utilizá-lo;

• Integrado: um DW deve ser capaz de integrar dados provenientes de fontes de

dados distintas para obter uma representação única;

2

Page 18: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 18/102

 

• Variante no tempo: os dados são dependentes do tempo. A cada mudança ocorrida

na base de dados operacional, uma nova entrada deve ser criada no DW, a fim de

representar essa mudança. Dessa forma garante-se o histórico das alteraçõesocorridas nos dados. Esta característica pode ser exemplificada com as mudanças

de endereço de um cliente. Em uma época as vendas para o cliente foram realizadas

em um endereço, em outra época, ele pode ter mudado o seu endereço.

•  Não volátil: uma vez que o dado é inserido no DW, ele não pode ser modificado ou

excluído. Sempre que houver atualização do mesmo, um novo item de dado é

criado para representar essa mudança.

2.3 Modelagem dos dados

Um dos assuntos mais críticos na construção de um DW é a compreensão dos dados. A

criação de um modelo de dados é o melhor caminho para entender os dados.

O DW utiliza a modelagem dimensional como uma técnica que suporta o ambiente para

análise multidimensional dos dados. O objetivo no projeto do modelo de um DW é deixá-lo com um fácil entendimento, simples para se carregar com dados operacionais e trazer 

resultados de consultas o mais rápido possível.

Modelagem dimensional é a técnica em que o modelo proporciona uma representação do

 banco de dados consistente com o modo que o usuário visualiza e navega pelo DW,

combinando tabelas com dados históricos em séries temporais, cujo contexto é descrito

através de tabelas de dimensões.

A modelagem dimensional tem como conceito, três elementos principais:

Fatos: Um fato é uma coleção de dados. Cada fato representa um item de negócio,

uma transação ou um evento de negócio. Os fatos são utilizados para fazer a análise

sobre a empresa, ou a instituição. “Fato é tudo aquilo que reflete a evolução dos

negócios do dia-a-dia de uma organização” (MACHADO, 2000).

Dimensões: Dimensões são os elementos que participam de um fato, como por 

exemplo: tempo, localização e cliente. A dimensão pode ser organizada de maneira

hierárquica, sendo constituída de vários níveis.

3

Page 19: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 19/102

 

Medidas: As medidas são os atributos numéricos que representam um fato. Cada

medida é constituída pela combinação de dimensões que estão em um fato. Um

exemplo de medida é o número de publicações de um determinado autor em um ano.O modelo dimensional permite a visualização de dados na forma de um cubo, onde cada

dimensão do cubo representa o contexto de um determinado fato e a intersecção entre as

dimensões representa as medidas. Matematicamente, o cubo possui apenas três dimensões.

Entretanto, no modelo dimensional, a metáfora do cubo pode possuir quantas dimensões

forem necessárias para representar um determinado fato (MACHADO, 2000). Por este

motivo, este modelo também é chamado de modelo multidimensional.

Dentre os modelos de dados dimensionais, o mais comum é o modelo estrela. O modeloestrela possui uma entidade central denominada tabela de fatos e um conjunto de entidades

menores, as tabelas de dimensões, relacionadas com a tabela de fatos.

2.4 Granularidade

A granularidade está relacionada com o nível de detalhe em que serão armazenados os

dados no DW, sendo que ela é inversamente proporcional ao nível de detalhe, ou seja,

quanto maior a granularidade menor o nível de detalhe. A granularidade afeta o

desempenho das consultas e o volume dos dados tendo, portanto, uma grande importância

 para o projeto. Nenhum outro aspecto de projeto terá importância se a granularidade não

for conduzida de forma apropriada e se o particionamento não for cuidadosamente

 projetado e implementado (Inmon, 1997).

O nível de granularidade deve ser definido no início do projeto, mas é muito difícil

determinar esta granularidade, sendo que geralmente a melhor solução consiste em

estruturas com alguns níveis de granularidade. Geralmente é utilizada a opção de

múltiplos níveis de granularidade, em que se parte de um baixo nível de granularidade,

 passando por níveis intermediários até um alto nível de granularidade.

2.5 Data Mart

Data Mart é um subconjunto de dados do DW que permite o acesso descentralizado das

informações.O DW relaciona a empresa toda, permitindo uma visão global do negócio, enquanto que o

Data Mart é direcionado a um departamento ou a uma área específica do negócio.

4

Page 20: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 20/102

 

Como o Data Mart é direcionado a uma área específica do negócio, o volume de dados é

 bem menor que no DW e sua implementação é bem mais rápida e a um custo mais baixo

em relação a um DW.

2.6 Ambiente de Data Warehouse

A tecnologia de Data Warehousing é considerada por todos os autores como a evolução

natural do Ambiente de Apoio à Decisão.

Sua crescente utilização pelas empresas está relacionada à necessidade do domínio de

informações estratégicas para garantir respostas e ações rápidas assegurando acompetitividade de um mercado altamente competitivo e mutável.

Dentre os fatores que contribuíram para essa absorção, merecem destaque: os avanços

tecnológicos, as mudanças organizacionais e estruturais nos negócios, a abertura de

mercados e a globalização da economia.

Com o advento da tecnologia de Data Warehousing, os Ambientes de Apoio à Decisão

 passaram a ser denominados Ambientes de Data Warehouse. Este novo ambiente contém

como repositórios principais os Data Marts que, por sua vez, compõem o denominado DataWarehouse.

O principal objetivo do Data Warehouse é disponibilizar informações para apoio a decisões

da empresa.

A construção de um Data Warehouse exige a transferência e transformação dos dados

existentes em sistemas corporativos, utilizados nas operações diárias de controle e

operações, para uma base de dados independente que ficará disponibilizada para os

usuários e mantida por meio de processo diferenciado dos sistemas em operação

transacional normais.

2.7 Motivos para construção de um DW em uma organização

Segundo Singh (2001), os motivos para a construção de um DW em uma organização

 podem ser:

• Várias plataformas de hardware e de software;

• Constantes alterações nos sistemas transacionais corporativos;

5

Page 21: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 21/102

 

• Dificuldade acentuada na recuperação de dados históricos em períodos superiores

ao ano atual de operações;

• Existência de sistemas “pacotes” de fornecedores diferentes;

• Falta de padronização e integração dos dados existentes nos diversos sistemas;

• Carência de documentação e segurança no armazenamento dos dados;

2.8 Componentes de um Data Warehouse

O DW possui os seguintes componentes (KIMBALL, 2002):

Sistemas transacionais de origem: são os sistemas de origem dos dados daempresa.

Data Staging Area: A área de estágio dos dados do DW é uma área de

armazenamento para a realização de processos de transformação ETL ( Extract-

Transformation-Load ). A área de estágio dos dados abrange tudo entre os sistemas

operacionais de origem e a área de apresentação de dados.

Apresentação dos dados: A área de apresentação dos dados é o local em que os

dados ficam organizados, armazenados e também onde os data marts ficamintegrados e tornam-se disponíveis para serem consultados diretamente pelos

usuários.

Ferramentas de acesso a dados: Ferramentas OLAP (On-Line Analytical 

 Processing ), que permitem análise e gerenciamento dos dados através dos cubos de

uma forma visual.

2.9 Considerações Finais

 Neste capítulo foi apresentada uma visão geral sobre Data Warehousing, bem como suas

  principais características, conceitos para modelagem, motivos para construção e os

 principais componentes.

6

Page 22: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 22/102

 

Capítulo 3

Ferramentas de apoio

3.1 Materiais e Métodos

Para o desenvolvimento de um DW é necessário um SGBD (Sistema Gerenciador de

Banco de Dados) para armazenar e gerenciar os dados, ferramentas CASE (Computer-

 Aided Software Engineering ) e ETL para o projeto e povoamento do DW. Para analisar osdados foram utilizadas ferramentas OLAP.

 Neste trabalho foram utilizados o SGBD Oracle, a ferramenta CASE e ETL Oracle

Warehouse Builder (OWB), o Microsoft Excel como ferramenta OLAP sendo que para o

funcionamento desta última ferramenta é necessário ter o Microsoft SQL Server Analysis

Manager. A seguir algumas considerações sobre estas ferramentas.

3.2 SGBD Oracle

Este SGBD possui muitos recursos que dão um amplo suporte à tarefa de gerenciamento

dos dados de um ambiente operacional, como também na construção de um ambiente

analítico. Ele possui utilitários para extrair dados das origens, recursos para transformar 

estes dados e para carregá-los no DW. Ele também oferece recursos para agilizar o acesso

aos dados, fazer backup e manter a segurança no DW.

3.3 Oracle Warehouse Builder 

O Oracle Warehouse Builder (OWB) é um aplicativo de múltiplas camadas: interface com

o usuário, gerador de código, integradores, interface de aplicativo Java e o repositório de

metadados. Juntas essas camadas formam um produto ETL integrado que auxilia na

construção e na manutenção do DW.

A integração do OWB com o SGBD Oracle permite que ele opere diferentemente de outras

ferramentas ETL. Primeiramente, o OWB gera scripts que trazem os dados para o SGBD e,

então, explora seus recursos gerando código PL/SQL para ajudá-lo a transformar e carregar 

7

Page 23: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 23/102

 

os dados no DW. O SGBD Oracle tem seu próprio mecanismo de transformação, com a

vantagem de um carregamento otimizado.

A interface do OWB foi desenvolvida em Java, sendo portanto a mesma ferramenta paraqualquer SO (OracleWB, 2003).

3.4 Analysis Manager 

O Analysis Manager é um software do Microsoft SQL Server. No entanto funciona

independentemente do SGBD Microsoft, sendo compatível com vários outros SGBD’s. O

Analysis Manager tem como função gerar e disponibilizar um cubo OLAP entre outrasmais funções.

3.5 Microsoft Excel

O Microsoft Excel possui recursos para conexão com fontes de dados OLAP, possui ainda

recursos como tabela e gráfico dinâmicos para visualização dos cubos.

3.6 Considerações Finais

Muitos fornecedores de soluções para DWs procuram oferecer todas as ferramentas de

forma integrada. A vantagem é que o desenvolvimento com esse tipo de ferramenta é

geralmente realizado em torno de um repositório de metadado, tornando o projeto e a

manutenção do sistema muito mais simplificado. A desvantagem é quanto ao

desenvolvimento do projeto ficar a mercê de único fornecedor, sendo que muitas vezes assoluções oferecidas para determinada etapa do projeto podem não ser as melhores se

comparadas as existentes no mercado.

 Neste trabalho optou-se por utilizar as ferramentas da Oracle para SGBD e ETL pela

qualidade das ferramentas. No entanto para o servidor OLAP e ferramenta de consulta foi

utilizado as ferramentas da Microsoft, devido a alta popularidade e facilidade de uso do

Microsoft Excel.

8

Page 24: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 24/102

 

Capítulo 4

Desenvolvimento do Data Warehouse

4.1 Fonte de dados

Os dados foram extraídos de uma base de dados do sistema de uma distribuidora de

materiais de construção. O sistema da distribuidora (SGE) é mantido pela empresa Id

Brasil Sistemas. Os arquivos de dados utilizam extensão dbf, no entanto, eles foram

formatados na extensão csv (texto separado por ponto e vírgula) para a importação pelo

Oracle Warehouse Builder. A Figura 1 mostra a relação dos arquivos do SGE que foram

utilizados:

Arquivo Descriçãodb051.dbf Tabela de produtosdb055.dbf Tabela de clientesdb056.dbf Tabela de subgrupo de produtodb057.dbf Tabela de grupo de subgrupodb063.dbf Tabela de fornecedoresdb072.dbf Tabela de marcas de produtosdb079.dbf Tabela de notas fiscais

db204.dbf Tabela de produtos da notadb059.dbf Tabela de regiãodb083.dbf Tabela de vendedoresdb084.dbf Tabela de empresas

Figura 1: Relação de arquivos para importação

4.2 Definição da arquitetura

Para a definição da arquitetura, inicialmente foi definida a matriz de barramento e

 posteriormente a definição das tabelas de fato e de dimensões.

9

Page 25: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 25/102

 

4.3 Definição da Matriz de Barramento

Através das informações obtidas nas tabelas do SGE foi definida então a matriz de

 barramento para a elaboração do DW, representada na Figura 2.

Empresa Cliente Fornecedor Vendedor Tempo Produto

Venda X X  X X X

Compra X X X X

Figura 2: Matriz de Barramento do DW.

4.4 Definição das Tabelas de Dimensões e Fatos

A Figura 3 mostra o Modelo Entidade-Relacionamento do DW definido e as Tabelas

1,2,3,4,5 e 6 relacionam os atributos, e suas características, das tabelas de dimensão e de

fato do DW.

Dimensao_Empr 

PK ChaveEmp

RazaoSocia

 

Dimensao_ClienteFornec

PK ChaveClienteFornec

RazaoSocial

Fantasia

TipoPessoa

Regiao

Endereco

Bairro

Cidade

Estado

TipoCliClassificacao

Dimensao_Produto

PK ChaveProduto

Produto

CodMarca

Marca

CodSubGrupo

SubGrupo

CodGrupo

Fato_CompraVenda

FK4 ChaveEmpresa

FK1 ChaveClienteFornec

FK5 ChaveVendedor FK3 ChaveTempo

FK2 ChaveProduto

Qtde

PrecoVCDesc

PrecoCompra

Desconto

ValorTotal

Ascresc

ValorUnit

PrazoMedio

MargemLucro

TipoReg

Dimensao _Tempo

PK ChaveTempo

Dia

Mes

Ano

DER – PROJETO DW

 

Dimensao_V

PK ChaveVe

Vendedor 

Figura 3: Fatos e dimensões do DW.

10

Page 26: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 26/102

 

Tabela 1: Dimensao_EmpresaNome da Coluna Tipo Tamanho DescriçãoChaveEmpresa NUMBER Identificador da empresa (Sequencial)

RazaoSocial VARCHAR 50 Razão social da empresaCidade VARCHAR 40 Cidade da empresaEstado VARCHAR 02 Estado da empresa

Tabela 2: Dimensao_ClienteFornecNome da Coluna Tipo Tamanho DescriçãoChaveClienteFornec NUMBER Identificador de cliente e fornecedor  

(Sequencial)RazaoSocial VARCHAR 50 Razão socialFantasia VARCHAR 50 Fantasia

TipoPessoa VARCHAR 01 Tipo de pessoa [F]isica, [J]uridicaRegiao VARCHAR 40 Região do clienteEndereço VARCHAR 50 EndereçoBairro VARCHAR 40 BairroCidade VARCHAR 40 CidadeTipoCli VARCHAR 01 [C]liente, [F]ornecedor  Classificação VARCHAR 01 [R]uim, Re[g]ular, [B]om, [E]xcelente

Tabela 3: Dimensao_VendedorNome da Coluna Tipo Tamanho Descrição

ChaveVendedor NUMBER Identificador do vendedor (Sequencial)Vendedor VARCHAR 50 Nome do vendedor  

Tabela 4: Dimensao_TempoNome da Coluna Tipo Tamanho DescriçãoChaveTempo DATE Identificador de tempoDia NUMBER Número do dia do mêsMês NUMBER Número do mês do anoAno NUMBER Ano

Tabela 5: Dimensao_ProdutoNome da Coluna Tipo Tamanho DescriçãoChaveProduto NUMBER Identificador do produto (Sequencial)Produto VARCHAR 40 Descrição do produtoCodMarca NUMBER Código da marcaMarca VARCHAR 40 Descrição da marcaCodSubGrupo NUMBER Código do SubGrupoSubGrupo VARCHAR Descrição do SubGrupoCodGrupo NUMBER Código do grupoGrupo VARCHAR Descrição do grupo

11

Page 27: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 27/102

 

Tabela 6: Cub_CompraVendaNome da Coluna Tipo Tamanho DescriçãoChaveEmpresa NUMBER Identificador da empresa (FK  

Dimensão)ChaveClienteFornec NUMBER Identificador de cliente e fornecedor  

(FK Dimensão)ChaveVendedor NUMBER Identificador do vendedor (FK  

Dimensão)ChaveTempo DATE Identificador de tempo (FK Dimensão)ChaveProduto NUMBER Identificador do produto (FK  

Dimensão)Qtde FLOAT Quantidade de venda do produtoPrecoVCDesc FLOAT Preço de venda com desconto e

acréscimoPrecoCompra FLOAT Preço de compra do produtoDesconto FLOAT Valor do descontoValorTotal FLOAT ValorUnit * QtdeAcresc FLOAT Valor de acréscimo na vendaValorUnit FLOAT Valor unitário de venda do produtoPrazoMedio NUMBER Número do prazo médioMargemLucro FLOAT Margem de lucro do produtoTipoReg VARCHAR 01 [C]ompra, [V]enda

4.5 Definição de ETL com Oracle Warehouse Builder 

Com o Oracle Warehouse Builder deve-se inicialmente importar todos os arquivos que

serão utilizados para o DW, o OWB oferece um Wizard para a importação dos arquivos.

 Neste wizard pode ser definido todos os parâmetros do arquivo, como separação de

campos, tipo de dados, mascara de formatação etc. A Figura 4 mostra a relação dos

arquivos que serão manipulados para importação.

12

Page 28: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 28/102

 

Figura 4: Arquivos de importação - OWB.

As Figuras 5 e 6 mostram a interface do assistente de importação dos arquivos do OWB.

13

Page 29: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 29/102

 

Figura 5: Assistente de importação de arquivos - OWB.

14

Page 30: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 30/102

 

Figura 6: Assistente de importação de arquivos - OWB.

Após a importação dos arquivos devem ser criadas as tabelas externas a partir dos arquivos

importados. O Oracle visualiza as tabelas externas como uma tabela comum permitindo a

realização de comandos SQL utilizando recursos avançados como Joins, Unions etc.,

conforme pode ser visto nas Figuras 7 e 8.

15

Page 31: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 31/102

 

Figura 7: Tabelas externas - OWB.

16

Page 32: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 32/102

 

Figura 8: Propriedades das tabelas externas - OWB.

A seguir, devem ser criadas as dimensões que serão utilizadas pelo cubo. na criação das

dimensões já deve ser definido seus respectivos níveis e as hierarquias.

As Figuras 9, 10 e 11 mostram as interfaces do OWB para a criação das dimensões e

definição de suas propriedades.

17

Page 33: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 33/102

 

Figura 9: Definição dos níveis das dimensões - OWB

18

Page 34: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 34/102

 

Figura 10: Definição dos atributos dos níveis das dimensões - OWB.

19

Page 35: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 35/102

 

Figura 11: Dimensão de produtos - OWB.

Após a criação das dimensões deve ser criado o cubo referenciando as dimensões que serão

utilizadas, conforme pode ser visto nas Figuras 12, 13 e 14.

20

Page 36: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 36/102

 

Figura 12: Chaves estrangeiras do cubo - OWB.

21

Page 37: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 37/102

 

Figura 13: Atributos do cubo – OWB.

22

Page 38: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 38/102

 

Figura 14: Cubo_venda - OWB.

Após a definição das dimensões, das tabelas externas e dos cubos, deve ser criado o

 processo de mapeamento, que é responsável pela alimentação do DW e transformação dos

dados.

Os mapeamentos foram divididos para cada dimensão e cubo.

Para o mapeamento da dimensão de clientes foi realizado junção com as tabelas de cidade

e de região. No mapeamento da dimensão de produtos foi necessário realizar junção com as tabelas de

subgrupo, grupo e marca.

O mapeamento de tempo foi extraído da tabela externa de vendas, inicialmente foi

realizado um filtro para datas não nulas, posteriormente, foi inserido o desduplicador 

(distinct) para não carregar datas iguais da tabela, estas datas foram ordenadas em ordem

ascendente e foi utilizado também expressões para que ano, mês e dia fossem

desmembrados.As Figuras 15 e 16 mostram graficamente a realização das junções necessárias.

23

Page 39: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 39/102

 

Figura 15: Mapeamento de clientes -OWB

Figura 16: Mapeamento de produtos - OWB.

24

Page 40: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 40/102

 

As Figuras 17 e 18 mostram como o atributo data foi transformado e carregado na tabela

de dimensão Tempo.

Figura 17: Mapeamento da dimensão tempo - OWB.

25

Page 41: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 41/102

 

Figura 18: Edição de expressões - OWB.

Com todos os mapeamentos definidos deve-se então utilizar o Gerenciador de

Disponibilização que tem como função criar fisicamente no banco de dados a estrutura

definida no OWB, também é possível realizar a execução dos mapeamentos.

As Figuras 19 e 20 mostram o gerenciador de disponibilização.

26

Page 42: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 42/102

 

Figura 19: Gerenciador de disponibilização - OWB.

Figura 20: Execução de mapeamento no Gerenciador de disponibilização - OWB.

27

Page 43: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 43/102

 

Após a execução dos mapeamentos é possível ver no Banco de dados a importação e o

 processamento realizado pelo OWB, pelo SQL* PLUS e pelo Oracle Enterprise Manager.

A Figura 21 mostra o OEM e a Figura 22 mostra o resultado de um select na dimensão de

Produtos.

Figura 21: Tabelas no Oracle Enterprise Manager.

28

Page 44: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 44/102

 

Figura 22: Resultado de uma consulta - SQL Plus worksheet.

 Nesta fase o DW já está povoado, faltando portando a criação do Cubo OLAP para

consulta. Para isto será utilizado Analisys Manager que é Servidor OLAP utilizado pelo

Microsoft Excel. Após a configuração do Analisys Manager para funcionamento com o

Oracle devem ser realizados os seguintes passos:

• Carregar as dimensões e os cubos que serão utilizados;

• Referenciar todas as dimensões utilizadas pelo cubo;

• Processar o cubo;A Figura 23 mostra a interface do Analysis Manager.

29

Page 45: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 45/102

 

Figura 23: Interface - Analysis Manager.

A Figura 24 mostra o processamento do cubo.

30

Page 46: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 46/102

 

Figura 24: Processamento de cubo - Analysis Manager.

Após o processamento o cubo já pode ser consultado pelo Microsoft Excel.

31

Page 47: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 47/102

 

Capítulo 5

Analisando os dados do Data Warehouse

A análise das informações existentes no DW foram realizadas no Microsoft Excel,utilizando tabela dinâmica. Deve ser configurado inicialmente qual cubo OLAP seráutilizado na importação de dados externos do Microsoft Excel conforme as Figuras 25 e26.

Figura 25: Cubos OLAP – Microsoft Excel.

Figura 26: Fonte de dados – Microsoft Excel.

32

Page 48: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 48/102

 

Após a configuração do cubo OLAP será disponibilizado uma tabela dinâmica, e uma lista

de campos disponíveis para realização das consultas. Uma tabela dinâmica divide a

visualização dos campos em: campos de página (cabeçalho), campos de linha e campos decoluna. Nesta etapa é possível compreender o porquê do nome de cubo, pois os dados

 podem ser visualizados em várias dimensões.

A Figura 27 mostra a tabela dinâmica sem nenhum campo inserido.

Figura 27: Tabela dinâmica – Microsoft Excel.

As dimensões de tempo e produto podem ser visualizadas de forma hierárquica, dos dados

resumidos até o mais detalhado. Esta estrutura permite uma fácil navegação entre

informações resumidas e detalhadas, podendo selecionar um ano ou um dia na tabela de

tempo para visualização das vendas, como mostra a Figura 28 e 29.

33

Page 49: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 49/102

 

Figura 28: Dimensão Tempo – Microsoft Excel.

34

Page 50: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 50/102

 

Figura 29: Dimensão Produtos – Microsoft Excel.

Arrastando os campos para a tabela dinâmica é possível montar as consultas das formas

mais variadas, o exemplo abaixo ilustra uma consulta de vendas por vendedor mensal, o

outro exemplo é uma consulta de vendas por vendedor de clientes mês a mês.

35

Page 51: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 51/102

 

Figura 30: Vendas por vendedor em um período – Microsoft Excel.

36

Page 52: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 52/102

 

Figura 31: Vendas de clientes por vendedor mês a mês – Microsoft Excel.

37

Page 53: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 53/102

 

Conclusão

Este trabalho objetivou a construção de um ambiente de apoio a tomada de decisão de

gestão empresarial, aumentando assim a capacidade de extração de informação e

reconhecimento dos dados.

A maior contribuição deste trabalho é o conhecimento da tecnologia de Data Warehousing

e a identificação de um segmento de trabalho a ser explorado.

Durante o desenvolvimento deste projeto surgiram muitos problemas e dificuldades. A

 primeira das dificuldades foi instalar e configurar as ferramentas necessárias para o

desenvolvimento, gerenciamento e utilização do ambiente. Outra dificuldade surgiu na fasede desenvolvimento do DW. A etapa mais crítica dessa fase foi a de extração dos dados da

 base de dados operacional, devido a erros na formatação dos arquivos para importação.

Por meio deste trabalho pôde-se adquirir muita experiência no desenvolvimento de

sistemas de apoio à tomada de decisão, bem como no aperfeiçoamento do conhecimento de

algumas ferramentas e aprendizado de outras.

Com relação a trabalhos futuros que possam complementar o que foi desenvolvido,

destacam-se:• A adição de novos assuntos ao Data Warehouse como financeiro e estoque.

• Criação de uma rotina de atualização do DW.

• Melhorias nas dimensões.

38

Page 54: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 54/102

 

Referências Bibliográficas

(Machado, 2000) MACHADO, Felipe N. R.  Projeto de Data Warehouse – 

Uma visão Multidimensional , Ed. Érica: São Paulo,

2000.

(Inmon, 1997) INMON, W. H. Como Construir o Data Warehouse, Ed.

Campus: Rio de Janeiro, 1997.

(Kimball, 2002) KIMBALL, Ralph; MARGY, Ross. The Data Warehouse

Toolkit – Guia Completo para Modelagem

 Dimensional , Ed. Campus: Rio de Janeiro, 2002

(Singh, 2001) SINGH, Harry S.   Data Warehouse - Conceitos,Tecnologias, Implementacão e Gerenciamento, Ed.Makron Books: São Paulo, 2001.

(OracleWB, 2003) Oracle Warehouse Builder User’s Guide.    Na OracleTechnical White Paper. Julho, 2003

39

Page 55: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 55/102

 

Apêndice A 

Arquivos de importação

A.1 Modelos dos arquivos de importação

2,2720,20040401,3,"V",5100,4.000,22.99000,17.980,0.000,"X"

2,5016,20040401,7,"V",494,30.000,0.84600,0.576,0.000,"X"

2,5016,20040401,7,"V",1561,24.000,0.20800,0.141,0.000,"X"2,5016,20040401,7,"V",1562,24.000,0.26000,0.177,0.000,"X"

2,5016,20040401,7,"V",1564,48.000,0.53400,0.364,0.000,"X"

2,5016,20040401,7,"V",1904,5.000,2.63100,1.778,0.000,"X"

2,5016,20040401,7,"V",2128,5.000,4.17500,2.821,0.000,"X"

2,5016,20040401,7,"V",2875,3.000,2.79000,2.097,0.000,"X"

2,5016,20040401,7,"V",4041,6.000,0.42000,0.280,0.000,"X"

2,5016,20040401,7,"V",4091,6.000,0.34700,0.228,0.000,"X"

2,5016,20040401,7,"V",4451,100.000,0.18400,0.120,0.000,"X"

2,5016,20040401,7,"V",55210,1.000,60.35700,44.056,0.000,"X"

2,5016,20040401,7,"V",55211,1.000,60.35700,44.056,0.000,"X"

2,5016,20040401,7,"V",71008,1.000,25.77000,21.560,0.000,"X"

2,5016,20040401,7,"V",72002,1.000,7.99000,5.100,0.000,"X"

2,3662,20040401,3,"V",5555,1.000,56.58800,40.400,0.000,"X"

2,3662,20040401,3,"V",50042,30.000,0.30300,0.206,0.000,"X"

2,313,20040401,2,"V",1024,12.000,7.49000,5.670,0.000,"X"

2,313,20040401,2,"V",4155,10.000,6.99000,5.480,0.000,"X"

2,313,20040401,2,"V",91015,12.000,0.97900,0.680,0.000,"X"

2,313,20040401,2,"V",91023,24.000,0.99000,0.712,0.000,"X"

2,313,20040401,2,"V",91112,12.000,0.95000,0.660,0.000,"X"

2,313,20040401,2,"V",91137,12.000,0.96500,0.670,0.000,"X"

2,313,20040401,2,"V",91155,12.000,0.97800,0.679,0.000,"X"

2,313,20040401,2,"V",91171,24.000,0.98200,0.687,0.000,"X"

2,1123,20040401,2,"V",211,180.000,0.20500,0.133,0.000,"X"

2,1123,20040401,2,"V",1048,1.000,21.27100,14.372,0.000,"X"

2,1123,20040401,2,"V",1224,12.000,2.81000,1.899,0.000,"X"

2,1123,20040401,2,"V",2355,12.000,1.83100,1.237,0.000,"X"

2,1123,20040401,2,"V",4119,12.000,1.86900,1.263,0.000,"X"

2,1123,20040401,2,"V",50070,12.000,1.83800,1.450,0.000,"X"

2,1123,20040401,2,"V",51007,10.000,8.52500,5.760,0.000,"X"

2,1123,20040401,2,"V",61059,6.000,6.39000,5.030,0.000,"X"

40

Page 56: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 56/102

 

Apêndice B

Código Fonte

B.1 SQL – Tabelas externas

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "EXT_DB051"

(

"C_001" NUMBER,

"C_002" VARCHAR2(40),

"C_003" NUMBER,

"C_004" NUMBER,

"C_006" VARCHAR2(5),

"C_007" VARCHAR2(5),"C_008" NUMBER,

"C_009" VARCHAR2(5),

"C_010" VARCHAR2(5),

"C_011" VARCHAR2(5),

"C_012" VARCHAR2(5),

"C_013" VARCHAR2(5),

"C_015" VARCHAR2(5),"C_016" VARCHAR2(5),

"C_018" VARCHAR2(5),

"C_019" VARCHAR2(5),

"C_020" VARCHAR2(5),

"C_021" VARCHAR2(5),

"C_022" VARCHAR2(5),

"C_023" VARCHAR2(5),"C_024" VARCHAR2(5),

"C_025" VARCHAR2(5),

41

Page 57: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 57/102

 

"C_026" VARCHAR2(5),

"C_027" VARCHAR2(5),

"C_028" VARCHAR2(5),"C_029" VARCHAR2(5),

"C_030" VARCHAR2(5),

"C_031" VARCHAR2(5),

"C_032" VARCHAR2(6),

"C_034" VARCHAR2(5),

"C_035" VARCHAR2(5),

"C_036" VARCHAR2(5),"C_042" NUMBER,

"C_043" VARCHAR2(5),

"C_044" NUMBER)

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE BASE_CONECTOR:'PROD_ERRO.TXT'

NODISCARDFILE

LOGFILE BASE_CONECTOR:'PROD_LOG.TXT'

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

"C_001" ,

"C_002" ,

"C_003" ,

"C_004" ,

"C_006" ,

42

Page 58: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 58/102

 

"C_007" ,

"C_008" ,

"C_009" ,"C_010" ,

"C_011" ,

"C_012" ,

"C_013" ,

"C_015" ,

"C_016" ,

"C_018" ,"C_019" ,

"C_020" ,

"C_021" ,

"C_022" ,

"C_023" ,

"C_024" ,

"C_025" ,"C_026" ,

"C_027" ,

"C_028" ,

"C_029" ,

"C_030" ,

"C_031" ,

"C_032" ,

"C_034" ,

"C_035" ,

"C_036" ,

"C_042" ,

"C_043" ,

"C_044"

)

)

LOCATION (

43

Page 59: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 59/102

 

BASE_CONECTOR:'DB051.csv'

)

)REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB053"

("C_001" NUMBER,

"C_002" VARCHAR2(40),

"C_003" VARCHAR2(18),

"C_004" VARCHAR2(18),

"C_005" VARCHAR2(37),

"C_006" VARCHAR2(13),

"C_007" VARCHAR2(7),"C_008" VARCHAR2(2))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE 'PROD_ERRO.TXT'

NODISCARDFILE

LOGFILE 'PROD_LOG.TXT'

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

44

Page 60: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 60/102

 

"C_001" ,

"C_002" ,

"C_003" ,"C_004" ,

"C_005" ,

"C_006" ,

"C_007" ,

"C_008"

)

)LOCATION (

BASE_CONECTOR:'DB053.csv'

)

)

REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB054"

(

"C_001" NUMBER,

"C_002" VARCHAR2(40),

"C_003" VARCHAR2(39),

"C_004" VARCHAR2(40),

"C_005" VARCHAR2(21),

"C_006" VARCHAR2(29),

"C_007" VARCHAR2(5),

"C_008" VARCHAR2(17),

"C_009" VARCHAR2(15),

"C_010" VARCHAR2(18),

"C_011" VARCHAR2(16),

"C_012" VARCHAR2(10),

"C_013" VARCHAR2(30),

45

Page 61: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 61/102

 

"C_014" NUMBER,

"C_015" VARCHAR2(5),

"C_016" VARCHAR2(5),"C_018" VARCHAR2(5),

"C_019" VARCHAR2(18),

"C_020" VARCHAR2(36),

"C_021" VARCHAR2(5),

"C_022" VARCHAR2(23),

"C_023" VARCHAR2(5),

"C_024" VARCHAR2(20),"C_025" VARCHAR2(13),

"C_026" VARCHAR2(5),

"C_027" VARCHAR2(5),

"C_028" VARCHAR2(28),

"C_029" VARCHAR2(18),

"C_030" VARCHAR2(5),

"C_031" VARCHAR2(5),"C_032" VARCHAR2(5),

"C_033" VARCHAR2(8),

"C_034" VARCHAR2(5))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE 'PROD_ERRO.TXT'

NODISCARDFILE

LOGFILE 'PROD_LOG.TXT'

SKIP 1

FIELDS

TERMINATED BY ';'

46

Page 62: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 62/102

 

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

("C_001" ,

"C_002" ,

"C_003" ,

"C_004" ,

"C_005" ,

"C_006" ,

"C_007" ,"C_008" ,

"C_009" ,

"C_010" ,

"C_011" ,

"C_012" ,

"C_013" ,

"C_014" ,"C_015" ,

"C_016" ,

"C_018" ,

"C_019" ,

"C_020" ,

"C_021" ,

"C_022" ,

"C_023" ,

"C_024" ,

"C_025" ,

"C_026" ,

"C_027" ,

"C_028" ,

"C_029" ,

"C_030" ,

"C_031" ,

47

Page 63: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 63/102

 

"C_032" ,

"C_033" ,

"C_034")

)

LOCATION (

BASE_CONECTOR:'DB054.csv'

)

)

REJECT LIMIT UNLIMITEDNOPARALLEL

;

CREATE TABLE "EXT_DB055"

(

"C_001" NUMBER,

"C_002" VARCHAR2(1),"C_003" VARCHAR2(40),

"C_004" VARCHAR2(40),

"C_005" VARCHAR2(40),

"C_007" VARCHAR2(30),

"C_008" VARCHAR2(5),

"C_009" VARCHAR2(15),

"C_010" VARCHAR2(15),

"C_011" VARCHAR2(18),

"C_012" VARCHAR2(15),

"C_013" VARCHAR2(5),

"C_014" VARCHAR2(1),

"C_015" VARCHAR2(10),

"C_016" VARCHAR2(30),

"C_017" VARCHAR2(5),

"C_018" VARCHAR2(8),

"C_019" VARCHAR2(5),

48

Page 64: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 64/102

 

"C_020" VARCHAR2(9),

"C_021" VARCHAR2(36),

"C_022" VARCHAR2(10),"C_025" VARCHAR2(7),

"C_026" VARCHAR2(37),

"C_029" NUMBER,

"C_030" NUMBER,

"C_037" VARCHAR2(5),

"C_038" VARCHAR2(5),

"C_039" VARCHAR2(5),"C_040" VARCHAR2(5),

"C_041" VARCHAR2(5),

"C_050" VARCHAR2(5),

"C_062" VARCHAR2(20),

"C_063" VARCHAR2(20),

"C_064" VARCHAR2(20),

"C_065" VARCHAR2(20),"C_072" VARCHAR2(5),

"C_073" VARCHAR2(7),

"C_074" VARCHAR2(10),

"C_075" VARCHAR2(7),

"C_076" VARCHAR2(9),

"C_077" VARCHAR2(7),

"C_078" NUMBER,

"C_079" VARCHAR2(5),

"C_080" VARCHAR2(5),

"C_083" VARCHAR2(5),

"C_088" VARCHAR2(5),

"C_089" VARCHAR2(5),

"C_090" VARCHAR2(46),

"C_091" NUMBER,

"C_092" VARCHAR2(10),

"C_093" VARCHAR2(5),

49

Page 65: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 65/102

 

"C_094" VARCHAR2(9),

"C_095" VARCHAR2(10),

"C_096" VARCHAR2(5),"C_097" VARCHAR2(1))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252STRING SIZES ARE IN BYTES

BADFILE 'PROD_ERRO.TXT'

NODISCARDFILE

LOGFILE 'PROD_LOG.TXT'

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'NOTRIM

(

"C_001" ,

"C_002" ,

"C_003" ,

"C_004" ,

"C_005" ,

"C_007" ,

"C_008" ,

"C_009" ,

"C_010" ,

"C_011" ,

"C_012" ,

"C_013" ,

"C_014" ,

"C_015" ,

50

Page 66: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 66/102

 

"C_016" ,

"C_017" ,

"C_018" ,"C_019" ,

"C_020" ,

"C_021" ,

"C_022" ,

"C_025" ,

"C_026" ,

"C_029" ,"C_030" ,

"C_037" ,

"C_038" ,

"C_039" ,

"C_040" ,

"C_041" ,

"C_050" ,"C_062" ,

"C_063" ,

"C_064" ,

"C_065" ,

"C_072" ,

"C_073" ,

"C_074" ,

"C_075" ,

"C_076" ,

"C_077" ,

"C_078" ,

"C_079" ,

"C_080" ,

"C_083" ,

"C_088" ,

"C_089" ,

51

Page 67: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 67/102

 

"C_090" ,

"C_091" ,

"C_092" ,"C_093" ,

"C_094" ,

"C_095" ,

"C_096" ,

"C_097"

)

)LOCATION (

BASE_CONECTOR:'DB055.csv'

)

)

REJECT LIMIT UNLIMITED

NOPARALLEL

;

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "EXT_DB056"

(

"C_001" NUMBER,

"C_002" VARCHAR2(11))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

52

Page 68: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 68/102

 

BADFILE BASE_CONECTOR:'GRUPO_ERRO.TXT'

NODISCARDFILE

LOGFILE BASE_CONECTOR:'GRUPO_LOG.TXT'SKIP 1

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

"C_001" ,"C_002"

)

)

LOCATION (

BASE_CONECTOR:'DB056.csv'

)

)REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB063"

(

"C_001" NUMBER,

"C_002" NUMBER,

"C_003" VARCHAR2(35))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

53

Page 69: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 69/102

 

STRING SIZES ARE IN BYTES

BADFILE 'GRUPO_ERRO.TXT'

NODISCARDFILELOGFILE BASE_CONECTOR:'VENDEDOR_LOG.TXT'

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

"C_001" ,"C_002" ,

"C_003"

)

)

LOCATION (

BASE_CONECTOR:'DB063.csv'

))

REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB065"

(

"C_001" NUMBER,

"C_002" VARCHAR2(38),

"C_003" NUMBER)

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

54

Page 70: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 70/102

 

STRING SIZES ARE IN BYTES

BADFILE BASE_CONECTOR:'SUBGRUPO_ERRO.TXT'

NODISCARDFILELOGFILE BASE_CONECTOR:'SUBGRUPO_LOG.TXT'

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

"C_001" ,"C_002" ,

"C_003"

)

)

LOCATION (

BASE_CONECTOR:'DB065.csv'

))

REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB067"

(

"C_001" NUMBER,

"C_002" VARCHAR2(22))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

55

Page 71: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 71/102

 

BADFILE BASE_CONECTOR:'MARCA_ERRO.TXT'

NODISCARDFILE

LOGFILE BASE_CONECTOR:'MARCA_LOG.TXT'SKIP 1

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM

(

"C_001" ,"C_002"

)

)

LOCATION (

BASE_CONECTOR:'DB067.csv'

)

)REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB072"

(

"C1" NUMBER,

"C2" VARCHAR2(15),

"C3" VARCHAR2(1),

"C4" VARCHAR2(1),

"C6" NUMBER,

"C7" NUMBER,

"C8" DATE,

"C11" FLOAT(126) ,

"C12" FLOAT(126) ,

56

Page 72: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 72/102

 

"C15" FLOAT(126) ,

"C16" FLOAT(126) ,

"C19" FLOAT(126) ,"C20" FLOAT(126) ,

"C21" FLOAT(126) ,

"C22" NUMBER,

"C23" VARCHAR2(1),

"C25" VARCHAR2(1),

"C26" NUMBER,

"C28" FLOAT(126) ,"C30" NUMBER,

"C31" NUMBER,

"C32" VARCHAR2(20),

"C33" FLOAT(126) ,

"C35" VARCHAR2(8),

"C36" NUMBER,

"C37" VARCHAR2(1),"C38" FLOAT(126) ,

"C39" FLOAT(126) ,

"C40" FLOAT(126) ,

"C42" FLOAT(126) ,

"C43" VARCHAR2(20),

"C45" VARCHAR2(30),

"C46" NUMBER,

"C47" VARCHAR2(3),

"C48" VARCHAR2(5),

"C49" NUMBER,

"C50" NUMBER,

"C51" NUMBER,

"C52" NUMBER,

"C53" FLOAT(126) ,

"C54" FLOAT(126) ,

"C55" VARCHAR2(1),

57

Page 73: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 73/102

 

"C56" VARCHAR2(1),

"C57" NUMBER,

"C58" NUMBER,"C59" VARCHAR2(3),

"C60" VARCHAR2(8),

"C61" NUMBER,

"C62" NUMBER,

"C63" VARCHAR2(1),

"C64" VARCHAR2(8),

"C65" VARCHAR2(1),"C66" NUMBER,

"C67" FLOAT(126) ,

"C68" VARCHAR2(8),

"C69" FLOAT(126) ,

"C70" FLOAT(126) ,

"C71" FLOAT(126) ,

"C72" VARCHAR2(1),"C73" NUMBER,

"C74" VARCHAR2(1),

"C75" FLOAT(126) ,

"C76" VARCHAR2(1),

"C77" VARCHAR2(4))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE BASE_CONECTOR:'VDA_ERRO.TXT'

NODISCARDFILE

LOGFILE BASE_CONECTOR:'VDA_LOG.TXT'

FIELDS

58

Page 74: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 74/102

 

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'

NOTRIM(

"C1" ,

"C2" ,

"C3" ,

"C4" ,

"C6" ,

"C7" ,"C8" CHAR DATE_FORMAT DATE MASK "yyyymmdd" DEFAULTIF

"C8"=BLANKS,

"C11" ,

"C12" ,

"C15" ,

"C16" ,

"C19" ,"C20" ,

"C21" ,

"C22" ,

"C23" ,

"C25" ,

"C26" ,

"C28" ,

"C30" ,

"C31" ,

"C32" ,

"C33" ,

"C35" ,

"C36" ,

"C37" ,

"C38" ,

"C39" ,

59

Page 75: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 75/102

 

"C40" ,

"C42" ,

"C43" ,"C45" ,

"C46" ,

"C47" ,

"C48" ,

"C49" ,

"C50" ,

"C51" ,"C52" ,

"C53" ,

"C54" ,

"C55" ,

"C56" ,

"C57" ,

"C58" ,"C59" ,

"C60" ,

"C61" ,

"C62" ,

"C63" ,

"C64" ,

"C65" ,

"C66" ,

"C67" ,

"C68" ,

"C69" ,

"C70" ,

"C71" ,

"C72" ,

"C73" ,

"C74" ,

60

Page 76: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 76/102

 

"C75" ,

"C76" ,

"C77")

)

LOCATION (

BASE_CONECTOR:'DB072.TXT'

)

)

REJECT LIMIT UNLIMITEDNOPARALLEL

;

CREATE TABLE "EXT_DB079"

(

"C1" NUMBER,"C3" VARCHAR2(1),

"C4" NUMBER,

"C5" FLOAT(126) ,

"C6" FLOAT(126) ,

"C7" FLOAT(126) ,

"C8" FLOAT(126) ,

"C9" VARCHAR2(8),

"C11" VARCHAR2(1),

"C12" FLOAT(126) ,

"C13" NUMBER,

"C14" VARCHAR2(1),

"C16" VARCHAR2(1),

"C17" FLOAT(126) ,

"C18" NUMBER,

"C19" FLOAT(126) ,

"C20" VARCHAR2(1),

61

Page 77: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 77/102

 

"C21" NUMBER,

"C22" NUMBER,

"C23" VARCHAR2(3),"C24" VARCHAR2(3),

"C25" FLOAT(126) ,

"C26" NUMBER,

"C27" FLOAT(126) ,

"C28" VARCHAR2(3),

"C30" FLOAT(126) ,

"C31" VARCHAR2(1),"C32" NUMBER,

"C33" FLOAT(126) ,

"C34" FLOAT(126) ,

"C35" FLOAT(126) ,

"C36" FLOAT(126) ,

"C37" FLOAT(126) ,

"C38" FLOAT(126) ,"C39" VARCHAR2(1),

"C40" VARCHAR2(3),

"C41" FLOAT(126) )

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE BASE_CONECTOR:'VDA_PROD_ERR.TXT'

NODISCARDFILE

LOGFILE BASE_CONECTOR:'VDA_PROD_LOG.TXT'

FIELDS

TERMINATED BY ','

OPTIONALLY ENCLOSED BY '"' AND '"'

62

Page 78: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 78/102

 

NOTRIM

(

"C1" ,"C3" ,

"C4" ,

"C5" ,

"C6" ,

"C7" ,

"C8" ,

"C9" ,"C11" ,

"C12" ,

"C13" ,

"C14" ,

"C16" ,

"C17" ,

"C18" ,"C19" ,

"C20" ,

"C21" ,

"C22" ,

"C23" ,

"C24" ,

"C25" ,

"C26" ,

"C27" ,

"C28" ,

"C30" ,

"C31" ,

"C32" ,

"C33" ,

"C34" ,

"C35" ,

63

Page 79: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 79/102

 

"C36" ,

"C37" ,

"C38" ,"C39" ,

"C40" ,

"C41"

)

)

LOCATION (

BASE_CONECTOR:'DB079.TXT')

)

REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB089"

(

"C_001" NUMBER,

"C_002" VARCHAR2(32),

"C_003" NUMBER)

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE 'VDA_PROD_ERR.TXT'

NODISCARDFILE

LOGFILE 'VDA_PROD_LOG.TXT'

SKIP 1

64

Page 80: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 80/102

 

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'NOTRIM

(

"C_001" ,

"C_002" ,

"C_003"

)

)LOCATION (

BASE_CONECTOR:'DB089.csv'

)

)

REJECT LIMIT UNLIMITED

NOPARALLEL

;

CREATE TABLE "EXT_DB204"

(

"C_001" NUMBER,

"C_002" VARCHAR2(25))

ORGANIZATION EXTERNAL (

TYPE ORACLE_LOADER 

DEFAULT DIRECTORY BASE_CONECTOR 

ACCESS PARAMETERS (

RECORDS DELIMITED BY NEWLINE

CHARACTERSET WE8MSWIN1252

STRING SIZES ARE IN BYTES

BADFILE 'VDA_PROD_ERR.TXT'

NODISCARDFILE

LOGFILE 'VDA_PROD_LOG.TXT'

SKIP 1

65

Page 81: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 81/102

 

FIELDS

TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"' AND '"'NOTRIM

(

"C_001" ,

"C_002"

)

)

LOCATION (BASE_CONECTOR:'DB204.csv'

)

)

REJECT LIMIT UNLIMITED

NOPARALLEL

;

B.2 SQL – Dimensões

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "DIM_TEMPO"

(

"ANO_ANO" NUMBER,

"DIA_DIA" NUMBER,

"DIA_ID" DATE,

"MES_MES" NUMBER)

PARALLEL

LOGGING

;

ALTER TABLE "DIM_TEMPO" ADD

CONSTRAINT "TEMP_NIVELDIA_UK" UNIQUE(

66

Page 82: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 82/102

 

"DIA_ID");

CREATE DIMENSION "DIM_TEMPO"LEVEL "NIVELANO" IS "DIM_TEMPO"."ANO_ANO"

LEVEL "NIVELDIA" IS "DIM_TEMPO"."DIA_ID"

LEVEL "NIVELMES" IS "DIM_TEMPO"."MES_MES"

HIERARCHY "HIERARQ_TEMPO"(

"NIVELDIA" CHILD OF

"NIVELMES" CHILD OF

"NIVELANO" )ATTRIBUTE "NIVELDIA" DETERMINES ("DIA_DIA" )

;

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "DIM_PROD"(

"GR_GRUPO" VARCHAR2(40),

"GR_ID" NUMBER,

"PR_ID" NUMBER,

"PR_MARCA" VARCHAR2(40),

"PR_NOMEPRODUTO" VARCHAR2(40),

"SG_ID" NUMBER,

"SG_SUBGRUPO" VARCHAR2(40))

PARALLEL

LOGGING

;

ALTER TABLE "DIM_PROD" ADD

CONSTRAINT "PROD_PRODUTO_UK1" UNIQUE(

"PR_ID");

67

Page 83: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 83/102

 

CREATE DIMENSION "DIM_PROD"

LEVEL "GRUPO" IS "DIM_PROD"."GR_ID"

LEVEL "SUBGRUPO" IS "DIM_PROD"."SG_ID"LEVEL "PRODUTO" IS "DIM_PROD"."PR_ID"

HIERARCHY "HIERARQ_PROD"(

"PRODUTO" CHILD OF

"SUBGRUPO" CHILD OF

"GRUPO" )

ATTRIBUTE "GRUPO" DETERMINES ("GR_GRUPO" )

ATTRIBUTE "SUBGRUPO" DETERMINES ("SG_SUBGRUPO" )ATTRIBUTE "PRODUTO" DETERMINES ("PR_MARCA","PR_NOMEPRODUTO" )

;

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "DIM_EMPRESA"(

"EMP_CIDADE" VARCHAR2(30),

"EMP_ESTADO" VARCHAR2(2),

"EMP_FANTASIA" VARCHAR2(40),

"EMP_ID" NUMBER,

"EMP_RAZAO" VARCHAR2(40))

PARALLEL

LOGGING

;

ALTER TABLE "DIM_EMPRESA" ADD

CONSTRAINT "EMP_EMPRESA_UK" UNIQUE(

"EMP_ID");

CREATE DIMENSION "DIM_EMPRESA"

LEVEL "EMPRESA" IS "DIM_EMPRESA"."EMP_ID"

68

Page 84: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 84/102

 

ATTRIBUTE "EMPRESA" DETERMINES

("EMP_CIDADE","EMP_ESTADO","EMP_FANTASIA","EMP_RAZAO" )

;

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "DIM_CLIENTES"

(

"CLI_BAIRRO" VARCHAR2(30),"CLI_CLASSIFICACAO" VARCHAR2(20),

"CLI_ENDERECO" VARCHAR2(40),

"CLI_FANTASIA" VARCHAR2(40),

"CLI_ID" NUMBER,

"CLI_RAZAO" VARCHAR2(40),

"CLI_TIPOPESSOA" VARCHAR2(1),

"CLI_CIDADE" VARCHAR2(40),"CLI_ID_CI" NUMBER,

"CLI_ID_RE" NUMBER,

"CLI_REGIAO" VARCHAR2(40))

PARALLEL

LOGGING

;

ALTER TABLE "DIM_CLIENTES" ADD

CONSTRAINT "CLI_CLIENTE_UK1" UNIQUE(

"CLI_ID");

CREATE DIMENSION "DIM_CLIENTES"

LEVEL "CLIENTE" IS "DIM_CLIENTES"."CLI_ID"

ATTRIBUTE "CLIENTE" DETERMINES

("CLI_BAIRRO","CLI_CIDADE","CLI_CLASSIFICACAO","CLI_ENDERECO","CLI_ 

69

Page 85: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 85/102

 

FANTASIA","CLI_ID_CI","CLI_ID_RE","CLI_RAZAO","CLI_REGIAO","CLI_TIPOP

ESSOA" )

;

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "DIM_VENDEDOR"(

"VENDEDOR_ID" NUMBER,

"VENDEDOR_VENDEDOR" VARCHAR2(40))

PARALLEL

LOGGING

;

ALTER TABLE "DIM_VENDEDOR" ADD

CONSTRAINT "VEND_VENDEDOR_UK" UNIQUE(

"VENDEDOR_ID");

CREATE DIMENSION "DIM_VENDEDOR"

LEVEL "VENDEDOR" IS "DIM_VENDEDOR"."VENDEDOR_ID"

ATTRIBUTE "VENDEDOR" DETERMINES ("VENDEDOR_VENDEDOR" )

;

B.3 SQL – Cubo

WHENEVER SQLERROR EXIT FAILURE;

CREATE TABLE "CUBO_VENDA"

(

70

Page 86: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 86/102

 

"CLI_ID" NUMBER,

"DIA_ID" DATE,

"EMP_ID" NUMBER,"PR_ID" NUMBER,

"QTDE" FLOAT(126) ,

"VALORTOTAL" FLOAT(126) ,

"VALORUNIT" FLOAT(126) ,

"VENDEDOR_ID" NUMBER)

PARALLEL

LOGGING;

ALTER TABLE "CUBO_VENDA" ADD

CONSTRAINT "FK_CUBO_VENDA_44931" FOREIGN KEY (

"PR_ID")

REFERENCES "DIM_PROD"("PR_ID");

ALTER TABLE "CUBO_VENDA" ADD

CONSTRAINT "FK_CUBO_VENDA_45074" FOREIGN KEY (

"VENDEDOR_ID")

REFERENCES "DIM_VENDEDOR"("VENDEDOR_ID");

ALTER TABLE "CUBO_VENDA" ADD

CONSTRAINT "FK_CUBO_VENDA_45084" FOREIGN KEY (

"EMP_ID")

REFERENCES "DIM_EMPRESA"("EMP_ID");

ALTER TABLE "CUBO_VENDA" ADD

CONSTRAINT "FK_CUBO_VENDA_56603" FOREIGN KEY (

"DIA_ID")

REFERENCES "DIM_TEMPO"("DIA_ID");

ALTER TABLE "CUBO_VENDA" ADD

71

Page 87: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 87/102

 

CONSTRAINT "FK_CUBO_VENDA_65230" FOREIGN KEY (

"CLI_ID")

REFERENCES "DIM_CLIENTES"("CLI_ID");

B.4 SQL – Mapeamentos

CREATE OR REPLACE PACKAGE "MAP_CLI" AS

sql_stmt VARCHAR2(32767);

get_abort BOOLEAN := FALSE;

get_trigger_success BOOLEAN := TRUE;get_errors NUMBER(22) := 0;

get_status NUMBER(22) := 0;

-- Status variable for Batch cursors

"DIM_CLIENTES_1_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_CLI"

FUNCTION Main RETURN NUMBER;

END "MAP_CLI";

/

CREATE OR REPLACE PACKAGE BODY "MAP_CLI" AS

---------------------------------------------------------------------------

-- Function "DIM_CLIENTES_1_Bat"

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure

---------------------------------------------------------------------------

FUNCTION "DIM_CLIENTES_1_Bat" RETURN BOOLEAN IS

BEGIN

72

Page 88: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 88/102

 

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 

BEGIN 

INSERT

/*+ APPEND PARALLEL(DIM_CLIENTES, DEFAULT, DEFAULT) */

INTO

"DIM_CLIENTES"

("CLI_BAIRRO",

"CLI_CLASSIFICACAO","CLI_ENDERECO",

"CLI_FANTASIA",

"CLI_ID",

"CLI_RAZAO",

"CLI_TIPOPESSOA",

"CLI_CIDADE",

"CLI_ID_CI","CLI_ID_RE",

"CLI_REGIAO")

(SELECT

"EXT_DB055"."C_007" "C_007",

"EXT_DB055"."C_097" "C_097",

"EXT_DB055"."C_005" "C_005",

"EXT_DB055"."C_004" "C_004",

"EXT_DB055"."C_001" "C_001",

"EXT_DB055"."C_003" "C_003",

"EXT_DB055"."C_002" "C_002",

"EXT_DB204"."C_002" "C_002_2",

"EXT_DB204"."C_001" "C_001_2",

"EXT_DB089"."C_001" "C_001_1",

"EXT_DB089"."C_002" "C_002_1"

FROM "EXT_DB055" "EXT_DB055",

"EXT_DB089" "EXT_DB089",

73

Page 89: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 89/102

 

"EXT_DB204" "EXT_DB204" WHERE ( "EXT_DB055"."C_029" =

"EXT_DB089"."C_001" ) AND

( "EXT_DB055"."C_030" = "EXT_DB204"."C_001" ));

COMMIT;

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;

RETURN FALSE;

END;COMMIT;

RETURN TRUE;

END "DIM_CLIENTES_1_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;BEGIN

 

-- Initialize all batch status variables

"DIM_CLIENTES_1_St" := FALSE;

 

"DIM_CLIENTES_1_St" := "DIM_CLIENTES_1_Bat";

RETURN get_status;

END Main;

END "MAP_CLI";

/

CREATE OR REPLACE PACKAGE "MAP_EMPRESAS" AS

sql_stmt VARCHAR2(32767);

74

Page 90: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 90/102

 

get_abort BOOLEAN := FALSE;

get_trigger_success BOOLEAN := TRUE;

get_errors NUMBER(22) := 0;get_status NUMBER(22) := 0;

-- Status variable for Batch cursors

"DIM_EMPRESA_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_EMPRESAS"

FUNCTION Main RETURN NUMBER;

END "MAP_EMPRESAS";

/

CREATE OR REPLACE PACKAGE BODY "MAP_EMPRESAS" AS

----------------------------------------------------------------------------- Function "DIM_EMPRESA_Bat"

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure

---------------------------------------------------------------------------

FUNCTION "DIM_EMPRESA_Bat" RETURN BOOLEAN IS

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 

BEGIN

 

INSERT

/*+ APPEND PARALLEL(DIM_EMPRESA, DEFAULT, DEFAULT) */

INTO

"DIM_EMPRESA"

75

Page 91: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 91/102

 

("EMP_CIDADE",

"EMP_ESTADO",

"EMP_FANTASIA","EMP_ID",

"EMP_RAZAO")

(SELECT

"EXT_DB053"."C_007" "C_007",

"EXT_DB053"."C_008" "C_008",

"EXT_DB053"."C_003" "C_003",

"EXT_DB053"."C_001" "C_001","EXT_DB053"."C_002" "C_002"

FROM "EXT_DB053" "EXT_DB053"

);

COMMIT;

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;RETURN FALSE;

END;

COMMIT;

RETURN TRUE;

END "DIM_EMPRESA_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;

BEGIN

 

-- Initialize all batch status variables

"DIM_EMPRESA_St" := FALSE;

 

"DIM_EMPRESA_St" := "DIM_EMPRESA_Bat";

76

Page 92: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 92/102

 

 

RETURN get_status;

END Main;END "MAP_EMPRESAS";

/

CREATE OR REPLACE PACKAGE "MAP_PROD" AS

sql_stmt VARCHAR2(32767);

get_abort BOOLEAN := FALSE;get_trigger_success BOOLEAN := TRUE;

get_errors NUMBER(22) := 0;

get_status NUMBER(22) := 0;

-- Status variable for Batch cursors

"DIM_PROD_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_PROD"FUNCTION Main RETURN NUMBER;

END "MAP_PROD";

/

CREATE OR REPLACE PACKAGE BODY "MAP_PROD" AS

---------------------------------------------------------------------------

-- Function "DIM_PROD_Bat"

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure

---------------------------------------------------------------------------

FUNCTION "DIM_PROD_Bat" RETURN BOOLEAN IS

77

Page 93: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 93/102

 

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 BEGIN

 

INSERT

/*+ APPEND PARALLEL(DIM_PROD, DEFAULT, DEFAULT) */

INTO

"DIM_PROD"

("GR_GRUPO","GR_ID",

"PR_ID",

"PR_MARCA",

"PR_NOMEPRODUTO",

"SG_ID",

"SG_SUBGRUPO")

(SELECT"EXT_DB056"."C_002" "C_002_2",

"EXT_DB056"."C_001" "C_001_2",

"EXT_DB051"."C_001" "C_001",

"EXT_DB067"."C_002" "C_002_3",

"EXT_DB051"."C_002" "C_002",

"EXT_DB051"."C_004" "C_004",

"EXT_DB065"."C_002" "C_002_1"

FROM "EXT_DB051" "EXT_DB051",

"EXT_DB065" "EXT_DB065",

"EXT_DB056" "EXT_DB056",

"EXT_DB067" "EXT_DB067" WHERE ( "EXT_DB051"."C_004" =

"EXT_DB065"."C_001" ) AND

( "EXT_DB065"."C_003" = "EXT_DB056"."C_001" ) AND

( "EXT_DB051"."C_044" = "EXT_DB067"."C_001" )

);

COMMIT;

78

Page 94: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 94/102

 

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;RETURN FALSE;

END;

COMMIT;

RETURN TRUE;

END "DIM_PROD_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;

BEGIN

 

-- Initialize all batch status variables

"DIM_PROD_St" := FALSE;

 

"DIM_PROD_St" := "DIM_PROD_Bat";

RETURN get_status;

END Main;

END "MAP_PROD";

/

CREATE OR REPLACE PACKAGE "MAP_TEMPO" AS

sql_stmt VARCHAR2(32767);

get_abort BOOLEAN := FALSE;

get_trigger_success BOOLEAN := TRUE;

get_errors NUMBER(22) := 0;

get_status NUMBER(22) := 0;

-- Status variable for Batch cursors

79

Page 95: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 95/102

 

"DIM_TEMPO_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_TEMPO"FUNCTION Main RETURN NUMBER;

END "MAP_TEMPO";

/

CREATE OR REPLACE PACKAGE BODY "MAP_TEMPO" AS

---------------------------------------------------------------------------

-- Function "DIM_TEMPO_Bat"

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure

---------------------------------------------------------------------------FUNCTION "DIM_TEMPO_Bat" RETURN BOOLEAN IS

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 

BEGIN

 

INSERT

/*+ APPEND PARALLEL(DIM_TEMPO, DEFAULT, DEFAULT) */

INTO

"DIM_TEMPO"

("ANO_ANO",

"DIA_DIA",

"DIA_ID",

"MES_MES")

(SELECT

80

Page 96: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 96/102

 

WB_CAL_YEAR(("SORT"."C_008$0")) "ANO",

WB_DAY_OF_MONTH(("SORT"."C_008$0")) "DIA",

"SORT"."C_008$0" "C_008",WB_CAL_MONTH_OF_YEAR(("SORT"."C_008$0")) "MES"

FROM (SELECT

("SORT_INPUT_SUBQUERY"."C_008$1") "C_008$0"

FROM (SELECT

"DEDUP"."C_008$2" "C_008$1"

FROM (SELECT

DISTINCT"EXT_DB072"."C_008" "C_008$2"

FROM "EXT_DB072" "EXT_DB072" WHERE ( "EXT_DB072"."C_008" IS

 NOT NULL )) "DEDUP" ) "SORT_INPUT_SUBQUERY"

ORDER BY

("SORT_INPUT_SUBQUERY"."C_008$1") ASC) "SORT"

);

COMMIT;EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;

RETURN FALSE;

END;

COMMIT;

RETURN TRUE;

END "DIM_TEMPO_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;

BEGIN

 

-- Initialize all batch status variables

"DIM_TEMPO_St" := FALSE;

81

Page 97: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 97/102

 

 

"DIM_TEMPO_St" := "DIM_TEMPO_Bat";

RETURN get_status;

END Main;

END "MAP_TEMPO";

/

CREATE OR REPLACE PACKAGE "MAP_VENDEDOR" AS

sql_stmt VARCHAR2(32767);

get_abort BOOLEAN := FALSE;

get_trigger_success BOOLEAN := TRUE;

get_errors NUMBER(22) := 0;

get_status NUMBER(22) := 0;

-- Status variable for Batch cursors"DIM_VENDEDOR_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_VENDEDOR"

FUNCTION Main RETURN NUMBER;

END "MAP_VENDEDOR";

/

CREATE OR REPLACE PACKAGE BODY "MAP_VENDEDOR" AS

---------------------------------------------------------------------------

-- Function "DIM_VENDEDOR_Bat"

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure

82

Page 98: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 98/102

 

---------------------------------------------------------------------------

FUNCTION "DIM_VENDEDOR_Bat" RETURN BOOLEAN IS

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 

BEGIN

 

INSERT

/*+ APPEND PARALLEL(DIM_VENDEDOR, DEFAULT, DEFAULT) */INTO

"DIM_VENDEDOR"

("VENDEDOR_ID",

"VENDEDOR_VENDEDOR")

(SELECT

"EXT_DB063"."C_001" "C_001",

"EXT_DB063"."C_003" "C_003"FROM "EXT_DB063" "EXT_DB063"

);

COMMIT;

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;

RETURN FALSE;

END;

COMMIT;

RETURN TRUE;

END "DIM_VENDEDOR_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;

BEGIN

83

Page 99: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 99/102

 

 

-- Initialize all batch status variables

"DIM_VENDEDOR_St" := FALSE; 

"DIM_VENDEDOR_St" := "DIM_VENDEDOR_Bat";

RETURN get_status;

END Main;

END "MAP_VENDEDOR";

/

CREATE OR REPLACE PACKAGE "MAP_CUBO_VENDA" AS

sql_stmt VARCHAR2(32767);

get_abort BOOLEAN := FALSE;

get_trigger_success BOOLEAN := TRUE;get_errors NUMBER(22) := 0;

get_status NUMBER(22) := 0;

-- Status variable for Batch cursors

"CUBO_VENDA_St" BOOLEAN;

-- Function Main -- Entry point in package "MAP_CUBO_VENDA"

FUNCTION Main RETURN NUMBER;

END "MAP_CUBO_VENDA";

/

CREATE OR REPLACE PACKAGE BODY "MAP_CUBO_VENDA" AS

---------------------------------------------------------------------------

-- Function "CUBO_VENDA_Bat"

84

Page 100: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 100/102

 

-- performs batch extraction

-- Returns TRUE on success

-- Returns FALSE on failure---------------------------------------------------------------------------

FUNCTION "CUBO_VENDA_Bat" RETURN BOOLEAN IS

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';

 

BEGIN 

INSERT

/*+ APPEND PARALLEL(CUBO_VENDA, DEFAULT, DEFAULT) */

INTO

"CUBO_VENDA"

("CLI_ID",

"DIA_ID","EMP_ID",

"PR_ID",

"QTDE",

"VALORTOTAL",

"VALORUNIT",

"VENDEDOR_ID")

(SELECT

"EXT_DBVDA"."CLIFOR" "CLIFOR",

"EXT_DBVDA"."EMISS" "EMISS",

"EXT_DBVDA"."EMP" "EMP",

"EXT_DBVDA"."PROD" "PROD",

"EXT_DBVDA"."QTDE" "QTDE",

"EXT_DBVDA"."VALUNIT" * "EXT_DBVDA"."QTDE" "VALTOT",

"EXT_DBVDA"."VALUNIT" "VALUNIT",

"EXT_DBVDA"."VENDEDOR" "VENDEDOR"

FROM "EXT_DBVDA" "EXT_DBVDA",

85

Page 101: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 101/102

 

"DIM_PROD" "DIM_PROD",

"DIM_CLIENTES" "DIM_CLIENTES" WHERE ( "EXT_DBVDA"."TIPOREG" = 'V' )

AND( "EXT_DBVDA"."PROD" = "DIM_PROD"."PR_ID" ) AND

( "EXT_DBVDA"."CLIFOR" = "DIM_CLIENTES"."CLI_ID" )

);

COMMIT;

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

COMMIT;RETURN FALSE;

END;

COMMIT;

RETURN TRUE;

END "CUBO_VENDA_Bat";

FUNCTION Main RETURN NUMBER IS

get_batch_status BOOLEAN := TRUE;

BEGIN

 

-- Initialize all batch status variables

"CUBO_VENDA_St" := FALSE;

 

"CUBO_VENDA_St" := "CUBO_VENDA_Bat";

RETURN get_status;

END Main;

END "MAP_CUBO_VENDA";

/

86

Page 102: Monografia Data Werehouse

5/11/2018 Monografia Data Werehouse - slidepdf.com

http://slidepdf.com/reader/full/monografia-data-werehouse 102/102

 

Maringá, 06 de Dezembro de 2004

À Coordenação de Trabalho Final de Curso de InformáticaDepartamento de InformáticaCentro de TecnologiaUniversidade Estadual de Maringá

Encaminhamos, em anexo, a monografia intitulada “Data Warehouse para Sistemas deGestão Empresarial” para avaliação desta coordenação.

 ___________________________ Aluno: Douglas Rodrigo Ferreira

 ___________________________________________ Orientador: Prof. Dra. Maria Madalena Dias

87