Você está na página 1de 29

Modelação Dimensional

Sistemas de Apoio à Decisão


Modelação Dimensional
• Sumário
• Introdução
• Caso de estudo: Cadeia de Lojas
• Modelo Dimensional
• Tipos de modelos ou esquemas
• Tabelas de factos
• Tabelas de dimensão
• Modelação dimensional
• Processo de modelação

Sistemas de Apoio à Decisão 2


Introdução

Seleção e
Desenho da
Instalação
Arquitetura
de Produtos

Definição de
Desenho do Manutenção
Planeamento Modelação Desenho Colocação
Requisitos Estágio e
do Projeto Dimensional Físico em Produção
dos Dados Crescimento
do Negócio

Especificação Desenvolvimento
de Aplicações de Aplicações
dos Utilizadores dos Utilizadores

Gestão do Projeto

Sistemas de Apoio à Decisão 3


Introdução
• Caso de Estudo: Cadeia de Lojas
• Venda a retalho de produtos
• Processo de negócio “Vendas”
• Cenário típico para implementação de
um Data Warehouse
• Fácil transposição para outros processos de
negócio
• Suportar a tomada de decisões relativas
à venda de produtos

Sistemas de Apoio à Decisão 4


Introdução
• Visão dos Gestores
• “Vendemos produtos aos nossos clientes
em várias lojas, e medimos o nosso
desempenho ao longo do tempo”
• Podemos destacar algumas palavras
chave:
• Produtos
• Clientes
• Lojas
• Desempenho
• Tempo
Sistemas de Apoio à Decisão 5
Introdução
• Dados do negócio
• Podemos pensar no negócio como um
cubo de dados de n dimensões
• Cada dimensão do cubo de dados
corresponde a uma dimensão do negócio
• Cada célula do cubo de dados guarda
valores (medidas ou factos) relativos à
combinação das várias dimensões do
negócio

Sistemas de Apoio à Decisão 6


Introdução
• Cubo de dados multidimensional
• Dimensões e medidas do negócio

Produto

Sistemas de Apoio à Decisão 7


Modelação Dimensional
• Sumário
• Introdução
• Caso de estudo: Cadeia de Lojas
• Modelo Dimensional
• Tipos de modelos ou esquemas
• Tabelas de factos
• Tabelas de dimensão
• Modelação dimensional
• Processo de modelação

Sistemas de Apoio à Decisão 8


Modelo Lógico de Dados
• Baseia-se no modelo dimensional
• Permite guardar exatamente os mesmos
dados que o modelo relacional, e
permite realizar exatamente as mesmas
análises
• É bastante mais compreensível que o
modelo relacional
• Permite realizar pesquisas mais rápidas
do que o modelo relacional

Sistemas de Apoio à Decisão 9


Modelo Dimensional
• Tipos de modelos ou esquemas
• Esquema em estrela
• Tabela de factos no meio do diagrama
ligada a um conjunto de tabelas de
dimensão à sua volta
Dimensao1 Tabela_Factos Dimensao3
chave_dimensao1 chave_dimensao1 chave_dimensao3
chave_dimensao2
... chave_dimensao3
...
chave_dimensao4

Dimensao2 Dimensao4
chave_dimensao2 facto1 chave_dimensao4
facto2
... ... ...

Sistemas de Apoio à Decisão 10


Modelo Dimensional
• Tipos de modelos ou esquemas
• Esquema em flocos de neve
• Refinamento do esquema em estrela com
algumas dimensões normalizadas
Tabela_Factos Dimensao3
chave_dimensao1 chave_dimensao3
chave_dimensao2
chave_dimensao3 chave_fn1 chave_fn1
chave_dimensao4
...
… chave_fn2
chave_fn2

...
facto1 chave_fn3 chave_fn3
facto2 ...
... ...

Sistemas de Apoio à Decisão 11


Modelo Dimensional
• Tipos de modelos ou esquemas
• Esquema em constelação
• Múltiplas tabelas de factos com tabelas de
dimensão partilhadas, constituindo um
conjunto de estrelas

Tabela_Factos1 Dimensao2 Tabela_Factos2 Dimensao4


chave_dimensao1 chave_dimensao2
chave_dimensao2 chave_dimensao3
Dimensao1
chave_dimensao3 chave_dimensao4
chave_dimensao5
facto1_1 Dimensao3
… Facto2_1
... Dimensao5

Sistemas de Apoio à Decisão 12


Modelo Dimensional
• Tipos de modelos ou esquemas
• O três modelos os esquemas podem
estar presentes no modelo lógico de
dados de um Data Warehouse
• O esquema em flocos de neve deve ser
utilizado com parcimónia
• Introduz complexidade no modelo lógico de
dados

Sistemas de Apoio à Decisão 13


Modelo Dimensional
• Esquema em estrela
• O modelo dimensional é também
denominado por modelo em estrela,
porque origina uma estrutura de tabelas
em estrela
• A tabela central, denominada por tabela de
factos, guarda factos sobre o negócio
• As tabelas ligadas à tabela de factos,
denominadas por tabelas de dimensão,
guardam diversos atributos das dimensões
do negócio

Sistemas de Apoio à Decisão 14


Modelo Dimensional
• Esquema em estrela
• Tabela de factos
• Tipicamente apresenta poucos atributos
• Factos ou medidas numéricas
• Muitos registos (milhões)
• Tabelas de dimensão
• Tipicamente apresentam muitos atributos
• Poucos registos

Sistemas de Apoio à Decisão 15


Modelo Dimensional
• Esquema em estrela
Tabela de Dimensão1 Tabela de Dimensão2

chave_dimensão1 Tabela de factos chave_dimensão2

chave_dimensão1
atributo1_dimensão1 atributo1_dimensão2
chave_dimensão2
atributo2 _dimensão1 chave_dimensão3 atributo2 _dimensão2
atributo3 _dimensão1 chave_dimensão4 atributo3 _dimensão2
... ...
facto1
Tabela de Dimensão3 facto2 Tabela de Dimensão4
facto3
chave_dimensão3 chave_dimensão4
...
atributo1_dimensão3 atributo1_dimensão4
atributo2 _dimensão3 atributo2 _dimensão4
atributo3 _dimensão3 atributo3 _dimensão4
... ...

Sistemas de Apoio à Decisão 16


Modelo Dimensional
• O modelo dimensional, ao contrário
do modelo relacional, é bastante
assimétrico
• A tabela de factos é bastante maior que
as tabelas de dimensão
• A tabela de factos é a “única” que está
ligada a mais do que uma tabela
• As outras tabelas estão apenas ligadas à
tabela de factos

Sistemas de Apoio à Decisão 17


Modelo Dimensional
• Cubo de dados multidimensional
• Dimensões e medidas do negócio

Produto

Sistemas de Apoio à Decisão 18


Modelo Dimensional
• Exemplo: Esquema em estrela
Produto
chave_produto

Tempo Vendas
descrição
chave_tempo chave_tempo
chave_produto marca

dia_mês chave_loja categoria


dia_semana ...
unidades_vendidas
mês
valor_rendido
trimestre Loja
custo_compra
ano chave_loja
...
flag_férias
... nome
endereço
...

Sistemas de Apoio à Decisão 19


Modelo Dimensional
• Exemplo: Esquema em estrela
• Neste exemplo, cada registo na tabela de
factos contém informação sobre as
vendas diárias de um produto numa loja
• Cada combinação diferente de produto
(Dimensão Produto), loja (Dimensão
Loja) e dia (Dimensão Tempo) gera um
registo diferente na tabela de factos

Sistemas de Apoio à Decisão 20


Modelo Dimensional
• Tabela de Factos
• A tabela de factos guarda as medidas
(numéricas) ou factos do negócio
• Os factos mais úteis são numéricos e
aditivos
• Só se adiciona um registo à tabela de
factos quando acontece realmente
alguma coisa
• Exemplo: Venda de um produto

Sistemas de Apoio à Decisão 21


Modelo Dimensional
• Tipos de Tabelas de Factos
• Transacionais
• Factos que se vão medindo em múltiplos
pontos discretos ao longo do tempo
• Sumarização periódica
• Agregam métricas de um processo de
negócio em intervalos de tempo regulares
• Sumarização acumulada
• Cobrem o ciclo de vida completo de um
acontecimento contínuo ou discreto
• Tabelas de factos sem factos
Sistemas de Apoio à Decisão 22
Modelo Dimensional
• Tabelas de Dimensão
• Constituem pontos de entrada no DW
• Guardam as descrições textuais das
dimensões do negócio
• São normalmente desnormalizadas
• Têm, normalmente, muitos atributos
• Cada atributo ajuda a descrever um
membro da respetiva dimensão
• Os atributos destas tabelas são utilizados
para estabelecer restrições nas consultas
Sistemas de Apoio à Decisão 23
Modelo Dimensional
• Utilização dos atributos das tabelas
de dimensão
• Consulta: Valor rendido e unidades vendidas
para todas as marcas vendidas no primeiro
trimestre de 2022

Marca Valor Unidades select p.marca, sum(v.valor_rendido),


sum(v.unidades_vendidas)
rendido vendidas
from vendas v, produto p, tempo t
Cigala 780 263
where v.chave_produto = p.chave_produto
Compal 1044 509 and v.chave_tempo = t.chave_tempo
and t.trimestre = ‘1T 2022’
Delta 213 444
group by p.marca
Galo 95 39 order by p.marca

Sistemas de Apoio à Decisão 24


Modelo Dimensional
• Dimensões e hierarquias
• As dimensões nalguns casos são
hierárquicas por natureza
• Exemplos:
• cidade -> região -> país
• produto -> categoria -> indústria
• dia -> semana -> mês -> ano
• Que operações OLAP é possível realizar
em dimensões hierárquicas?

Sistemas de Apoio à Decisão 25


Modelação Dimensional
• Sumário
• Introdução
• Caso de estudo: Cadeia de Lojas
• Modelo Dimensional
• Tipos de modelos ou esquemas
• Tabelas de factos
• Tabelas de dimensão
• Modelação dimensional
• Processo de modelação

Sistemas de Apoio à Decisão 26


Modelação Dimensional
• Processo de Modelação
• É um processo top-down
• Deve adotar-se a perspetiva do utilizador
final (gestor/decisor) para escolher as
dimensões e os factos a incluir no Data
Warehouse

Sistemas de Apoio à Decisão 27


Modelação Dimensional
• Processo de modelação
• Passos principais
1. Escolher o processo de negócio
2. Definir a granularidade do processo de
negócio
3. Escolher as dimensões que vão caracterizar
cada registo da tabela de factos
4. Definir as medidas numéricas ou factos a
incluir na tabela de factos

Sistemas de Apoio à Decisão 28


Modelação Dimensional
• Referências
• The Data Warehouse Toolkit, R. Kimball,
John Wiley & Sons, 2013 (3ª edição)
• Capítulos 1 e 2

Sistemas de Apoio à Decisão 29

Você também pode gostar