Professional Documents
Culture Documents
Objetivos
Conteúdo do módulo
3.1 Introdução
3.2 Construindo o data mart
3.3 Esquema Estrela
3.3.1 Tabela de Fatos
3.3.2 Dimensões
3.3.2.1 Relações e Estrutura de uma dimensão
3.3.2.2 Esquema Estrela
3.3.2.3 Esquema Floco de Neve
3.3.2.4 Pai – Filho (Parent- Child)
3.3.2.5 Dimensões Virtuais
3.3.2.6 A dimensão Tempo
3.4 Medidas
3.4.1 Medidas Naturais
3.4.2 Medidas Calculadas
Página 1 de 22
3.1. Introdução
Com o que vimos nos módulos anteriores, podemos começar a definir o desenho
do nosso banco de dados OLAP.
Neste módulo abordaremos o design das tabelas que formam o plano de um data
mart (DM) que servirá de estrutura para a posterior montagem do cubo.
No final deste módulo, o leitor compreenderá como definir a tabela de fatos, como
podem ser organizadas as dimensões e o que são as medidas.
A estrutura que forma a Tabela de Fatos e as Dimensões podem
ser vista como o plano ou a visão detalhada do cubo.
Página 2 de 22
Data Mart: são armazéns de dados com informações de
interesse particular para um determinado setor da empresa.
Data Warehousing: é o conjunto de armazéns de dados
particulares (Data Mart) com informação de interesse para a
empresa em geral.
Página 3 de 22
O centro da estrela é a tabela de fatos.
As pontas da estrela são as tabelas de dimensões.
Cada esquema esta formado por apenas uma tabela de fatos.
Geralmente é um esquema totalmente não padronizado e pode estar
parcialmente padronizado nas tabelas de dimensões.
Dimensão Dimensão
Serviço Paciente
Tabela de Fatos
Admissão Pacientes
Dimensão Dimensão
Tempo Região
Geográfica
Página 4 de 22
Cada tabela de fatos contém as chaves externas que se relacionam com suas
respectivas tabelas de dimensões e as colunas com os valores que serão
analisados.
Exemplos de Fatos
Em um hospital: admissão de pacientes
Em uma operadora telefônica: Tráfego telefônico
3.3.2 Dimensões
Desenharemos e construiremos cada dimensão baseada nos processos de
negócio definidos pelo cliente.
As dimensões organizam os dados em função de uma área de interesse para os
usuários.
Cada dimensão descreve um aspecto do negócio e proporciona o acesso intuitivo
e simples aos dados.
Uma dimensão oferece ao usuário um grande número de combinações e
intersecções para analisar dados.
As tabelas de dimensões são as companheiras das tabelas de fatos. Cada
dimensão é definida pela sua chave primária, que serve para manter a integridade
referencial na tabela de fatos à qual está relacionada.
Um cubo requer a definição de pelo menos uma dimensão no seu esquema.
3.3.2.1 Relações e Estrutura de uma dimensão
Cada nível de uma dimensão deve ter correspondência com uma coluna na tabela
da dimensão. Os níveis são ordenados por grau de detalhe e são organizados em
uma estrutura hierárquica. Cada nível contém membros; os membros são os
valores da coluna que define o nível.
Entre os membros e entre os níveis de uma dimensão existem relações, estas
podem ser entendidas como as relações que existem em uma árvore
Página 5 de 22
genealógica onde os termos pai, filho, irmão, primo, etc. e indicam uma
correspondência entre elementos da árvore; e os membros da dimensão se
comportam como familiares dentro da árvore genealógica.
Pai: É o membro do nível imediatamente superior que se relaciona com o
membro selecionado. Cada elemento apresenta apenas um pai.
Filho: São os elementos do nível inferior seguinte que se relacionam com o
membro selecionado. Podem existir vários filhos para um mesmo membro.
Irmão: São os membros que estão no mesmo nível do membro selecionado
e apresentam o mesmo pai.
Primo: São os membros que estão no mesmo nível do membro
selecionado, porém apresentam diferentes pais. Os primos apresentam pais
que são irmãos.
Descendentes: São todos os membros que estão debaixo do nível do
membro selecionado, independente da quantidade de níveis que os separem.
Ancestrais: São todos os membros que estão acima do nível do membro
selecionado.
Um membro é independente das relações. Cada integrante da dimensão é
membro dela.
Página 6 de 22
Exemplos de dimensão
Dimensão região geográfica
Exemplos de relações
Em uma dimensão região geográfica teríamos as seguintes relações entres
níveis e entre membros:
Pai:
Brasil é pai de São Paulo e Minas Gerais
Filho:
São Paulo e Minas Gerais são filhos de Brasil.
Irmão:
São Paulo e Minas Gerais são irmãos um do outro; Argentina, Brasil e Uruguai
também são irmãos.
Primo:
Sorocaba é primo de Belo Horizonte.
Descendente:
Todos os membros que estiverem debaixo de Brasil são seus descendentes,
por exemplo, São Paulo, Minas Gerais, Sorocaba e Belo Horizonte são alguns
dos seus descendentes.
Ancestral:
Sorocaba apresenta dois antepassados: São Paulo e Brasil.
Compartilhadas
Página 7 de 22
Evitamos duplicar dimensões locais.
Garantimos que os dados analisados estejam organizados da mesma forma
em todos os cubos, que implica em um menor custo de manutenção.
Desvantagens das dimensões compartilhadas
Devem ser empregadas da mesma forma no cubos que as utilizarem.
Uma mudança implica em que a dimensão deverá ser modificada em todos
os cubos.
Página 8 de 22
Este é um esquema onde as dimensões apresentam um esquema
estrela.
Dimensão Dimensão
Serviço Paciente
Tabela de Fatos
Admissão Pacientes
Dimensão Dimensão
Tempo Região
Geográfica
Página 9 de 22
A imagem abaixo mostra um esquema onde a dimensão
região geográfica apresenta um esquema floco de neve.
Floco de neve
País
Dimensão região
Geográfica
Estado
Serviço
Cidade
Admissão
Paciente
Paciente Tempo
País
ID_País Região Geográfica
Estado
País
ID_ Estado
Estado ID_País
ID_País País
ID_Estado
Estado
ID_Cidade
Cidade Cidade
ID_ Cidade
Cidade
ID_Estado
Página 10 de 22
Estrela Floco de neve
Quantidade de Menor Maior
tabelas
Página 11 de 22
Exemplos de Dimensão Virtual
Podemos ter uma dimensão Produto organizada da seguinte
forma:
Produto (Dimensão real)
……
Fabricante
Marca
Tamanho
Produto
Página 12 de 22
Semestre
Mês
3.4. Medidas
As medidas são os valores dos dados analisados.
Uma medida é uma coluna quantitativa, numérica na tabela de fatos. As medidas
representam os valores que são analisados, como quantidade de pacientes
admitidos ou ligações realizadas.
As medidas são:
Página 13 de 22
Valores que permitem analisar os fatos.
Valores numéricos, pois estes valores são as bases das quais o usuário
pode realizar cálculos.
Se a medida for um valor não numérico é necessário codificá-la para um valor
numérico no processo de obtenção de dados e decodificá-la quando for
necessário visualizar seu valor original.
As características a seguir são algumas das características das medidas:
Devem ser numéricas.
Cruzam todas as dimensões em todos os níveis.
Exemplos de Medidas
Em um hospital, onde o fato é Admissão de Pacientes
as medidas podem ser:
Pacientes Admitidos
Pacientes Atendidos
Em uma operadora telefônica, onde o fato é Tráfego
Telefônico, as medidas podem ser:
Ligações Quantidade
Ligações Duração
Página 14 de 22
3.4.1 Medidas Naturais
São as colunas numéricas que desejamos analisar provenientes diretamente dos
sistemas OLTP.
Ao definir uma medida é importante considerar qual será a forma de agregação
(agrupação da mesma) ao subir pela estrutura dimensional.
Estas formas de agregação podem ser:
Soma: é a operação que soma os valores das colunas
Contagem: realiza uma contagem dos valores
Mínima: retorna um valor mínimo
Máxima: proporciona o maior dos valores
Contagem de Diferentes: conta os valores diferentes
Página 15 de 22
Cálculo Matemático
Em um sistema de RH, podemos desejar medir a média de
horas extras por mês. Definimos a medida calculada Média de
Horas Extras que será o resultado da realização de Horas
Extras dividido por Dias Trabalhados.
Expressões condicionais
Para a medida calculada anteriormente, Média de Horas
Extras, é necessário verificar a condição de numerador
diferente de zero para evitar que a divisão apresente erro.
Se Dias Trabalhados é diferente de zero, então Média de
Horas Extras será igual a Horas Extras dividido por Dias
Trabalhados.
Se Dias Trabalhados é igual a zero, então Média de Horas
Extras será vazio.
Alertas
Em um hospital, podemos definir a medida calculada
Sobrecarga de Pacientes que assumirá o valor 1 se os
Pacientes Admitidos (medida natural) é maior que 100, caso
contrário permanecerá vazia.
Podemos construir uma medida Cumprimento de Vendas que
seja um alerta do tipo semáforo e indique
Vermelho: Se as unidades vendidas são menores do que as
unidades orçadas dividido por 5, isto é, foi vendido menos de
20 % do previsto.
Amarelo: Se o valor das unidades vendidas está entre
unidades orçadas dividido por 3 e unidades orçadas dividido
por 5 (o valor vendido esta entre 20 % e 80 % do previsto).
Verde: Se não for cumprida nenhuma das condições
anteriores, isto é, foi vendido mais de 80 % do previsto.
Página 16 de 22
Estudo de Caso
Dimensões
Medidas Tempo Filial Vendedor Cliente Produto
Vendas_Valor X X X X X
Vendas_Custo X X X X X
Vendas_Unidades X X X X X
Vendas_ValorTotal X X X X X
Vendas_Lucro X X X X X
Vendas_Média X X X X X
Página 17 de 22
Ano
Semestre
Trimestre
Mês
Dia
Dimensão Tempo
* Ano
** Semestre
*** Trimestre
**** Mês
***** Dia
Dimensão Filial
* Filial
** Tipo Filial
*** País
**** Estado
***** Cidade
Dimensão Vendedor
* Filial
** Seção
*** Vendedor
Página 18 de 22
Dimensão Cliente
* País
** Estado
*** Cidade
**** Razão Social
Página 19 de 22
Fat_Vendas
ID_Data
ID_Produto
ID_Cliente
ID_Vendedor
Fat_Vendas
ID_Data
ID_Produto
ID_Cliente
ID_Vendedor
Vendas_Valor
Vendas_Custo
Vendas_Unidades
A medida “lucro obtido na venda de cada produto” não será acrescentada à tabela
pois esta medida pode ser calculada a partir das medidas naturais vendas valor e
vendas custo.
Nosso modelo contará também com as medidas calculadas:
Vendas_Lucro que terá a fórmula Vendas_Valor menos Vendas_Custo
Vendas_Média que será o resultado da soma de Vendas_Unidades
dividido por quantidade de dias, verificando a condição do numerador
diferente de zero.
Página 20 de 22
Realizadas estas três etapas, podemos ver o desenho completo do nosso data
mart.
Lições Aprendidas
Um Data Mart adota um esquema estrela para
maximizar o desempenho das consultas.
As dimensões são categorias descritivas pelas
quais as medidas podem ser separadas para
análise.
A dimensão Tempo esta implícita em todo o Data
Mart.
As medidas são os dados numéricos de interesse
primário para o cliente.
Com as medidas calculadas é possível construir
alertas.
Página 21 de 22
Perguntas de Reflexão
Os requerimentos estão definidos claramente? Conhecemos
os fatos que desejamos analisar, os indicadores e as
aberturas pelas quais desejamos realizar a análise?
Esta definição está de acordo com as tabelas auxiliares
criadas e carregadas com dados dos sistemas OLTP?
Sabemos se os usuários utilizarão as dimensões para
navegar ou para filtrar?
As dimensões desenhadas atendem as necessidades dos
usuários de forma intuitiva e com facilidade de manipulação?
Já temos todas as medidas naturais com as aberturas
requeridas?
Está definida a forma de agregação, ao sair da granularidade
mínima, para todas as medidas naturais?
Estão definidas as fórmulas ou critérios de todas as medidas
calculadas?
Estão documentadas corretamente todas as definições?
Página 22 de 22