Você está na página 1de 21

Cetax Consultoria e Treinamento Maio/2009

Modelagem Dimensional 1
Cetax Consultoria e Treinamento Maio/2009

Quem somos

Modelagem Dimensional 2
Cetax Consultoria e Treinamento Maio/2009

Instrutor

Modelagem Dimensional 3
Cetax Consultoria e Treinamento Maio/2009

Conceitos iniciais para a Modelagem Dimensional.

Modelagem Dimensional 4
Cetax Consultoria e Treinamento Maio/2009

•Os atributos das Dimensões são os itens „By‟ e „Where‟ das clausulas „SELECT‟.

•A Dimensão de Datas é fundamental para todos os modelos dimensionais, ela é


utilizada para que as informações sejam agregadas, filtradas, selecionadas
seguindo um mesmo padrão. É importante que uma dimensão de Datas seja
responsável por conter todas as informações que são pertinentes a uma data, por
exemplo, Feriados, Calendários Fiscais, Calendários Específicos da empresa, etc.

•A combinação dos atributos da dimensão e suas hierarquias é chamada de


Desnormalização. Isso facilita pela visão dos usuários aos atributos das tabelas e
transforma os „JOINS‟ entre as tabelas mais simples.

Modelagem Dimensional 5
Cetax Consultoria e Treinamento Maio/2009

Sempre vamos pensar em utilizar Surrogate Keys ( Chaves Substitutas ) nas


dimensões.

Modelagem Dimensional 6
Cetax Consultoria e Treinamento Maio/2009

•As dimensões participam da tabela de fato como foreign key.


•Dimensões são consideradas Objetos de Negócio e as fatos são medidas de
Negocio. Os Objetos são produtos, clientes, empresas e medidas são quantidades
pedidas, valores vendidos. Produtos existem mesmo sem serem vendidos, mas as
vendas sempre são de produtos ou serviços.
•A maioria dos fatos são numéricos, nas nem todos os números são fatos, itens
como tamanho, peso, quantidades por caixa, só podem ser considerados fatos em
caso muito específicos, na maior parte do tempo são considerados características
das dimensões.
•Geralmente os fatos são aditivos, valores, quantidades, etc. Mas outros como
temperatura, preço, medias em geral, não podem ser somados.

Modelagem Dimensional 7
Cetax Consultoria e Treinamento Maio/2009

•Na abordagem de Ralph Kimball, as fatos são criadas em seu nível mais detalhado
– nível atômico. Dessa maneira, pode-se ter a flexibilidade de fazer „Roll-up‟ para
qualquer nível possível. Nesse caso podem ser utilizadas tabelas sumarizadas para
auxiliar nas agregações necessárias, Materialized Views no Oracle ou Materialized
Query Tables no DB2.
•As tabelas fato são muito eficientes, pois possuem baixa redundância dos dados.

Modelagem Dimensional 8
Cetax Consultoria e Treinamento Maio/2009

• Um Star-Schema nada mais é do que um Modelo Dimensional de uma só fato e


suas dimensões.
• Geralmente utilizamos um conjunto de fatos para descrever um conjunto de
processos de negócios.
• O reuso das Dimensões entre diversos processos de negócios é a raiz do
Conceito de Enterprise Data Warehouse Bus.

Modelagem Dimensional 9
Cetax Consultoria e Treinamento Maio/2009

Por exemplo, Departamento, na tabela desnormalizada a Descrição vai ficar


duplicada pela quantidade de Produtos que estiverem alocados para o mesmo:
Trocamos a chave do departamento pela descrição, chave – 2 bytes e
descrição 20 bytes, vamos “economizar” 18 bytes.
Se a dimensão tem 500.000 produtos * 18 bytes = 9MB.
Nesse caso a economia é de apenas 9MB !

Modelagem Dimensional 10
Cetax Consultoria e Treinamento Maio/2009

No modelo acima as fatos são exatamente iguais, mas as dimensões são


modeladas de maneira diferente.
Star Schema desnormalizam as dimensões.
Snowflake normalizam as dimensões.
Devemos estar atentos :
Snowflaking torna a apresentação ao usuário mais complexa.
Snowflaking tornam as queries mais lentas.

Modelagem Dimensional 11
Cetax Consultoria e Treinamento Maio/2009

Modelagem Dimensional 12
Cetax Consultoria e Treinamento Maio/2009

• Data Warehouse Bus Architecture fornece uma visão padronizada de fatos e


dimensões. Semelhante ao Bus de um computador, onde o Bus pode ser utilizado
na conexão de diversos dispositivos.
•Podemos considerar “Conformed Dimensions” as dimensões que são
compartilhadas entre as fatos do modelo. As dimensões podem ser exatamente
iguais ou um subset das outras.
•Utilizando a Bus Architecture, pode-se separar os data marts a serem
desenvolvidos, mas de qualquer maneira eles podem ser encaixados na Matrix
como um quebra cabeças.

Modelagem Dimensional 13
Cetax Consultoria e Treinamento Maio/2009

•As linhas da matriz são os processos de negocio que serão transformados em


tabelas fato. Inicie com os data marts de fontes únicas, que são esse primeiro nível.
Depois identifique os data marts de múltiplas fontes ou com cálculos mais
complexos.
•As colunas representam as dimensões usadas em todo o modelo.
•Compartilhar as dimensões é um processo extremamente crítico
•A Bus Matrix é uma ferramenta para planejamento, comunicação e gerenciamento
de expectativas com todos os membros do projeto. Uma vez definidas e criadas as
dimensões compartilhadas, o desenvolvimento dos Data Marts podem ser feitos em
paralelo.

Modelagem Dimensional 14
Cetax Consultoria e Treinamento Maio/2009

Os processos de negócios definem toda a estratégia do Data Warehouse.


O gerenciamento do projeto é presente em todas as fases.
Algumas fases podem ser executadas em paralelo.

Modelagem Dimensional 15
Cetax Consultoria e Treinamento Maio/2009

SCD – Slowly Changing Dimensions -> Técnicas para representar o histórico de


dados de uma dimensão.

Modelagem Dimensional 16
Cetax Consultoria e Treinamento Maio/2009

3 Tipos básicos de SCD, em alguns casos mais de 1 tipo pode ser combinado na
mesma dimensão.

Modelagem Dimensional 17
Cetax Consultoria e Treinamento Maio/2009

Possibilidades de dimensões de tempo

Modelagem Dimensional 18
Cetax Consultoria e Treinamento Maio/2009

Essa dimensão representa todos os meses possíveis e algumas quebras possíveis


para os meses, nesse caso com um campo numérico de 3 posições podemos
representar mais de 80 anos de informação com um custo baixo para a tabela fato,
e uma excelente capacidade de análise para o usuário.
Podemos colocar outras variáveis como quantidade de dias do mês, quantidade de
dias úteis, quantidade de feriados, dia do fechamento financeiro ou contábil, entre
outras possibilidades.

Modelagem Dimensional 19
Cetax Consultoria e Treinamento Maio/2009

Na dimensão de Tempo Horas, representamos todas as possíveis combinações de


horas e minutos de um dia. Essa dimensão é uma ferramenta muito utilizada para
acompanharmos e agruparmos informações de vendas, ocorrências e outros.
Um item importante é que sempre devemos representar Data e Hora em
dimensões separadas, pois a combinação das duas em uma única tabela, gera
uma quantidade de registros extremamente grande.

Modelagem Dimensional 20
Cetax Consultoria e Treinamento Maio/2009

Modelagem Dimensional 21

Você também pode gostar