O documento descreve o modelo dimensional, que organiza os dados em tabelas de fatos e dimensões para permitir visualizações intuitivas e alto desempenho em consultas. O modelo é composto por fatos, dimensões e medidas, onde os fatos representam eventos de negócios e são classificados pelas dimensões. O modelo pode ser representado por cubos de dados, esquema estrela ou esquema em floco de neve.
1. Modelo Dimensional
A modelagem dimensional (MD), é uma técnica de
modelagem de dados voltada especialmente para a
implementação de um modelo de dados que permita a
visualização de dados de forma intuitiva e com altos
índices de performance na extracção de dados.
Visualização de dados intuitiva, significa que os
usuários (analistas de negócio) facilmente entendem e
navegam pela solução da estrutura de dados
resultante, visualizando as questões que desejam que
o Data Warehouse responda, isto é, que atenda os
requisitos levantados.
2. Modelo Dimensional vs. Modelo ER
• Modelo ER
– Usado para identificar relacionamentos entre tipos de
entidades;
– Visa remover a redundância de dados;
– Processamento de Transações On-Line (OLTP);
• Modelo Dimensional
– Apresenta dados em uma estrutura intuitiva permitindo
alta performance de acesso;
– Independe da representação física dos dados;
– Organiza dados em tabelas de factos e dimensões;
– Processamento Analítico On-Line (OLAP).
4. Modelo Dimensional(Tabela Facto)
A tabela de facto, é a principal tabela do modelo dimensional, onde
estão armazenadas as medidas da organização que são o foco da
análises do suporte à decisão.
O modelo dimensional é composto de uma ou mais tabelas de factos
as quais possuem uma chave composta de chaves estrangeiras
(dados de contexto) e dados de medida do negócio (atributos
numéricos e aditivos).
O facto representa uma medição do negocio, isto é, uma linha da
tabela de facto é uma medição, que pode representar uma
determinada transação ou evento do negócio ocorrido em um
determinado contexto (obtido na intersecção das dimensões).
6. Modelo Dimensional(Tabela Dimensão)
As dimensões são tabelas que conterão os atributos textuais do
negócio, que determinam o contexto em que acontece o facto e
mostram as possibilidades analíticas dos sistemas de análises da
solução de BI, isto é, “implementam” a interface para o usuário;
Uma dimensão se refere ao contexto em que um determinado facto
ocorreu, tais como períodos de tempo, produtos, mercados, clientes
e fornecedores elementos que possam descrever o contexto de um
determinado facto, classificando as medições activas de uma
organização.
Os atributos das tabelas de dimensão são usados para identificar
como os factos serão analisados.
7. Modelo Dimensional(Tabela Dimensão)
• Product Dimension
product_key
description
brand
category
department
package type
package size
fat content
diet type
weight
weight unit of measure
storage type
...
8. Modelo Dimensional(Medidas)
Medidas são atributos que quantificam um determinado facto,
representando a performance de um indicador em relação às
dimensões que participam do facto.
O contexto de uma medida é determinado em função das
dimensões que participam do facto.
As medidas podem ser classificadas em:
Valores aditivos: medidas que podem ser aplicadas operadores
(soma, %, etc). Faz sentido adicioná-los continuamente e sobre
todas as dimensões (Ex: vendas em US$ e vendas em unidades);
Valores não aditivos: medidas que não podem ser manipuladas
livremente, como % ou valores relativos. (Ex: temperatura e
condição do tempo).
9. Factos, dimensões e medidas
FACTO DIMENSÕES MEDIDAS
Representam um item, Determinam o contexto de um assunto de negócios, como São os atributos numéricos que representam
transação ou evento de por exemplo, uma análise de vendas de produtos. um facto e são determinadas pela
negócio. combinação das dimensões que participam
do mesmo.
Reflectem a evolução dos São os balizadores de análise de dados. Representam a performance de um
negócios. indicador de negócios relativo às dimensões
que participam de um facto.
São representados por Normalmente não possuem atributos numéricos, pois são Podem possuir uma hierarquia de
conjuntos de valores somente descritivas e classificatórias dos elementos que composição de seu valor.
numéricos (medidas) participam de um facto.
que variam ao longo do
tempo.
10. Modelo Dimensional
O modelo dimensional de dados é visualizada em
uma das seguintes formas:
Cubos de dados;
Esquema Estrela(Star Schema);
Esquema Flocos de Neve (Snowflake Schema).
11. Modelo Dimensional
O modelo dimensional permite
P
a visualização de dados na categoria r
o
forma de um cubo, onde cada marca d tipo
descrição u endereço
dimensão do cubo representa
ja
t
Lo
nome_loja
o ano
o contexto de um determinado Tempo
mes
assunto, e a intersecção entre dia_do_mes
flag_feriado
as dimensões representa as
medidas do assunto.
12. Modelo Dimensional
(Agregação em Níveis de Hierarquias )
• É o processo pelo qual os dados de nível baixo de
detalhe são previamente sumarizados e incluídos
em tabelas que armazenam informações
sumarizadas (tabelas de agregados) .
• Essas tabelas permitem que as aplicações
antecipem consultas do usuário e eliminem a
repetição de cálculos.
13. Hierarquia de Dimensões
As hierarquias descrevem a lógica dos relacionamentos
entre os dados são a base para a navegação entre os
diferentes níveis de detalhe em uma estrutura
multidimensional [MEYER, CANNON, 1998].
Algumas estruturas hierárquicas são facilmente
identificadas, como por exemplo, uma estrutura de tempo
representada por horas, dias, semanas, meses, trimestres
e anos ou uma estrutura geográfica representada por
cidades, municípios, estados, regiões e países [KIMBALL,
1996].
14. Modelo Dimensional
(Agregação em Níveis de Hierarquias )
Dimensão Tempo
^ Tempo
Chave_Tempo
^ 1996
Mes ^ Trim1/96
Trimestre
Ano Janeiro
Fevereiro
Março
∨ Trim2/96
∨ Trim3/96
∨ Trim4/96
∨ 1997
∨ Produto
16. Modelo Dimensional
(Exemplo de Consultas)
• Qual o total de vendas do produto AAAA?
2000
1999
AAAA
BBBB
CCCC
DDDD
F01 F02 F03
17. Modelo Dimensional
(Exemplo de Consultas)
• Qual o total de vendas da loja F03?
2000
1999
AAAA
BBBB
CCCC
DDDD
F01 F02 F03
18. Modelo Dimensional
(Exemplo de Consultas)
• Qual o total de vendas do ano 1999?
2000
1999
AAAA
BBBB
CCCC
DDDD
F01 F02 F03
19. Modelo Dimensional
(Exemplo de Consultas)
• Qual o total de vendas do produto BBBB no ano de 1999 e na loja F2?
2000
1999
AAAA
BBBB
CCCC
DDDD
F01 F02 F03
20. Modelo Dimensional
(Esquema Estrela)
O modelo estrela é a estrutura básica de um modelo de
dados multi-dimensional. Este modelo é composto por uma
grande entidade central (tabela de facto) e por um conjunto
de entidades menores (tabelas de dimensões) que são
organizadas ao redor desta entidade central formando uma
estrela.
21. Modelo Dimensional
(Esquema Estrela-modelo)
A maioria dos factos envolve pelo menos quatro dimensões
básicas: onde, quando, quem e o que.
A dimensão Onde, determina o local onde o facto ocorreu
(local geográfico, filial).
A dimensão Quando, é a própria dimensão tempo.
A dimensão Quem, determina que entidades participaram
do facto(cliente, fornecedor, etc.).
A dimensão O quê determina qual é o objecto do facto
(produto,serviço).
24. Modelo Dimensional
(Esquema Estrela)
A tabela de factos é a principal tabela de um modelo dimensional,
onde as medições numéricas de interesse da empresa estão
armazenadas [KIMBALL, 2002]. A palavra "facto“ representa uma
medida dos processos que estamos modelando, como quantidades,
valores e indicadores. A tabela de factos registra os factos que serão
analisados. É composta por uma chave composta (formada por uma
combinação única de valores de chaves primárias de dimensão) e
pelas métricas de interesse para o negócio.
As dimensões indicam a forma como as medidas serão vistas, ou
seja, são os aspectos pelos quais se pretende observar as métricas.
A intersecção das chaves de dimensão define a granularidade da
tabela de factos, e é importante que todas as medidas na tabela de
factos tenham a mesma granularidade.
26. Modelo Dimensional
(Esquema Floco de Neve)
O esquema floco de neve é uma variação do esquema
estrela, no qual todas as tabelas de dimensão são
normalizadas na terceira forma normal (3FN), ou seja, são
retirados das tabelas os campos que são funcionalmente
dependentes de outros campos que não são chaves.
Recomenda-se utilizar o esquema floco de neve apenas quando a
linha de dimensão ficar muito longa e começar a ser relevante do
ponto de vista de armazenamento.
29. Modelo Dimensional
(Esquema Floco de Neve)
Ralph Kimball [1996] aconselha os projectistas "bem-
intencionados" a resistirem à tentação de transformar
esquemas estrela em esquemas floco de neve, devido ao
impacto da complexidade deste tipo de estrutura sobre o
usuário final, enquanto que o ganho em termos de espaço
de armazenamento seria pouco relevante.
30. Cubos
Uma idéia fundamental da modelagem dimensional é que
quase todos os tipos de dados de negócio podem ser
representados por um tipo de cubo de dados, onde as
células deste cubo contêm valores medidos e os lados do
cubo definem as dimensões dos dados.
• Cubo é a estrutura multidimensional de dados que
expressa a forma na qual os tipos de informações se
relacionam entre si. É formado pela tabela de factos e
pelas tabelas de dimensão que a circundam e representam
possíveis formas de visualizar e consultar os dados.
32. Cubos
• O cubo armazena todas as informações
relacionadas a um determinado assunto, de
maneira a permitir que sejam montadas várias
combinações entre elas, resultando na extracção
de várias visões sobre o mesmo tema.
• Entende-se que com a modelagem dimensional é
possível melhorar desempenho de consultas e
facilitar análises através das medidas armazenadas
nas tabelas fatos e das descrições das dimensões.
33. Construção de um modelo
dimensional.
1º Passo: Decidir qual(is) processo(s) do negócio (assunto)
devemos modelar, por meio da combinação do
conhecimento do negócio com o conhecimento dos dados
que estão disponíveis.
Um processo do negócio (assunto) é uma operação
importante suportada por algum tipo de sistema legado de
onde é possível colectar dados para o DW.
Exemplos de negócios a serem modelados: vendas,
pedidos, etc.
34. Construção de um modelo
dimensional.
2º Passo: Definir os factos e métricas, isto é, o que queremos
avaliar.
Definido o assunto de negócio, os factos e medidas
respondem a pergunta “o que estamos avaliando”?
Por exemplo, se nosso usuário é um gerente da área
comercial de uma rede de lojas, que quer avaliar o
processo de negócio VENDAS. As medidas a serem
analisadas poderiam ser: a quantidade de itens
vendidos, o valor de venda, o custo de cada itens e as
margens de lucro.
35. Construção de um modelo
dimensional.
3º Passo: Escolher as dimensões pelas quais as
medidas serão analisadas. As dimensões serão
aplicadas a cada registro da tabela de factos.
Aqui perguntamos ao usuário, “como as
métricas serão analisadas” ou “quais serão as
dimensões do negocio para avaliar os factos”.
• Ex.: as vendas poderão ser analisadas por mês
e ano (dimensão tempo); por produto (dimensão
produto); por município e por estado (dimensão
geografia).
36. Construção de um modelo dimensional.
4º Passo: Definir a granularidade de cada dimensão, significa
definir o grão do processo de negócios. O grão é o nível
fundamental atômico de dados que representará o
processo na tabela de fatos.
Aqui devemos perguntar: “qual é o nível de detalhe
desejado”?
• Por ex: faz sentido avaliar as vendas por dia?
• Ex. Dimensão tempo: grão = dia; dimensão produto: grão =
item do produto; dimensão geografia: grão = loja.
37. Construção de um modelo dimensional.
5º Passo: Definir a hierarquia de agrupamentos de
informações.
“Como se espera agrupar ou sumarizar as informações”?
• Por exemplo: qual é o total de canetas vendidas nas lojas
do estado de SP no último semestre?
• Dimensão tempo: hierarquia: dia-mês-semestre-ano
• Dimensão produto: hierarquia: item-linha-categoria
• Dimensão geografia: hierarquia: loja-municipio-UF-região
38. Construção de um modelo dimensional.
Negócios(Passo 1: escolher o processo de
negócios) ex: Facturas, Pedidos, Vendas, etc.
Medidas (Passo 2: definir métricas) ex: Unidades
vendidas(Preço em R$,Preço em U$,etc)
Dimensões(Passo 3: escolher as dimensões) ex: Tempo,
Produto, Loja, Vendedor,etc.
Grão (Passo 4: escolher o grão)
39. Construção de um modelo dimensional.
Exemplo: Uma rede de concessionárias de carros, possui um sistema
transacional para o controle das vendas. Nas entrevistas realizadas
com os gerentes, foram identificadas algumas necessidades de
informação:
• acompanhamento da evolução das vendas e do valor total arrecadado
por concessionária;
• definição das lojas que atraem o maior ou menor número de clientes;
• identificar o perfil dos clientes;
• identificar o período do ano que apresenta maior volume de vendas,
em relação as lojas e ao perfil do cliente.
• Identificar o fato, as medidas do fato e as dimensões pelas quais as
medidas serão analisadas. Desenhar o modelo dimensional lógico.
40. Construção de um modelo dimensional.
1º Passo: Qual é o processo de negócios que se quer
analisar?
Resposta: as VENDAS
2º Passo: o que o usuário quer avaliar?
Resposta: o valor arrecadado com as vendas de automóveis.
41. Construção de um modelo dimensional.
3º Passo: como o usuário quer analisar o valor
arrecadado?
Resposta: por loja, por perfil de clientes, período do
ano
4º Passo: qual é o nível de detalhe desejado?
Dimensão Loja: por loja (concessionária); Dimensão
cliente: por sexo, faixa etária; Dimensão tempo: por
mês, por trimestre, por ano.
42. Construção de um modelo
dimensional.
Dimensao Tempo Dimensao Cliente
Chave_Tempo(PK) Chave Cliente(PK)
Facto Venda
Dia_Semana Faixa_etaria
Mes Sexo
Trimestre Chave Tempo(FK)
Ano Chave Cliente(FK)
Chave Loja(FK)
QTD Vendidas
Valor Vendas Dimensao Loja
Chave Loja(PK)
Nome_Loja
Endereco_Loja