Data Warehouse e OLAP 
Prof. Jose Fernando Rodrigues Junior 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
1
Introdução 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
No início, uma única fonte de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
No início, uma única fonte de dados 
Exemplo: primeira loja do grupo Casas Bahia. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Mais tarde 
Exemplo: primeira cidade ocupada 
pelo grupo Casas Bahia. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
E assim sucessivamente 
Exemplo: primeiros estados ocupados 
pelo grupo Casas Bahia. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Finalmente 
Exemplo: Brasil (primeiro país?) 
ocupado pelo grupo Casas Bahia. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Até que… 
O que está acontecendo nas minhas 
lojas? 
- O que é vendido mais? 
- Quando? 
- Por qual loja? 
- Qual a melhor loja? 
- Quanto estou faturando? 
- Qual seria uma boa oferta? 
- As vendas cresceram ou subiram? 
- Quais regiões vendem mais? 
- ... 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Até que… 
O que está acontecendo nas minhas 
lojas? 
Soluções: 
1) Ir até cada uma das lojas e perguntar; 
- O que é vendido mais? 
- Quando? 
- Por qual loja? 
Pouco viável. 
- Qual a melhor loja? 
- Quanto estou faturando? 
- Qual seria uma boa oferta? 
- As vendas cresceram ou subiram? 
- Quais regiões vendem mais? 
- ... 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Até que… 
O que está acontecendo nas minhas 
lojas? 
Soluções: 
2) Usar os dados das lojas para analisar o que está 
acontecendo no meu negócio. 
- O que é vendido mais? 
- Quando? 
- Por qual loja? 
- Qual a melhor Boa idéia!!! 
loja? 
- Quanto estou faturando? 
- Qual seria uma boa oferta? 
- As vendas cresceram ou subiram? 
- Quais regiões vendem mais? 
- ... 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Até que… 
O que está acontecendo nas minhas 
lojas? 
Soluções: 
2) Usar os dados das lojas para analisar o que está 
acontecendo no meu negócio. 
- O que é vendido mais? 
- Quando? 
- Por qual loja? 
- Qual a melhor Boa idéia!!! 
loja? 
- Quanto estou faturando? 
- Qual seria uma boa oferta? 
- As vendas cresceram Mas... 
ou subiram? 
- Quais regiões vendem mais? 
- ... 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Impecilhos ao uso dos dados… 
- Diversos sistemas de bancos de dados em uso 
nas lojas; depende do gerente que o 
implementou: PostgreSQL, Oracle, DB2, 
SQLServer, ... 
- Cada loja, um controle transacional diferente, 
de acordo com suas necessidades regionais; 
- Esquemas diferentes, tipos de dados 
diferentes, distribuição geográfica, falta de 
interconexão. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Impecilhos ao uso dos dados… 
- Diversos sistemas de bancos de dados em uso 
nas lojas; depende do gerente que o 
implementou: PostgreSQL, Oracle, DB2, 
SQLServer, ... 
Total falta de conformidade!!! 
E muitos, muitos dados!!! 
- Cada loja, um controle transacional diferente, 
de acordo com suas necessidades regionais; 
O que fazer? 
- Esquemas diferentes, tipos de dados 
diferentes, distribuição geográfica, falta de 
interconexão. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
O que é necessário? 
- 1) Recolher (extrair) os dados não 
importando qual o tipo do sistema de dados; 
- 2) Padronizar (transformar) os dados, para 
terem um significado comum mesmo que, 
originalmente, codificados de maneira 
diferente; resolução de dados ausentes e 
espúrios; 
- 3) Unir (carregar) os resultados das duas 
operações em um único sistema capaz para 
responder às minhas perguntas. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
O que é necessário? 
- 1) Recolher (extrair) os dados não 
importando qual o tipo do sistema de dados; 
Complicado. 
Como fazer então? 
- 2) Padronizar (transformar) os dados, para 
terem um significado comum mesmo que, 
originalmente, codificados de maneira 
diferente; resolução de dados ausentes e 
espúrios; 
- 3) Unir (carregar) os resultados das duas 
operações em um único sistema capaz de 
responder às minhas perguntas. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Mas há uma solução 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Mas há uma solução 
Loja 1 Loja 2 Loja 3 Loja n-2 Loja n-1 Loja n 
Extrair, transformar, carregar dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Oracle 
Modelagem x 
SQLServer 
Modelagem z 
DB2 
Modelagem y 
Oracle 
Modelagem 
u 
SQLServer 
Modelagem w 
DB2 
Modelagem 
... v 
Data warehouse
ETL – Extract Transform Load 
 O processo descrito de se extrair 
(Extract), transformar (Transform) e 
carregar (Load) os dados a partir das 
diversas fontes de dados é denominado 
ETL 
 ETL – uma das camadas principais da 
arquitetura de um data warehouse  
Consolidação de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
ETL – Extract Transform Load 
 O processo descrito de se extrair 
(Extract), transformar (Transform) e 
carregar (Load) os dados a partir das 
diversas fontes de dados é denominado 
ETL 
 ETL – uma das camadas principais da 
arquitetura de um data warehouse  
Consolidação de dadosExtrair, transformar, carregar dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
ETL – Extract Transform Load 
 Extração/transformação (Extract/Transform) de 
dados 
 extração de múltiplas fontes 
 consolidação e integração de dados de múltiplas 
fontes 
 limpeza e validação 
 conversão dos dados para o modelo do DW 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
ETL – Extract Transform Load 
 Carregamento (Load) de dados 
 armazenamento de acordo com o modelo do DW 
 criação e manutenção de estruturas de dados 
 criação e manutenção de caminhos de acesso 
 tratamento de dados que variam no tempo 
 suporte a atualização 
 refresh 
 purging (eliminação) 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Conceitos 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
O que é exatamente? 
“Data Warehouse é uma coleção de dados 
orientados por assunto, integrada, não-volátil, 
variante no tempo, que dá apoio às 
decisões de administração” (W.H. Inmon, 
1992). 
 Orientados a transações: vendas, 
operações bancárias, acessos à informação. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
BUSINESS INTELLIGENCE!!! 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
24 
Introdução 
 Aplicações 
 empresas de telefonia 
 redes de varejo 
 instituições financeiras 
 instituições governamentais 
 instituições de ensino e pesquisa 
….
Sistemas OLTP 
Extrair, transformar, carregar dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Data warehouses são, 
comumente, alimentados 
por sistemas OLTP 
independentes. 
Sistemas OLTP 
Extrair, transformar, carregar dados
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Data warehouses são, 
comumente, alimentados 
por sistemas OLTP 
independentes. 
Sistemas OLTP 
Extrair, transformar, carregar dados 
Sistemas OLTP (Online Transaction Processing): 
gerenciamento de transações; 
toda vez que você vai ao mercado, ao banco ou 
faz uma compra online, você está usando um 
sistema OLTP
Objetivos 
 Consolidação dos dados de uma empresa 
 Desempenho na consulta aos dados 
 Separação entre suporte à decisão e bancos 
de dados operacionais 
 Suporte a ferramentas: mineração de 
dados, visualização e On-line Analytical 
Processing (OLAP) 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Objetivos 
  Os termos Datawarehouse, OLTP e OLAP 
não se refererem apenas a software 
 São termos que englobam software e 
serviços (muitos serviços – consultoria) 
 São termos cunhados para a 
comunidade empresarial não possuindo 
uma correspondência simples em Ciência da 
Computação 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Relação OLTP e OLAP 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Arquitetura de um data warehouse 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Arquitetura de um data warehouse 
 Arquitetura definida pelo contexto da 
organização 
De maneira geral, tem as seguintes camadas: 
1. Operacional (OLTPs): fornecem dados 
2. De acesso aos dados: ETL 
3. Acesso à informação: ferramentas de 
acesso a dados, geração de relatórios, e 
análise (OLAP)  Business Intelligence 
4. Metadados: detalhamento do conteúdo do 
data warehouse  dicionário de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Arquitetura de um data warehouse 
 Arquitetura definida pelo contexto da 
organização 
De maneira geral, tem as seguintes camadas: 
1. Operacional (OLTPs): fornecem dados 
2. De acesso aos dados: ETL 
3. Acesso à informação: ferramentas de 
acesso a dados, geração de relatórios, e 
análise (OLAP)  Business Intelligence 
4. Metadados: detalhamento do conteúdo do 
data warehouse  dicionário de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Dicionário de dados 
Descrição dos dados do DW: 
origem 
regras de transformação 
nomes e aliases 
formato dos dados 
histórico de atualizações 
acesso e segurança 
responsabilidades sobre os dados 
Sem o dicionário, não há sistema 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse vs Banco de dados 
operacional 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Data warehouse vs Banco de dados 
operacional 
Data warehouse Banco de dados 
operacional 
Orientado a objetivos específicos Orientado a transações 
Grande (centenas de GBs até TBs) Pequeno/Médio (MBs até alguns GBs) 
– distribuído se necessário 
Dados históricos Dados correntes 
De-normalizado (poucas tabelas com 
muitas colunas) 
Normalizado (muitas tabelas com 
poucas colunas) 
Atualizações em Batch Atualizações contínuas 
Otimizado para acesso Otimizado para escrita/atualização 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Juntos data warehouse e bancos de 
dados provém uma solução completa 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Bancos de dados 
Inserção/Atualização 
Data Warehouse 
Acesso aos dados
Visão Geral 
Extrair, transformar, carregar dados 
1. Camada Operacional (OLTPs) 
2. Camada de acesso aos dados (ETL) 
3. Camada de acesso à informação: MD, relatórios, OLAP 
 Business Intelligence 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
4. Dicionário de dados
Projeto de Data warehouses 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Datamarts 
 Datamart: ambientes de análise de dados 
de menor magnitude, com fins mais 
específicos, limitados a subcomunidades de 
uma organização 
 Exemplo, uma loja das casas Bahia 
Loja i 
Modelagem 
x 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Datamarts 
 Datamart: ambientes de análise de dados 
de menor magnitude, com fins mais 
específicos, limitados a subcomunidades de 
uma organização 
 Exemplo, uma loja das casas Bahia 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Acréscimo de 
ferramentas de 
análise 
Modelagem 
x
Datamarts 
 Datamart: ambientes de análise de dados 
de menor magnitude, com fins mais 
específicos, limitados a subcomunidades de 
uma organização 
 Exemplo, uma loja das casas Bahia 
Loja i 
Modelagem 
x 
Datamart i 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Bottom-up 
 Projeto Bottom-up: exemplo, rede das casas 
Bahia 
Datamart 1 Datamart 2 Datamart 3 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n
Bottom-up 
 Projeto Bottom-up: exemplo, rede das casas 
Bahia 
Datamart 1 Datamart 2 Datamart 3 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n
Bottom-up 
 Projeto Bottom-up: exemplo, rede das casas 
Bahia 
Datamart 1 Datamart 2 Datamart 3 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n 
Data warehouse : conjunto de pequenos sistemas de tratamento e 
análise de dados.
Bottom-up 
 Projeto Bottom-up: exemplo, rede das casas 
Bahia 
Datamart 1 Datamart 2 Datamart 3 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n 
Data warehouse : conjunto de pequenos sistemas de tratamento e 
análise de dados. 
Grande esforço de consolidação  modelo de dados não universal.
Top-down 
 Projeto Top-down 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Top-down 
 Projeto Top-down 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Datamart 1
Top-down 
 Projeto Top-down 
Datamart 1 Datamart 2 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Top-down 
 Projeto Top-down 
Datamart 1 Datamart 2 Datamart 3 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Top-down 
 Projeto Top-down 
Datamart 1 Datamart 2 Datamart 3 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n
Top-down 
 Projeto Top-down 
Datamart 1 Datamart 2 Datamart 3 
Data warehouse : projeto bem definido. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
.... 
Datamart n 
Esforço reduzido de consolidação  modelo de dados universal e bem definido.
Projeto Top-down vs Bottom-up 
Bottom-up Top-down 
Consistência via 
manutenção constante 
Alta consistência 
Expansão custosa 
Expansão com novos DMs 
facilitada 
Custo diluído ao longo do 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
tempo 
Inicialmente custosa 
Natural em organizações Rara em start-ups 
Baixa latência Alta latência
Conceitos vistos 
 Data warehouse 
 OLTP 
 ETL 
 Dicionário de dados 
 DW vs BD 
 Datamart 
 Projeto Bottom-up vs Top-down 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP – Online Analytical Processing 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP 
Definição: uma categoria de tecnologia 
de software que visa à compreensão de 
dados 
Provê: acesso rápido, consistente e 
interativo 
DW e OLAP, em muitos casos, 
conceitos indissociáveis 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP - FASMI 
FASMI: Fast Analysis of 
Multidimensional Information 
Fast: agilidade em responder 
consultas 
Analysis: versatilidade analítica 
Shared: dados/analistas múltiplos 
Multidimensional: orientado a 
dimensões de dados 
Information: propósito fim 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados OLAP 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados 
240 101 110 
150 204 190 90 
83 90 35 87 
19 27 35 45 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados 
Estrutura básica da prática de OLAP 
Observam-se 
As dimensões dos dados 
As medidas sobre os dados 
O cubo é orientado a planos (faces) 
Apesar da complexidade dos sistemas OLAP, seus 
objetivos analíticos são básicos: contagem, média, 
máximo, mínimo, soma, ... 
 Agregação, rápida e flexível, sobre 
imensos volumes de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados - slicing 
Pode ser interessante ver o cubo a partir 
de diferentes perspectivas (planos) 
Operações sobre o cubo: slicing, dicing 
e rotating (pivoting) 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Cubo de dados - slicing 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de slicing 
equivale a fatiar o cubo, 
definindo um novo plano 
de apreciação dos dados 
• A operação geométrica é 
apenas uma analogia, o 
slicing dispara o 
processamento OLAP 
para calcular o novo 
plano
Cubo de dados - slicing 
Dados calculados e acessíveis ao analista. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de slicing 
equivale a fatiar o cubo, 
definindo um novo plano 
de apreciação dos dados 
• A operação geométrica é 
apenas uma analogia, o 
slicing dispara o 
processamento OLAP 
para calcular o novo 
plano
Cubo de dados - slicing 
Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 
2002 na região SE? 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de slicing 
equivale a fatiar o cubo, 
definindo um novo plano 
de apreciação dos dados 
• A operação geométrica é 
apenas uma analogia, o 
slicing dispara o 
processamento OLAP 
para calcular o novo 
plano
Cubo de dados - slicing 
Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 
2002 na região SE? 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de slicing 
equivale a fatiar o cubo, 
definindo um novo plano 
de apreciação dos dados 
• A operação geométrica é 
apenas uma analogia, o 
slicing dispara o 
processamento OLAP 
para calcular o novo 
plano
Cubo de dados - slicing 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de dicing é 
semelhante ao slicing, 
mas usa dois, ou mais, 
planos de corte 
Dados calculados e acessíveis ao analista. 
Dicing conseguido com 5 planos de corte.
Cubo de dados - slicing 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de dicing é 
semelhante ao slicing, 
mas usa dois, ou mais, 
planos de corte 
Dados calculados e acessíveis ao analista. 
Dicing conseguido com 5 planos de corte. 
Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 
na região CO?
Cubo de dados - slicing 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de dicing é 
semelhante ao slicing, 
mas usa dois, ou mais, 
planos de corte 
Dados calculados e acessíveis ao analista. 
Dicing conseguido com 5 planos de corte. 
Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 
na região CO?
Cubo de dados - rotating 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de rotating 
muda a perspectica do 
cubo todo. 
Novo plano: Produto x Tempo 
Dados calculados e acessíveis ao analista.
Cubo de dados - rotating 
Obviamente refere-se a cubo apenas 
para fins didáticos – aplicações de 
DW/OLAP geralmente envolvem 
mais do que 3 dimensões, definindo 
hipercubos. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
• A operação de rotating 
muda a perspectica do 
cubo todo. 
Novo plano: Produto x Tempo 
Dados calculados e acessíveis ao analista.
Modelo de dados dimensional 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP e DW 
 OK, mas e o DW, onde entra nisso tudo? 
O modelo de dados do DW é orientado a servir a 
análise baseada em Dimensões de dados 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Modelo de dados DW 
Banco de dados operacional 
Esquema complexo 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Data Warehouse 
FATOS 
Esquema 
estrela
Modelo de dados DW 
Banco de dados operacional 
Esquema complexo 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Data Warehouse 
FATOS 
Esquema 
estrela
Modelo de dados DW 
Banco de dados operacional 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Esquema complexo 
(normalizado) 
Data Warehouse 
FATOS 
Esquema floco 
de neve 
(snow flake)
Modelo de dados dimensional 
 Exemplo Estrela: 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Tempo 
t_chave 
Ano 
Trimestre 
Mes 
Produto 
p_chave 
Tipo 
Fabricante 
Modelo 
Local 
l_chave 
Regiao 
Cidade 
Loja 
Fatos 
t_chave 
p_chave 
l_chave 
Nro_unidades 
Valor 
Assist_tecnica
Modelo de dados dimensional 
Exemplo: 
Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e 
Região? 
SELECT Tempo.Ano, Produto.Tipo, Local.Regiao, Sum(Nro_unidades), Sum(valor) 
FROM Fatos, Tempo, Produto, Local 
WHERE Fatos.t_chave = Tempo.t_chave AND 
Fatos.p_chave = Produto.p_chave AND 
Fatos.l_chave = Local.l_chave 
GROUP BY Tempo.Ano, Produto.Tipo, Local.Regiao 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
 Exemplo: 
Tempo 
t_chave 
Ano 
Trimestre 
Mes 
Produto 
p_chave 
Tipo 
Fabricante 
Modelo 
Local 
l_chave 
Regiao 
Cidade 
Loja 
Fatos 
t_chave 
p_chave 
l_chave 
Nro_unidades 
Valor 
Assist_tecnica
Modelagem de Dados para DW 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
79 
 Exemplo Snowflake 
(Elmasri e Navathe, 2005)
Modelo de dados dimensional 
 Cubo de dados: análise dimensional das 
medidas (dados) 
 DW: modelo de dados dimensional 
 Dimensões: dão contexto aos fatos 
 Fatos: números transacionais 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Modelo de dados dimensional 
 Observe que as dimensões dos dados 
possuem uma hierarquia categórica 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
 Por exemplo: 
 Tempo(Ano, Trimestre, Mês)
Modelo de dados dimensional 
 Hierarquia das dimensões: apreciação dos dados em 
diferentes granularidades. Exemplo: 
 Itens_vendidos(ano)  Itens_vendidos(Trimestre) 
 Itens_vendidos(Trimestre)  Itens_vendidos(Mês) 
 Duas outras operações muito importantes 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
 Drill down 
 Roll up
Drill down / Roll up 
 Drill-down e roll-up: navegação ao longo 
dos níveis hierárquicos das dimensões 
Drill-down 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
 Exemplo 
Itens_vendidos(Região) Itens_vendidos(Cidade) 
Roll-up
Drill down / Roll up 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Drill-down sobre as três 
dimensões 
simultaneamente.
Drill down / Roll up 
Exemplo: 
Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e 
Região? 
Drill Down em todas as dimensões 
 Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, 
Fabricante e Cidade? 
SELECT Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Local.Regiao 
Local.Cidade, Sum(Nro_unidades), Sum(valor) 
FROM Fatos, Tempo, Produto, Local 
WHERE Fatos.t_chave = Tempo.t_chave AND 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Drill-down sobre as três 
dimensões 
simultaneamente. 
Fatos.p_chave = Produto.p_chave AND 
Fatos.l_chave = Local.l_chave 
GROUP BY Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Loca.Regiao, 
Local.Cidade
Drill down / Roll up 
Exemplo: 
Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e 
Região? 
Drill Down em todas as dimensões 
 Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, 
Fabricante e Cidade e considerando um slicing de ano entre 2001 e 2002? 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
Drill-down sobre as três 
dimensões 
simultaneamente. 
SELECT Tempo.Trimestre, Produto.Fabricante, Local.Cidade, Sum(Nro_unidades), Sum(valor) 
FROM Fatos, Tempo, Produto, Local 
WHERE Fatos.t_chave = Tempo.t_chave AND 
Fatos.p_chave = Produto.p_chave AND 
Fatos.l_chave = Local.l_chave AND 
Tempo.Ano between 2001 AND 2002 
GROUP BY Tempo.Trimestre, Produto.Fabricante, Local.Cidade
OLAP - Agregação 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
OLAP - Agregação 
Mais do que cubinhos, o 
OLAP/DW é uma tecnologia 
sofisticada que visa responder 
às diferentes possibilidades e 
níveis de agregação de maneira 
rápida e precisa. 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
Síntese 
http://etl-tools.info 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
90 
Relational OLAP (ROLAP) 
 Recursos OLAP sobre SGBDs  disparam todas as agregações 
necessárias para se obter os resultados requisitados 
 O OLAP não relacional, também é conhecido como 
Multidimensional OLAP - MOLAP 
 SQL:1999 
 ROLLUP e CUBE 
SELECT …. 
FROM …. 
WHERE … 
GROUP BY CUBE (trim, região) 
ex: selecionar 
 total de vendas por trim. por região 
 total de vendas por trim. 
 total de vendas por região 
 total geral de vendas 
SELECT …. 
FROM …. 
WHERE … 
GROUP BY ROLLUP (trim, região) 
ex: selecionar 
 total de vendas por trim. por região 
 total de vendas por trim. 
 total geral de vendas
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
91 
Relational OLAP (ROLAP) 
 Sobre ROLLUP e CUBE 
 ROLLUP e CUBE aplicados sobre k atributos 
 ... GROUP BY CUBE (....) 
 é equivamente a agrupamentos sobre cada um 
dos 2k subconjuntos de atributos 
 ex: k=2 ⇒ ... GROUP BY CUBE (a,b) 
 agrupamentos sobre: (a,b), (a), (b), (null) 
 agrupamento em (null) é o total geral de vendas
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
92 
Relational OLAP (ROLAP) 
 (cont...) 
 (cont...) 
 ... GROUP BY CUBE (....) 
 é equivamente a agrupamentos sobre cada um 
dos 2k subconjuntos de atributos 
 ex: k=3 ⇒ ... GROUP BY CUBE (a,b,c) 
 agrupamentos sobre: (a,b,c), (a,b), (a,c), (b,c) (a), 
(b),(c), (null)
Relational OLAP (ROLAP) 
 Exemplo GROUP BY 
CUBE 
SELECT Dept, Funcao, 
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
COUNT(*), SUM(Salario) 
FROM Empregados 
GROUP BY CUBE(Dept, Funcao); 
Dept Funcao COUNT(*) SUM(Salario) 
------------------------------------------------ 
10 Secretario 1 100 
10 Gerente 1 500 
10 Presidente 1 900 
10 3 1500 
20 Analista 2 350 
20 Secretario 2 240 
20 Gerente 1 800 
20 5 1390 
Secretario 3 340 
Gerente 2 1300 
Presidente 1 500 
Analista 2 350 
8 2490
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
94 
Relational OLAP (ROLAP) 
 (cont...) 
 (cont...) 
 ... GROUP BY ROLLUP (....) 
 é equivamente a agrupamentos em k+1 subconjuntos: 
 k=2 ⇒ ... GROUP BY ROLLUP (a,b) 
 agrupamentos sobre: (a,b), (a), (null) 
 agrupamento em (null) é o total geral de vendas 
 k=3 ⇒ ... GROUP BY ROLLUP (a,b,c) 
 agrupamentos sobre: (a,b,c), (a,b), (a), (null)
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
95 
Ferramentas 
 Ferramentas de suporte à criação e manutenção de 
DW 
 Ferramentas OLAP 
 Ferramentas de BI 
 …
http://www.icmc.usp.br/pessoas/junio/Site/index.htm 
96 
Referências 
 ELMASRI, R; NAVATHE, S.B. Sistemas de Banco 
de Dados, Addison Wesley, 4a edição, 2005. 
 Ramakrishnan R.; Gehrke, J. Database 
Management Systems, Mc Graw Hill, 2000.

Dawarehouse e OLAP

  • 1.
    Data Warehouse eOLAP Prof. Jose Fernando Rodrigues Junior http://www.icmc.usp.br/pessoas/junio/Site/index.htm 1
  • 2.
  • 3.
    No início, umaúnica fonte de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 4.
    No início, umaúnica fonte de dados Exemplo: primeira loja do grupo Casas Bahia. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 5.
    Mais tarde Exemplo:primeira cidade ocupada pelo grupo Casas Bahia. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 6.
    E assim sucessivamente Exemplo: primeiros estados ocupados pelo grupo Casas Bahia. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 7.
    Finalmente Exemplo: Brasil(primeiro país?) ocupado pelo grupo Casas Bahia. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 8.
    Até que… Oque está acontecendo nas minhas lojas? - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? - ... http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 9.
    Até que… Oque está acontecendo nas minhas lojas? Soluções: 1) Ir até cada uma das lojas e perguntar; - O que é vendido mais? - Quando? - Por qual loja? Pouco viável. - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? - ... http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 10.
    Até que… Oque está acontecendo nas minhas lojas? Soluções: 2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio. - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor Boa idéia!!! loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? - ... http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 11.
    Até que… Oque está acontecendo nas minhas lojas? Soluções: 2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio. - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor Boa idéia!!! loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram Mas... ou subiram? - Quais regiões vendem mais? - ... http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 12.
    Impecilhos ao usodos dados… - Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer, ... - Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais; - Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 13.
    Impecilhos ao usodos dados… - Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer, ... Total falta de conformidade!!! E muitos, muitos dados!!! - Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais; O que fazer? - Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 14.
    O que énecessário? - 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados; - 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios; - 3) Unir (carregar) os resultados das duas operações em um único sistema capaz para responder às minhas perguntas. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 15.
    O que énecessário? - 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados; Complicado. Como fazer então? - 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios; - 3) Unir (carregar) os resultados das duas operações em um único sistema capaz de responder às minhas perguntas. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 16.
    Mas há umasolução http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 17.
    Mas há umasolução Loja 1 Loja 2 Loja 3 Loja n-2 Loja n-1 Loja n Extrair, transformar, carregar dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm Oracle Modelagem x SQLServer Modelagem z DB2 Modelagem y Oracle Modelagem u SQLServer Modelagem w DB2 Modelagem ... v Data warehouse
  • 18.
    ETL – ExtractTransform Load O processo descrito de se extrair (Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL ETL – uma das camadas principais da arquitetura de um data warehouse  Consolidação de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 19.
    ETL – ExtractTransform Load O processo descrito de se extrair (Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL ETL – uma das camadas principais da arquitetura de um data warehouse  Consolidação de dadosExtrair, transformar, carregar dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 20.
    ETL – ExtractTransform Load  Extração/transformação (Extract/Transform) de dados  extração de múltiplas fontes  consolidação e integração de dados de múltiplas fontes  limpeza e validação  conversão dos dados para o modelo do DW http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 21.
    ETL – ExtractTransform Load  Carregamento (Load) de dados  armazenamento de acordo com o modelo do DW  criação e manutenção de estruturas de dados  criação e manutenção de caminhos de acesso  tratamento de dados que variam no tempo  suporte a atualização  refresh  purging (eliminação) http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 22.
  • 23.
    O que éexatamente? “Data Warehouse é uma coleção de dados orientados por assunto, integrada, não-volátil, variante no tempo, que dá apoio às decisões de administração” (W.H. Inmon, 1992).  Orientados a transações: vendas, operações bancárias, acessos à informação. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 24.
    BUSINESS INTELLIGENCE!!! http://www.icmc.usp.br/pessoas/junio/Site/index.htm 24 Introdução  Aplicações  empresas de telefonia  redes de varejo  instituições financeiras  instituições governamentais  instituições de ensino e pesquisa ….
  • 25.
    Sistemas OLTP Extrair,transformar, carregar dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 26.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm Data warehousessão, comumente, alimentados por sistemas OLTP independentes. Sistemas OLTP Extrair, transformar, carregar dados
  • 27.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm Data warehousessão, comumente, alimentados por sistemas OLTP independentes. Sistemas OLTP Extrair, transformar, carregar dados Sistemas OLTP (Online Transaction Processing): gerenciamento de transações; toda vez que você vai ao mercado, ao banco ou faz uma compra online, você está usando um sistema OLTP
  • 28.
    Objetivos  Consolidaçãodos dados de uma empresa  Desempenho na consulta aos dados  Separação entre suporte à decisão e bancos de dados operacionais  Suporte a ferramentas: mineração de dados, visualização e On-line Analytical Processing (OLAP) http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 29.
    Objetivos  Os termos Datawarehouse, OLTP e OLAP não se refererem apenas a software  São termos que englobam software e serviços (muitos serviços – consultoria)  São termos cunhados para a comunidade empresarial não possuindo uma correspondência simples em Ciência da Computação http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 30.
    Relação OLTP eOLAP http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 31.
    Arquitetura de umdata warehouse http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 32.
    Arquitetura de umdata warehouse Arquitetura definida pelo contexto da organização De maneira geral, tem as seguintes camadas: 1. Operacional (OLTPs): fornecem dados 2. De acesso aos dados: ETL 3. Acesso à informação: ferramentas de acesso a dados, geração de relatórios, e análise (OLAP)  Business Intelligence 4. Metadados: detalhamento do conteúdo do data warehouse  dicionário de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 33.
    Arquitetura de umdata warehouse Arquitetura definida pelo contexto da organização De maneira geral, tem as seguintes camadas: 1. Operacional (OLTPs): fornecem dados 2. De acesso aos dados: ETL 3. Acesso à informação: ferramentas de acesso a dados, geração de relatórios, e análise (OLAP)  Business Intelligence 4. Metadados: detalhamento do conteúdo do data warehouse  dicionário de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 34.
    Dicionário de dados Descrição dos dados do DW: origem regras de transformação nomes e aliases formato dos dados histórico de atualizações acesso e segurança responsabilidades sobre os dados Sem o dicionário, não há sistema http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 35.
    Data warehouse vsBanco de dados operacional http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 36.
    Data warehouse vsBanco de dados operacional Data warehouse Banco de dados operacional Orientado a objetivos específicos Orientado a transações Grande (centenas de GBs até TBs) Pequeno/Médio (MBs até alguns GBs) – distribuído se necessário Dados históricos Dados correntes De-normalizado (poucas tabelas com muitas colunas) Normalizado (muitas tabelas com poucas colunas) Atualizações em Batch Atualizações contínuas Otimizado para acesso Otimizado para escrita/atualização http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 37.
    Juntos data warehousee bancos de dados provém uma solução completa http://www.icmc.usp.br/pessoas/junio/Site/index.htm Bancos de dados Inserção/Atualização Data Warehouse Acesso aos dados
  • 38.
    Visão Geral Extrair,transformar, carregar dados 1. Camada Operacional (OLTPs) 2. Camada de acesso aos dados (ETL) 3. Camada de acesso à informação: MD, relatórios, OLAP  Business Intelligence http://www.icmc.usp.br/pessoas/junio/Site/index.htm 4. Dicionário de dados
  • 39.
    Projeto de Datawarehouses http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 40.
    Datamarts  Datamart:ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização  Exemplo, uma loja das casas Bahia Loja i Modelagem x http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 41.
    Datamarts  Datamart:ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização  Exemplo, uma loja das casas Bahia http://www.icmc.usp.br/pessoas/junio/Site/index.htm Acréscimo de ferramentas de análise Modelagem x
  • 42.
    Datamarts  Datamart:ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização  Exemplo, uma loja das casas Bahia Loja i Modelagem x Datamart i http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 43.
    Bottom-up  ProjetoBottom-up: exemplo, rede das casas Bahia Datamart 1 Datamart 2 Datamart 3 http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n
  • 44.
    Bottom-up  ProjetoBottom-up: exemplo, rede das casas Bahia Datamart 1 Datamart 2 Datamart 3 http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n
  • 45.
    Bottom-up  ProjetoBottom-up: exemplo, rede das casas Bahia Datamart 1 Datamart 2 Datamart 3 http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n Data warehouse : conjunto de pequenos sistemas de tratamento e análise de dados.
  • 46.
    Bottom-up  ProjetoBottom-up: exemplo, rede das casas Bahia Datamart 1 Datamart 2 Datamart 3 http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n Data warehouse : conjunto de pequenos sistemas de tratamento e análise de dados. Grande esforço de consolidação  modelo de dados não universal.
  • 47.
    Top-down  ProjetoTop-down Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 48.
    Top-down  ProjetoTop-down Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm Datamart 1
  • 49.
    Top-down  ProjetoTop-down Datamart 1 Datamart 2 Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 50.
    Top-down  ProjetoTop-down Datamart 1 Datamart 2 Datamart 3 Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 51.
    Top-down  ProjetoTop-down Datamart 1 Datamart 2 Datamart 3 Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n
  • 52.
    Top-down  ProjetoTop-down Datamart 1 Datamart 2 Datamart 3 Data warehouse : projeto bem definido. http://www.icmc.usp.br/pessoas/junio/Site/index.htm .... Datamart n Esforço reduzido de consolidação  modelo de dados universal e bem definido.
  • 53.
    Projeto Top-down vsBottom-up Bottom-up Top-down Consistência via manutenção constante Alta consistência Expansão custosa Expansão com novos DMs facilitada Custo diluído ao longo do http://www.icmc.usp.br/pessoas/junio/Site/index.htm tempo Inicialmente custosa Natural em organizações Rara em start-ups Baixa latência Alta latência
  • 54.
    Conceitos vistos Data warehouse OLTP ETL Dicionário de dados DW vs BD Datamart Projeto Bottom-up vs Top-down http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 55.
    OLAP – OnlineAnalytical Processing http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 56.
    OLAP Definição: umacategoria de tecnologia de software que visa à compreensão de dados Provê: acesso rápido, consistente e interativo DW e OLAP, em muitos casos, conceitos indissociáveis http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 57.
    OLAP - FASMI FASMI: Fast Analysis of Multidimensional Information Fast: agilidade em responder consultas Analysis: versatilidade analítica Shared: dados/analistas múltiplos Multidimensional: orientado a dimensões de dados Information: propósito fim http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 58.
    Cubo de dadosOLAP http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 59.
    Cubo de dados 240 101 110 150 204 190 90 83 90 35 87 19 27 35 45 http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 60.
    Cubo de dados Estrutura básica da prática de OLAP Observam-se As dimensões dos dados As medidas sobre os dados O cubo é orientado a planos (faces) Apesar da complexidade dos sistemas OLAP, seus objetivos analíticos são básicos: contagem, média, máximo, mínimo, soma, ...  Agregação, rápida e flexível, sobre imensos volumes de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 61.
    Cubo de dados- slicing Pode ser interessante ver o cubo a partir de diferentes perspectivas (planos) Operações sobre o cubo: slicing, dicing e rotating (pivoting) http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 62.
    Cubo de dados- slicing http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados • A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano
  • 63.
    Cubo de dados- slicing Dados calculados e acessíveis ao analista. http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados • A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano
  • 64.
    Cubo de dados- slicing Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE? http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados • A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano
  • 65.
    Cubo de dados- slicing Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE? http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados • A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano
  • 66.
    Cubo de dados- slicing http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte.
  • 67.
    Cubo de dados- slicing http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte. Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO?
  • 68.
    Cubo de dados- slicing http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte. Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO?
  • 69.
    Cubo de dados- rotating http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de rotating muda a perspectica do cubo todo. Novo plano: Produto x Tempo Dados calculados e acessíveis ao analista.
  • 70.
    Cubo de dados- rotating Obviamente refere-se a cubo apenas para fins didáticos – aplicações de DW/OLAP geralmente envolvem mais do que 3 dimensões, definindo hipercubos. http://www.icmc.usp.br/pessoas/junio/Site/index.htm • A operação de rotating muda a perspectica do cubo todo. Novo plano: Produto x Tempo Dados calculados e acessíveis ao analista.
  • 71.
    Modelo de dadosdimensional http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 72.
    OLAP e DW OK, mas e o DW, onde entra nisso tudo? O modelo de dados do DW é orientado a servir a análise baseada em Dimensões de dados http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 73.
    Modelo de dadosDW Banco de dados operacional Esquema complexo http://www.icmc.usp.br/pessoas/junio/Site/index.htm Data Warehouse FATOS Esquema estrela
  • 74.
    Modelo de dadosDW Banco de dados operacional Esquema complexo http://www.icmc.usp.br/pessoas/junio/Site/index.htm Data Warehouse FATOS Esquema estrela
  • 75.
    Modelo de dadosDW Banco de dados operacional http://www.icmc.usp.br/pessoas/junio/Site/index.htm Esquema complexo (normalizado) Data Warehouse FATOS Esquema floco de neve (snow flake)
  • 76.
    Modelo de dadosdimensional Exemplo Estrela: http://www.icmc.usp.br/pessoas/junio/Site/index.htm Tempo t_chave Ano Trimestre Mes Produto p_chave Tipo Fabricante Modelo Local l_chave Regiao Cidade Loja Fatos t_chave p_chave l_chave Nro_unidades Valor Assist_tecnica
  • 77.
    Modelo de dadosdimensional Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? SELECT Tempo.Ano, Produto.Tipo, Local.Regiao, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave GROUP BY Tempo.Ano, Produto.Tipo, Local.Regiao http://www.icmc.usp.br/pessoas/junio/Site/index.htm Exemplo: Tempo t_chave Ano Trimestre Mes Produto p_chave Tipo Fabricante Modelo Local l_chave Regiao Cidade Loja Fatos t_chave p_chave l_chave Nro_unidades Valor Assist_tecnica
  • 78.
    Modelagem de Dadospara DW http://www.icmc.usp.br/pessoas/junio/Site/index.htm 79  Exemplo Snowflake (Elmasri e Navathe, 2005)
  • 79.
    Modelo de dadosdimensional Cubo de dados: análise dimensional das medidas (dados) DW: modelo de dados dimensional Dimensões: dão contexto aos fatos Fatos: números transacionais http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 80.
    Modelo de dadosdimensional Observe que as dimensões dos dados possuem uma hierarquia categórica http://www.icmc.usp.br/pessoas/junio/Site/index.htm Por exemplo: Tempo(Ano, Trimestre, Mês)
  • 81.
    Modelo de dadosdimensional Hierarquia das dimensões: apreciação dos dados em diferentes granularidades. Exemplo: Itens_vendidos(ano) Itens_vendidos(Trimestre) Itens_vendidos(Trimestre) Itens_vendidos(Mês) Duas outras operações muito importantes http://www.icmc.usp.br/pessoas/junio/Site/index.htm Drill down Roll up
  • 82.
    Drill down /Roll up Drill-down e roll-up: navegação ao longo dos níveis hierárquicos das dimensões Drill-down http://www.icmc.usp.br/pessoas/junio/Site/index.htm Exemplo Itens_vendidos(Região) Itens_vendidos(Cidade) Roll-up
  • 83.
    Drill down /Roll up http://www.icmc.usp.br/pessoas/junio/Site/index.htm Drill-down sobre as três dimensões simultaneamente.
  • 84.
    Drill down /Roll up Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? Drill Down em todas as dimensões  Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade? SELECT Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Local.Regiao Local.Cidade, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND http://www.icmc.usp.br/pessoas/junio/Site/index.htm Drill-down sobre as três dimensões simultaneamente. Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave GROUP BY Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Loca.Regiao, Local.Cidade
  • 85.
    Drill down /Roll up Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? Drill Down em todas as dimensões  Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade e considerando um slicing de ano entre 2001 e 2002? http://www.icmc.usp.br/pessoas/junio/Site/index.htm Drill-down sobre as três dimensões simultaneamente. SELECT Tempo.Trimestre, Produto.Fabricante, Local.Cidade, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave AND Tempo.Ano between 2001 AND 2002 GROUP BY Tempo.Trimestre, Produto.Fabricante, Local.Cidade
  • 86.
    OLAP - Agregação http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 87.
    OLAP - Agregação Mais do que cubinhos, o OLAP/DW é uma tecnologia sofisticada que visa responder às diferentes possibilidades e níveis de agregação de maneira rápida e precisa. http://www.icmc.usp.br/pessoas/junio/Site/index.htm
  • 88.
  • 89.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 90 RelationalOLAP (ROLAP)  Recursos OLAP sobre SGBDs  disparam todas as agregações necessárias para se obter os resultados requisitados  O OLAP não relacional, também é conhecido como Multidimensional OLAP - MOLAP  SQL:1999  ROLLUP e CUBE SELECT …. FROM …. WHERE … GROUP BY CUBE (trim, região) ex: selecionar  total de vendas por trim. por região  total de vendas por trim.  total de vendas por região  total geral de vendas SELECT …. FROM …. WHERE … GROUP BY ROLLUP (trim, região) ex: selecionar  total de vendas por trim. por região  total de vendas por trim.  total geral de vendas
  • 90.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 91 RelationalOLAP (ROLAP)  Sobre ROLLUP e CUBE  ROLLUP e CUBE aplicados sobre k atributos  ... GROUP BY CUBE (....)  é equivamente a agrupamentos sobre cada um dos 2k subconjuntos de atributos  ex: k=2 ⇒ ... GROUP BY CUBE (a,b)  agrupamentos sobre: (a,b), (a), (b), (null)  agrupamento em (null) é o total geral de vendas
  • 91.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 92 RelationalOLAP (ROLAP)  (cont...)  (cont...)  ... GROUP BY CUBE (....)  é equivamente a agrupamentos sobre cada um dos 2k subconjuntos de atributos  ex: k=3 ⇒ ... GROUP BY CUBE (a,b,c)  agrupamentos sobre: (a,b,c), (a,b), (a,c), (b,c) (a), (b),(c), (null)
  • 92.
    Relational OLAP (ROLAP)  Exemplo GROUP BY CUBE SELECT Dept, Funcao, http://www.icmc.usp.br/pessoas/junio/Site/index.htm COUNT(*), SUM(Salario) FROM Empregados GROUP BY CUBE(Dept, Funcao); Dept Funcao COUNT(*) SUM(Salario) ------------------------------------------------ 10 Secretario 1 100 10 Gerente 1 500 10 Presidente 1 900 10 3 1500 20 Analista 2 350 20 Secretario 2 240 20 Gerente 1 800 20 5 1390 Secretario 3 340 Gerente 2 1300 Presidente 1 500 Analista 2 350 8 2490
  • 93.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 94 RelationalOLAP (ROLAP)  (cont...)  (cont...)  ... GROUP BY ROLLUP (....)  é equivamente a agrupamentos em k+1 subconjuntos:  k=2 ⇒ ... GROUP BY ROLLUP (a,b)  agrupamentos sobre: (a,b), (a), (null)  agrupamento em (null) é o total geral de vendas  k=3 ⇒ ... GROUP BY ROLLUP (a,b,c)  agrupamentos sobre: (a,b,c), (a,b), (a), (null)
  • 94.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 95 Ferramentas  Ferramentas de suporte à criação e manutenção de DW  Ferramentas OLAP  Ferramentas de BI  …
  • 95.
    http://www.icmc.usp.br/pessoas/junio/Site/index.htm 96 Referências  ELMASRI, R; NAVATHE, S.B. Sistemas de Banco de Dados, Addison Wesley, 4a edição, 2005.  Ramakrishnan R.; Gehrke, J. Database Management Systems, Mc Graw Hill, 2000.

Notas do Editor

  • #85 Cidades: Florianópolis, Curitiba, Guarulhos e Londrina
  • #86 Cidades: Florianópolis, Curitiba, Guarulhos e Londrina
  • #87 Cidades: Florianópolis, Curitiba, Guarulhos e Londrina
  • #90 ERP - Enterprise resource planning CRM - Customer relationship management