You are on page 1of 38

Stanley Robson de Medeiros Oliveira

Introduo
Modelagem Multidimensional
2
Introduo Modelagem Multidimensional
Contedo Programtico
Conceitos bsicos sobre:
Fatos, dimenses e medidas.
A visualizao de um modelo multidimensional.
O modelo STAR (estrela).
O modelo Snowflake (floco de neve).
Estudo de caso com vendas de produtos.
3
Introduo Modelagem Multidimensional
Conceitos Bsicos
Em vrios aspectos, a modelagem dimensional (MD)
mais simples, mais expressiva e mais fcil de entender
que a modelagem relacional (MR).
MD uma tcnica de concepo e visualizao de um
modelo de dados de um conjunto de medidas que
descrevem aspectos comuns de negcios.
MD utilizada para sumarizar dados e apresent-los em
vises que suportem anlise desses dados.
Um modelo multidimensional formado por trs
elementos:
Fatos, dimenses e medidas.
4
Introduo Modelagem Multidimensional
Fatos
Um fato uma coleo de itens de dados composta de
medidas e de contexto.
O valor total de vendas, no ltimo trimestre, aumentou em 15%.
O consumo de bebidas alcolicas aumentou, em SP, de 98 a 99.
Os ndices de criminalidade aumentaram no ano atual 50%
sobre os ltimos dois anos.
Um fato tudo aquilo que reflete a evoluo dos
negcios do dia a dia de uma organizao.
A caracterstica bsica de um fato que ele
representado por valores numricos.
Um fato evolutivo; muda suas medidas com o tempo.
5
Introduo Modelagem Multidimensional
Fatos ...
Um fato implementado em tabelas denominadas tabelas de
fatos (fact tables).
Fato: Os ndices de criminalidade aumentaram no ano atual
50% sobre os ltimos dois anos.
101 90 75 Furtos em residncias
332 250 243 Furtos de veculos
69 24 2 Estupros
167 77 89 Assassinatos
158 109 123 Assalto mo armada
2004 2003 2002 Ocorrncia
Exemplo de Tabela de Fato
6
Introduo Modelagem Multidimensional
Dimenses
So os elementos que participam de um fato (assunto
de negcio).
So as possveis formas de visualizar os dados, ou seja,
so os por dos dados:
Exemplo: por ms, por pas, por produto.
As dimenses determinam o contexto de um assunto
de negcios.
Exemplo: As dimenses de um Data Warehouse que
analise as vendas de produtos so:
Tempo, localizao, clientes, vendedores.
7
Introduo Modelagem Multidimensional
Membros de uma Dimenso
Uma dimenso pode conter muitos membros.
Um membro de uma dimenso um nome
utilizado para determinar a posio de um item
de dado.
Exemplo:
Ms, trimestre e ano so membros da dimenso tempo.
Cidade, estado e regio so membros da dimenso localizao.
8
Introduo Modelagem Multidimensional
Membros de uma Dimenso ...
Hierarquia de uma dimenso uma classificao de
dados dentro de uma dimenso.
Ano
Trimestre Trimestre
Ms Ms
Dia
... ... ...
... ...
Hierarquia 1
Semana
Dia Dia
Hierarquia 2
9
Introduo Modelagem Multidimensional
Anlise Dimensional
Quando analisamos compras, aplicamos o
princpio dos quatro pontos cardeais:
Uma estrela no centro representando um fato;
As pontas representando as dimenses.
Elementos participantes de
uma compra:
Quando foi realizada a compra?
Onde foi realizada a compra?
Quem realizou a compra?
O que foi comprado?
Compra
Onde?
Quem?
Quando?
O qu?
10
Introduo Modelagem Multidimensional
Medidas (Variveis)
So os atributos numricos que representam um
fato.
Exemplo de medidas (mtricas):
O valor em reais de vendas;
O nmero de unidades de produtos vendidas;
A quantidade em estoque;
O custo de venda;
Percentagem de lucro, etc.
As medidas se classificam em trs tipos de valores:
Aditivos, semi-aditivos e no-aditivos.
11
Introduo Modelagem Multidimensional
Medidas (Variveis) ...
Definir as medidas das tabelas-fatos, observando os
valores:
Aditivos: Quando os valores so passveis de serem somados
em todas as dimenses, como por exemplo, valor-vendido ou
valor-custo.
Semi-aditivos: quando a soma tiver sentido somente numa
dimenso como, por exemplo, quantidade-vendida.
No-aditivos: quando um determinado valor, no puder ser
somado em qualquer dimenso.
Exemplo: o valor de porcentagem de lucro, ((valor de venda-
custo)/valor-venda) ou qualquer outro tipo de relao/razo
entre medidas.
A Visualizao de um
Modelo Multidimensional
Stanley Robson de M. Oliveira
13
Introduo Modelagem Multidimensional
O caminho mais popular para visualizar um modelo
dimensional o desenho de um cubo.
Campinas
Americana
Niteri
Campos
SP
RJ
Estado Cidade
Dimenso Localizao
Hierarquia de dimenso
Membros de
dimenso
1101 1102 2001 2002
Celular Pager
Medidas
Dimenso
tempo
Modelo de produto
Produto
Hierarquia
da dimenso
Um Fato Venda Representado por um Cubo
14
Introduo Modelagem Multidimensional
A medida (volume de venda) determinado pela
combinao de trs dimenses: localizao, produto e
tempo.
As dimenses localizao e produto possuem dois
nveis de hierarquia.
A dimenso tempo teria os nmeros dos anos de
venda, tais como 2003, 2004, 2005 e 2006.
Cada subcubo possui o valor da medida de
quantidade de venda.
Exemplo: em um perodo especfico, na cidade de
Campinas, estado de SP, foram vendidos 11.000
telefones do modelo 1101.
Um Fato Venda Representado por um Cubo
15
Introduo Modelagem Multidimensional
Observaes Importantes
A metfora denominada CUBO apenas uma
aproximao da forma como os dados esto organizados.
A razo de se utilizar um cubo para transmitir a idia de
mltiplas dimenses.
O modelo tridimensional representado por um cubo,
mas um modelo multidimensional pode ter mais de trs
dimenses hipercubo.
Visualizar graficamente um hipercubo muito difcil,
desta forma utiliza-se a referncia a cubo para qualquer
modelo multidimensional.
16
Introduo Modelagem Multidimensional
Analisando um Cubo
Imagine voc analisando um cubo.
Voc fatia os dados e as dimenses que quiser analisar,
observar ou estudar.
17
Introduo Modelagem Multidimensional
Analisando um Cubo .
Exemplo: analisar as vendas totais, classificadas por
regio.
Observe que temos somente uma dimenso: Regio.
$ 1.732,00 Centro-Oeste
$ 5.000,00 Sudeste
$ 2.350,00 Nordeste
$ 11.472,00 Total de Vendas
$ 1.890,00 Norte
$ 1.500,00 Sul
Venda Regio
Tabela de venda (fato) por regio
18
Introduo Modelagem Multidimensional
Analisando um Cubo .
Digamos que queremos ver os dados de venda (fato) por
regio, porm dividido em trimestres de negcio.
Observe que a dimenso Tempo foi acrescentada.
$ 500,00 3
$ 750,00 1
$ 800,00 2
4
4
3
2
1
Trimestre
Sudeste
$ 300,00
$ 300,00
$ 250,00
$ 700,00
$ 250,00
Sul
Venda Regio
19
Introduo Modelagem Multidimensional
Analisando um Cubo .
Vamos acrescentar outra dimenso: Grupo de Produto.
4
$ 200,00 Enlatados
$ 225,00 Cereais
Cereais
Enlatados
Cereais
Enlatados
Cereais
Enlatados
Grupo de Produto
$ 25,00
$ 500,00
3
2
1
Trimestre
$ 300,00
$ 100,00
$ 50,00
$ 200,00
Sul
Venda Regio
20
Introduo Modelagem Multidimensional
Exerccios
1. Explique porque o CUBO uma das maneiras mais
populares para visualizar o modelo de dados
multidimensional.
2. possvel expressar o modelo multidimensional em
mais de trs dimenses? Explique.
3. Na anlise de um cubo, qual o impacto causado na
tabela de fatos quando adicionamos uma dimenso?
Modelo Star ou Estrela
Dimenso
Tempo
Dimenso
Local
Dimenso
Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
22
Introduo Modelagem Multidimensional
Modelo Estrela
Star schema o termo comum para designao de
modelos de dados multidimensionais.
Como o termo esquema nos d uma idia de modelo
fsico, o mais usual denominarmos de modelo estrela.
O modelo estrela a estrutura bsica de um modelo de
dados multidimensional.
A composio do modelo estrela a seguinte:
Entidade central, denominada fato (fact table);
Um conjunto de entidades menores denominadas
dimenses.
Cada dimenso representada por uma tabela.
23
Introduo Modelagem Multidimensional
Modelo Estrela ...
Dimenso
Tempo
Dimenso
Localidade
Dimenso
Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
Exemplo de um modelo estrela para o fato: vendas.
24
Introduo Modelagem Multidimensional
Modelo Estrela ...
O relacionamento entre a entidade fato e cada dimenso um
relacionamento de um para muitos, no sentido da dimenso
para o fato.
Dimenso
Tempo
Dimenso
Localidade
Dimenso
Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
1
1 N N
N N
N
1 1
1
25
Introduo Modelagem Multidimensional
Modelo Snowflake (Floco de Neve)
O modelo snowflake o resultado da decomposio
de uma ou mais dimenses que possuem hierarquias
entre seus membros.
Dimenso
Tempo
Dimenso
Regio
Dimenso
Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
Dimenso
Estado
Dimenso
Cidade
26
Introduo Modelagem Multidimensional
Modelo Snowflake (Floco de Neve) ...
Ns podemos definir relacionamentos muitos para um
entre os membros de uma dimenso, formando uma
hierarquia por meio desses relacionamentos.
O modelo snowflake o resultado da aplicao da
terceira forma normal sobre as entidades dimenso.
Esse modelo de fcil entendimento p/ desenvolvedores
de sistemas OLTP, pois aplica as formas normais como
em um projeto relacional.
Os desenvolvedores freqentemente elegem esse
modelo, pois como ele normalizado, evita redundncias
em uma tabela.
27
Introduo Modelagem Multidimensional
Elabore um Data Mart, com dados de vendas de uma
loja de calados, que permita a um analista avaliar a
evoluo de vendas e o perfil de compra dos clientes,
nos ltimos 5 anos. Para esse problema, pede-se:
a) Considere, pelo menos, 5 dimenses.
b) Esboce e modelo estrela (modelo lgico) para esse Data
Mart.
c) Esboce o modelo snowflake para esse Data Mart
(expandir as dimenses Local e Produto).
d) Esboce o modelo fsico para esse Data Mart.
e) Liste o esquema das tabelas do modelo fsico.
Um Sistema de Vendas de Calados
28
Introduo Modelagem Multidimensional
a) Dimenses: Tempo, Cliente, Vendedor, Produto e Local.
b) Modelo estrela:
Dimenso
Tempo
Dimenso
Local
Dimenso
Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
Um Sistema de Vendas de Calados
29
Introduo Modelagem Multidimensional
c) Modelo snowflake (floco de neve) dimenses local e
produto foram expandidas .
Dimenso
Tempo
Dimenso
Regio
Dimenso
Tipo Produto
Dimenso
Vendedor
Dimenso
Cliente
Fatos de
Vendas
Dimenso
Estado
Dimenso
Cidade
Dimenso
Produto
Um Sistema de Vendas de Calados
30
Introduo Modelagem Multidimensional
d) Modelo fsico (nvel de implementao).
Cod_Tempo
Cod_Local
Cod_Produto
Cod_Vendedor
Cod_Cliente
Qtde_Produto
Total_Venda
Vendas
Cod_Tempo
Ano
Trimestre
Mes
Data
Cod_Local
Regiao
Estado
Cidade
Tempo
Local
Cod_Vendedor
Nome_Vendedor
Vendedor
Cod_Cliente
Nome_Cliente
Cliente
Cod_Produto
Tipo_Produto
Nome_Produto
Produto
Um Sistema de Vendas de Calados
31
Introduo Modelagem Multidimensional
e) Esquema das tabelas:
Tempo (Cod_Tempo, Ano, Trimestre, Mes, Data)
Local (Cod_Local, Regiao, Estado, Cidade)
Cliente (Cod_Cliente, Nome_Cliente)
Produto (Cod_Produto, Tipo_Produto, Nome_Produto)
Vendedor (Cod_Vendedor, Nome_Vendedor)
Vendas (Cod_Tempo, Cod_Cidade, Cod_Cliente,
Cod_Produto, Cod_Vendedor, Qtde_Produto, Total_Venda)
Um Sistema de Vendas de Calados
Modelagem de Dados para
Data Warehouse
Stanley Robson de M. Oliveira
33
Introduo Modelagem Multidimensional
Pontos Importantes
Modelagem de dados de sistemas OLTP diferente
da utilizada para Data Warehouse.
Problemas da modelagem de dados de um DW
usando a teoria relacional (Sistemas OLTP):
Complexidade muito alta para realizar consultas ad
hoc;
Modelos relacionais respeitam a 3a. Forma Normal,
mas no respondem com rapidez consultas tpicas
de apoio deciso;
Consultas de apoio deciso requerem cinco ou
mais joins.
34
Introduo Modelagem Multidimensional
Modelagem Relacional x Dimensional
No modelo relacional os dados so muito detalhados,
enquanto no dimensional os dados so consolidados.
Um modelo relacional nem sempre indicado para sistemas
de apoio deciso (complexidade de queries).
A modelagem dimensional estrutura os dados de forma
diferente para que as consultas sejam otimizadas.
A modelagem dimensional um processo top-down:
primeiro so identificados os processos empresariais que
sero a base para a criao das tabelas de fatos.
Um DWpodem ter vrias tabelas de fatos, cada uma
representando um processo diferente dentro da empresa,
constituindo os Data Marts.
35
Introduo Modelagem Multidimensional
Passos p/ a Modelagem Dimensional
Definir a rea de negcios: prioridade de negcios,
percepo de mercado, comportamento do cliente.
Definir processo(s) dentro da rea de negcios.
Definir a granularidade desejada para os dados do
processo, considerando os volumes e dificuldades de se
obter o nvel desejado.
Definir os atributos e a hierarquia das dimenses,
considerando hierarquias mltiplas.
Definir as medidas das tabelas-fatos, observando os
valores aditivos, semi-aditivos e no aditivos.
36
Introduo Modelagem Multidimensional
Dicas para a Modelagem Dimensional
Use um modelo de dados convencional MER como ponto
de partida. Isso facilitar a modelagem dimensional.
Observe os relacionamentos 1:N existentes. Eles podem
sugerir dimenses.
Observe entidades fortes. Elas tambm podem sugerir
dimenses.
Observe os relacionamentos M:N. Na sua interseo
pode haver valores numricos; isso sugere Fatos.
Analise a relao de hierarquias entre atributos da
dimenso. Atente para relacionamentos M:N entre eles.
Isso pode definir granularidade.
37
Introduo Modelagem Multidimensional
Sugestes para Leitura
Conceptual Design of Data Warehouses from E/R
Schemes, Matteo Golfarelli, Dario Maio, Stefano Rizzi,
Proceedings of the Hawaii International Conference On
System Sciences, 1998.
Designing the Data Warehouse: Key Steps and Crucial
Issues, Stefano Rizzi, Journal of Computer Science and
Information Management, Vol. 2, N. 3, 1999.
Introduo aos Conceitos de Modelagem
Multidimensional Aplicados a Data Warehouses, Fbio
Bahia Andrade, Luciano Diniz Guerra Santiago, 2003.
38
Introduo Modelagem Multidimensional
Referncias para Consulta
The Data Warehouse Lifecycle Toolkit, Ralph Kimball et al.,
John Wiley & Sons, 2a. Edio, 2003.
The Data Warehouse Toolkit, Ralph Kimball, John Wiley &
Sons, 1996. Obs: Existe traduo para o Portugus.
Essential Oracle8i Data Warehousing, Gary Dodge & Tim
Gorman, John Wiley & Sons, 2000.
Data Warehousing and Business Intelligence for E-Commerce,
Alan R. Simon, Steven L. Shaffer, Morgan Kaufmann
Publishers, 2001
Tecnologia e Projeto de Data Warehouse: uma viso
multidimensional, Felipe Nery R. Machado. So Paulo: rica,
2004. 318p.
Database Management Systems, RAMAKRISHNAN, R.;
GEHRKE, J., 3a. Edio, McGraw-Hill, 2004.