mod multidimensional 1p
Post on 07-Aug-2015
125 Views
Preview:
TRANSCRIPT
Stanley Robson de Medeiros Oliveira
������������� ��� ��������� �������
������������ ��������� ���������������
���������������������
� Conceitos básicos sobre:
� Fatos, dimensões e medidas.
� A visualização de um modelo multidimensional.
� O modelo STAR (estrela).
� O modelo Snowflake (floco de neve).
� Estudo de caso com vendas de produtos.
������������ ��������� ���������������
�����������������
� Em vários aspectos, a modelagem dimensional (MD) é mais simples, mais expressiva e mais fácil de entender que a modelagem relacional (MR).
� MD é uma técnica de concepção e visualização de um modelo de dados de um conjunto de medidas que descrevem aspectos comuns de negócios.
� MD é utilizada para sumarizar dados e apresentá-los em visões que suportem análise desses dados.
� Um modelo multidimensional é formado por três elementos:
� Fatos, dimensões e medidas.
������������ ��������� ���������������
�����
� Um fato é uma coleção 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 alcóolicas 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 evolução dos negócios do dia a dia de uma organização.
� A característica básica de um fato é que ele é representado por valores numéricos.
� Um fato é evolutivo; muda suas medidas com o tempo.
������������ ��������� ���������������
���������� 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”.
1019075Furtos em residências
332250243Furtos de veículos
69242Estupros
1677789Assassinatos
158109123Assalto à mão armada
200420032002Ocorrência
Exemplo de Tabela de Fato
����������� ��������� ���������������
!�����"��
� São os elementos que participam de um fato (assunto de negócio).
� São as possíveis formas de visualizar os dados, ou seja, são os “por” dos dados:� Exemplo: “por mês”, “por país”, “por produto”.
� As dimensões determinam o contexto de um assunto de negócios.
� Exemplo: As dimensões de um Data Warehouse que analise as vendas de produtos são:� Tempo, localização, clientes, vendedores.
#����������� ��������� ���������������
��$�����������!������
� Uma dimensão pode conter muitos membros.
� Um membro de uma dimensão é um nome utilizado para determinar a posição de um itemde dado.
� Exemplo:
� Mês, trimestre e ano são membros da dimensão tempo.
� Cidade, estado e região são membros da dimensão localização.
%����������� ��������� ���������������
��$�����������!����������
� Hierarquia de uma dimensão é uma classificação de dados dentro de uma dimensão.
Ano
Trimestre Trimestre
Mês Mês
Dia ... ... ...
... ...
Hierarquia 1
Semana
Dia Dia
Hierarquia 2
&����������� ��������� ���������������
'�������!����������
� Quando analisamos compras, aplicamos o princípio dos quatro pontos cardeais:
� Uma estrela no centro representando um fato;
� As pontas representando as dimensões.
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ê?
()����������� ��������� ���������������
�������*+����,���-
� São os atributos numéricos que representam um fato.
� Exemplo de medidas (métricas):� O valor em reais de vendas;� O número de unidades de produtos vendidas;� A quantidade em estoque;� O custo de venda;� Percentagem de lucro, etc.
� As medidas se classificam em três tipos de valores:� Aditivos, semi-aditivos e não-aditivos.
((����������� ��������� ���������������
�������*+����,���-����
� Definir as medidas das tabelas-fatos, observando os valores:
� Aditivos: Quando os valores são passíveis de serem somadosem todas as dimensões, como por exemplo, valor-vendido ou valor-custo.
� Semi-aditivos: quando a soma tiver sentido somente numa dimensão como, por exemplo, quantidade-vendida.
� Não-aditivos: quando um determinado valor, não puder ser somado em qualquer dimensão.
� Exemplo: o valor de porcentagem de lucro, ((valor de venda-custo)/valor-venda) ou qualquer outro tipo de relação/razão entre medidas.
������������� ����� ���������� �������
Stanley Robson de M. Oliveira
(������������ ��������� ���������������
� O caminho mais popular para visualizar um modelo dimensional é o desenho de um cubo.
Campinas
Americana
Niterói
Campos
SP
RJ
Estado Cidade
Dimensão LocalizaçãoHierarquia de dimensão
Membros dedimensão
1101 1102 2001 2002
Celular Pager
Medidas
Dimensão tempo
Modelo de produto
Produto
Hierarquiada dimensão
.�������+�����/�0����������0��������$�
(������������ ��������� ���������������
� A medida (volume de venda) é determinado pela combinação de três dimensões: localização, produto etempo.
� As dimensões localização e produto possuem dois níveis de hierarquia.
� A dimensão tempo teria os números 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 período específico, na cidade de Campinas, estado de SP, foram vendidos 11.000 telefones do modelo 1101.
.�������+�����/�0����������0��������$�
(������������ ��������� ���������������
1$���,�"�����0��������
� A metáfora denominada CUBO é apenas uma aproximação da forma como os dados estão organizados.
� A razão de se utilizar um cubo é para transmitir a idéia de múltiplas dimensões.
� O modelo tridimensional é representado por um cubo, mas um modelo multidimensional pode ter mais de três dimensões – hipercubo.
� Visualizar graficamente um hipercubo é muito difícil, desta forma utiliza-se a referência a cubo para qualquer modelo multidimensional.
( ����������� ��������� ���������������
'���������������$�
� Imagine você analisando um cubo.� Você fatia os dados e as dimensões que quiser analisar,
observar ou estudar.
(#����������� ��������� ���������������
'���������������$��2
� Exemplo: analisar as vendas totais, classificadas por região.
� Observe que temos somente uma dimensão: Região.
$ 1.732,00Centro-Oeste
$ 5.000,00Sudeste
$ 2.350,00Nordeste
$ 11.472,00Total de Vendas
$ 1.890,00Norte
$ 1.500,00Sul
VendaRegião
Tabela de venda (fato) por região
(%����������� ��������� ���������������
'���������������$��2� Digamos que queremos ver os dados de venda (fato) por
região, porém dividido em trimestres de negócio.
� Observe que a dimensão Tempo foi acrescentada.
$ 500,003
$ 750,001
$ 800,002
4
4
3
2
1
Trimestre
Sudeste
$ 300,00
$ 300,00
$ 250,00
$ 700,00
$ 250,00
Sul
VendaRegião
(&����������� ��������� ���������������
'���������������$��2� Vamos acrescentar outra dimensão: Grupo de Produto.
4
$ 200,00Enlatados
$ 225,00Cereais
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
VendaRegião
�)����������� ��������� ���������������
34���5����
1. Explique porque o CUBO é uma das maneiras mais populares para visualizar o modelo de dados multidimensional.
2. É possível expressar o modelo multidimensional em mais de três dimensões? Explique.
3. Na análise de um cubo, qual é o impacto causado na tabela de fatos quando adicionamos uma dimensão?
��� ������������ ��
DimensãoTempo
DimensãoLocal
DimensãoProduto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
������������� ��������� ���������������
������3������
� Star schema é o termo comum para designação de modelos de dados multidimensionais.
� Como o termo esquema nos dá uma idéia de modelo físico, o mais usual é denominarmos de modelo estrela.
� O modelo estrela é a estrutura básica de um modelo de dados multidimensional.
� A composição do modelo estrela é a seguinte:
� Entidade central, denominada fato (fact table);
� Um conjunto de entidades menores denominadas dimensões.
� Cada dimensão é representada por uma tabela.
������������� ��������� ���������������
������3����������
DimensãoTempo
DimensãoLocalidade
DimensãoProduto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
� Exemplo de um modelo estrela para o fato: vendas.
������������� ��������� ���������������
������3����������� O relacionamento entre a entidade fato e cada dimensão é um
relacionamento de um para muitos, no sentido da dimensãopara o fato.
DimensãoTempo
DimensãoLocalidade
DimensãoProduto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
11 N N
NN
N
1 1
1
������������� ��������� ���������������
������6��78��9��*���������:�,�-� O modelo snowflake é o resultado da decomposição
de uma ou mais dimensões que possuem hierarquias entre seus membros.
DimensãoTempo
DimensãoRegião
DimensãoProduto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
DimensãoEstado
DimensãoCidade
� ����������� ��������� ���������������
������6��78��9��*���������:�,�-����
� Nós podemos definir relacionamentos muitos para umentre os membros de uma dimensão, formando uma hierarquia por meio desses relacionamentos.
� O modelo snowflake é o resultado da aplicação da terceira forma normal sobre as entidades dimensão.
� Esse modelo é de fácil entendimento p/ desenvolvedores de sistemas OLTP, pois aplica as formas normais como em um projeto relacional.
� Os desenvolvedores freqüentemente elegem esse modelo, pois como ele é normalizado, evita redundâncias em uma tabela.
�#����������� ��������� ���������������
� Elabore um Data Mart, com dados de vendas de uma loja de calçados, que permita a um analista avaliar a evolução de vendas e o perfil de compra dos clientes, nos últimos 5 anos. Para esse problema, pede-se:
a) Considere, pelo menos, 5 dimensões.
b) Esboce e modelo estrela (modelo lógico) para esse Data Mart.
c) Esboce o modelo snowflake para esse Data Mart(expandir as dimensões Local e Produto).
d) Esboce o modelo físico para esse Data Mart.
e) Liste o esquema das tabelas do modelo físico.
.��6����������+����������������
�%����������� ��������� ���������������
a) Dimensões: Tempo, Cliente, Vendedor, Produto e Local.
b) Modelo estrela:Dimensão
Tempo
DimensãoLocal
DimensãoProduto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
.��6����������+����������������
�&����������� ��������� ���������������
c) Modelo snowflake (floco de neve) – dimensões local e produto foram expandidas .
DimensãoTempo
DimensãoRegião
DimensãoTipo Produto
DimensãoVendedor
DimensãoCliente
Fatos deVendas
DimensãoEstado
DimensãoCidade
DimensãoProduto
.��6����������+����������������
�)����������� ��������� ���������������
d) Modelo físico (nível de implementação).
Cod_TempoCod_LocalCod_ProdutoCod_VendedorCod_Cliente
Qtde_ProdutoTotal_Venda
VendasCod_Tempo
AnoTrimestreMesData
Cod_Local
RegiaoEstadoCidade
Tempo
Local
Cod_Vendedor
Nome_Vendedor
Vendedor
Cod_Cliente
Nome_Cliente
Cliente
Cod_Produto
Tipo_ProdutoNome_Produto
Produto
.��6����������+����������������
�(����������� ��������� ���������������
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)
.��6����������+����������������
��� ��� �� ���������������� ����
Stanley Robson de M. Oliveira
������������� ��������� ���������������
���������0��������
� Modelagem de dados de sistemas OLTP é diferente da utilizada para Data Warehouse.
� Problemas da modelagem de dados de um DWusando a teoria relacional (Sistemas OLTP):
� Complexidade muito alta para realizar consultas ad hoc;
� Modelos relacionais respeitam a 3a. Forma Normal, mas não respondem com rapidez consultas típicas de apoio à decisão;
� Consultas de apoio à decisão requerem cinco ou mais “joins”.
������������� ��������� ���������������
���������/����������4�!����������
� No modelo relacional os dados são muito detalhados, enquanto no dimensional os dados são consolidados.
� Um modelo relacional nem sempre é indicado para sistemas de apoio à decisão (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 são identificados os processos empresariais que serão a base para a criação das tabelas de fatos.
� Um DW podem ter várias tabelas de fatos, cada uma representando um processo diferente dentro da empresa, constituindo os Data Marts.
������������� ��������� ���������������
�������0;��� ���������!����������
� Definir a área de negócios: prioridade de negócios, percepção de mercado, comportamento do cliente.
� Definir processo(s) dentro da área de negócios.
� Definir a granularidade desejada para os dados do processo, considerando os volumes e dificuldades de se obter o nível desejado.
� Definir os atributos e a hierarquia das dimensões, considerando hierarquias múltiplas.
� Definir as medidas das tabelas-fatos, observando os valores aditivos, semi-aditivos e não aditivos.
� ����������� ��������� ���������������
!�����0������ ���������!����������
� 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 dimensões.
� Observe entidades fortes. Elas também podem sugerir dimensões.
� Observe os relacionamentos M:N. Na sua interseção pode haver valores numéricos; isso sugere Fatos.
� Analise a relação de hierarquias entre atributos da dimensão. Atente para relacionamentos M:N entre eles. Isso pode definir granularidade.
�#����������� ��������� ���������������
6�����"���0����<������
� 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.
� Introdução aos Conceitos de Modelagem Multidimensional Aplicados a Data Warehouses, Fábio Bahia Andrade, Luciano Diniz Guerra Santiago, 2003.
�%����������� ��������� ���������������
/�8��=������0������������� The Data Warehouse Lifecycle Toolkit, Ralph Kimball et al.,
John Wiley & Sons, 2a. Edição, 2003.
� The Data Warehouse Toolkit, Ralph Kimball, John Wiley & Sons, 1996. Obs: Existe tradução para o Português.
� 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 visão multidimensional, Felipe Nery R. Machado. São Paulo: Érica, 2004. 318p.
� Database Management Systems, RAMAKRISHNAN, R.; GEHRKE, J., 3a. Edição, McGraw-Hill, 2004.
top related