Sunteți pe pagina 1din 40

Modelagem Dimensional

para Qlikview
Uma Viso Prtica
Apresentao
2007

Gilberto Costa
Gerente de Produto Business Intelligence e
Qualidade

Ajudando a salvar vidas

Introduo
O Modelo Relacional foi criado por E.F.
Codd, pesquisador da IBM, em 1970
Trata-se de um Modelo Matemtico
Fechado concebido para representar dados e
suas associaes
O primeiro SGBD Relacional baseado no
Modelo de Codd s foi lanado em 1976
(Sistema R com linguagem SEQUEL da IBM)
O primeiro SGBD Relacional Comercial s
apareceu em 1979 (RDB que depois mudou
o nome para Oracle)
Solues Integradas para Gesto da Sade

Modelo Relacional
Objetos Bsicos
RELAO
Atributos
Atributo 1

Atributo 2

Tuplas

Solues Integradas para Gesto da Sade

Atributo N

Modelo Relacional
Propriedades da Relao
Identificao
Chave
Primria
CPF

CLIENTE
Nome

Telefone

Tuplas
Toda Tupla precisa ter uma Chave Primria
(formada por um ou mais atributos) que a
identificam unicamente na Relao
Solues Integradas para Gesto da Sade

Modelo Relacional
Propriedades da Relao
Integridade Referencial
Chave
Primria
CPF

CLIENTE
Nome

Telefone

Chave
Primria
Numero

Chave

PEDIDO Estrangeira
Data

Valor

CPF

Uma Chave Primria pode ser Exportada para


outra Relao como Chave Estrangeira, mas seu valor
deve existir na Relao de Origem ou ser NULL
Solues Integradas para Gesto da Sade

Extenses ao Modelo
O Modelo Relacional original sofreu vrias
extenses ao longo do tempo
Uma das mais conhecidas o Modelo de
Entidades e Relacionamentos, criado por
Peter Chen, pesquisador do MIT, em 1976
Ele introduz um novo conceito semntico
que a figura do Relacionamento
Esse elemento pr-definido no
Dicionrio de Dados do banco de dados

Solues Integradas para Gesto da Sade

MER Modelo de Entidades


e Relacionamentos
PACIENTE

DEPARTAMENTO

FUNCIONARIO

POSSUEM

RECEBEM

TRABALHA

Solues Integradas para Gesto da Sade

INFORMACOES
COMPLEMEN
TARES

FUNCIONARIO

PROJETO

Relacionamentos 1 para 1 e
1 para Muitos (N)
PACIENTE

DEPARTAMENTO

POSSUEM

RECEBEM

INFORMACOES
COMPLEMEN
TARES

FUNCIONARIO

A Chave Primria da Entidade do lado do 1


Exportada para a outra Entidade como Chave
Estrangeira
Solues Integradas para Gesto da Sade

Relacionamentos
Muitos (M) para Muitos (N)

FUNCIONARIO

COD_FUN

TRABALHA

COD_FUN

COD_PROJ

PROJETO

COD_PROJ

Tambm conhecidos como Relacionamentos com


Campos, pois precisam conter no mnimo as Chaves
Primrias de cada uma das Entidades envolvidas
Solues Integradas para Gesto da Sade

Relacionamentos
Muitos (M) para Muitos (N)

FUNCIONARIO

COD_FUN

TRABALHA

COD_FUN

COD_PROJ

PROJETO

COD_PROJ

QTD_HORAS

Alm das Chaves Estrangeiras era muito comum a


presena de atributos pertencentes ao
Relacionamento
Solues Integradas para Gesto da Sade

Relacionamentos
Muitos (M) para Muitos (N)
Mais de 2 Entidades
CLIENTE

COD_CLI

N
FUNCIONARIO

COD_FUN

TRABALHA

COD_FUN, COD_PROJ, COD_CLI


QTD_HORAS

PROJETO

COD_PROJ

Existia mais na teoria e era usado pelos Analistas


de Sistemas para alertar que estavam deixando de
identificar alguma Entidade do mundo real
Solues Integradas para Gesto da Sade

Representao Temporal
CLIENTE

COD_CLI

N
FUNCIONARIO

COD_FUN

TRABALHA

COD_FUN, COD_PROJ, COD_CLI


QTD_HORAS,
DATA_TRAB

PROJETO

COD_PROJ

Certamente o relacionamento precisa de uma


referncia temporal para determinar quando ele
ocorreu
Solues Integradas para Gesto da Sade

Derivao do Modelo
Dimensional
CLIENTE

COD_CLI

N
FUNCIONARIO

COD_FUN

TRABALHA

COD_FUN, COD_PROJ, COD_CLI


QTD_HORAS,
DATA_TRAB

PROJETO

COD_PROJ

Essa construo que apresentava srios problemas


para uma abordagem Transacional ser ideal para o
cruzamento de informaes em consultas e anlises
Solues Integradas para Gesto da Sade

Modelo Dimensional

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

Uma tabela central ocupa o lugar do


Relacionamento
Ela representa a ocorrncia de um Fato entre as
demais Tabelas
Solues Integradas para Gesto da Sade

Modelo Dimensional

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

FATO PROJETO
DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

Por isso chamada de Tabela de Fatos


Possui trs reas bem definidas: Referncias
Temporais, Chaves Estrangeiras e Medidas
Solues Integradas para Gesto da Sade

Modelo Dimensional

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

FATO PROJETO
DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

As demais Tabelas que ficam ao redor representam


diversas maneiras de Observar o Fato
Por isso so chamadas de Tabelas de Dimenso
Solues Integradas para Gesto da Sade

Granularidade

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

FATO PROJETO
DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

o nvel de detalhe (gro) at onde o fato vai


descer
Na prtica representado pelo conjunto das
Chaves Estrangeiras das Dimenses
Solues Integradas para Gesto da Sade

Granularidade

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

FATO PROJETO
DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

O Gro Ideal ou Mximo aquele que responde a


qualquer pergunta formulada pelos Usurios
Para isso necessrio descer at at o mais
detalhado nvel possvel (Espao x Funcionalidade)
Solues Integradas para Gesto da Sade

Star Schema

CLIENTE

1
N

COD_CLI

N
FUNCIONARIO

FATO PROJETO
DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

Observe que o desenho acima se parece com uma


estrela
Para ser um Star Schema necessrio que haja
apenas um nvel de Join entre o fato e as Dimenses
Solues Integradas para Gesto da Sade

Snowflake Schema
GRUPO
PROJETO
CLIENTE

FATO PROJETO
N

COD_CLI

N
FUNCIONARIO

DATA_TRAB
COD_FUN
COD_PROJ
COD_CLI
QTD_HORAS

N
1

PROJETO

COD_PROJ

TEMPO

DATA_TRAB

COD_FUN

Ocorre quando h mais de um nvel de Join entre o


Fato e as Dimenses
Melhora o entendimento do Modelo, mas prejudica
a Performance
Solues Integradas para Gesto da Sade

Snowflake Schema

O nome Esquema Floco de Neve se deve


aparncia do smbolo do floco de neve (para ns
brasileiros s visto no aparelho de Ar-Condicionado)
Solues Integradas para Gesto da Sade

Integrao entre Data Marts

Existiro Dimenses que so comuns h alguns


Fatos e outras que so especficas
Assim teremos as Dimenses Conforme
Solues Integradas para Gesto da Sade

Bus Architecture ou
Arquitetura de Barramento

As Dimenses so a nica forma de navegar entre


os Fatos
No h ligao direta entre Fatos
Solues Integradas para Gesto da Sade

Problema dos Loops


do Modelo

As ferramentas ROLAP no conseguem decidir


sozinhas qual o caminho correto para tratar os Loops
preciso fornecer essa informao atravs de
Metadados
Solues Integradas para Gesto da Sade

Problema dos Loops


do Modelo

Uma vez identificados os contextos dos Fatos,


conjuntos de vrias queries diferentes so geradas
A integrao de seus resultados feita
automaticamente atravs de Tabelas Temporrias ou
manualmenhte pelo
Usurio
Solues Integradas para Gesto da Sade

Abordagem ROLAP
Estamos falando at o momento de
uma abordagem de Processamento
Analtico On-Line baseado em Banco de
Dados Relacional (ROLAP Relational
On-Line Analytical Processing)
Para que a Performance seja
suportvel preciso fazer uso de Tabelas
de Agregados e das estratgias de
Aggregate Awareness e Aggregate
Navigation

Solues Integradas para Gesto da Sade

Aggregate Awareness
necessrio que a ferramenta ROLAP
possa fazer a escolha da melhor Tabela
de Agregado a ser consultada sem
deixar o usurio saber
Para isso, o DBA do DW deve estudar
as queries mais criadas pelos Usurios e
montar as Tabelas de Agregado
Considerando sempre a relao
Espao x Velocidade

Solues Integradas para Gesto da Sade

Aggregate Navigation
Essa escolha do melhor Agregado
deve ser dinmica, ou seja, sempre
refeita automaticamente a cada nova
query realizada pelo Usurio
A ferramenta ROLAP deve possuir
Metadados para suportar essa
navegao entre Agregados

Solues Integradas para Gesto da Sade

Quebra de Paradigma
Esse o mundo ROLAP, o padro de fato da
indstria de BI at h dois ou trs anos atrs
Com a quebra da barreira de 32 para 64 bits
em sistemas Windows
E o consequente rompimento da barreira dos
4GB (232) endereveis
E a queda vertiginosa dos preos da
Memria RAM
E a queda vertiginosa dos preos dos
Processadores de Mltiplos Ncleos
Toda essa realidade mudou !!!
Solues Integradas para Gesto da Sade

Quebra de Paradigma
Criaram-se as condies para o surgimento
dos In-Memory Databases Systems, tais como:
Qlikview
Timesten (adquirido pela Oracle)
SolidDB (adquirido pela IBM)
APPLIX (adquirido pela Cognos/IBM)
BWA (desenvolvido pela SAP)
Microsoft ?!?
Business Objects ?!?
Microstrategy ?!?
Solues Integradas para Gesto da Sade

Quebra de Paradigma

Como
funciona o
Qlikview
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Os dados so armazenados
compactados e totalmente na RAM,
interligados por Pointers
No existe, fisicamente, a figura da
Tabela
TUDO CAMPO E EST SEPARADO
UM DO OUTRO
Os pointers so ativos e dinmicos
(no h o conceito de Query e Retrieve)
Isso nos leva a algumas
particularidades que veremos a seguir
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Join x Associaes
No lugar do JOIN que existe no conceito
do banco Relacional existem Associaes
entre Tabelas
Uma ASSOCIAO no Qlikview equivale
a um Full Outer Join no SQL
Com a diferena de que no gerado o
Tabelo (Result Set)
Isso porque quando clicamos em um
campo, todos os demais reagem
Mostrando os que esto e os que no
esto relacionados
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Join x Associaes
As ASSOCIAES no so feitas na
query, pois esse coneito no existe !!!
Elas so feitas durante a execuo dos
scripts de ETL
Bastando que as tabelas que se quer
associar possuam campos com o Mesmo
Nome
Entre duas tabelas no pode haver mais
de um campo com o mesmo nome

Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Join x Associaes

Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Inexistncia de Loops

Devido ao modelo associativo dinmico


de dados suspensos na RAM e compactados
atravs de pointers, no pode haver Loops
nos modelos de dados do Qlikview
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Inexistncia de Loops x
Integrao de Fatos

Devemos evitar os Loops usando a estratgia do


Modelo Estrela sem Pontas (Estrela com a ponta
virada para dentro)
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Estrela sem Pontas
FATO ATENDIMENTO
DATA ENTRADA ATENDIMENTO
DATA ALTA ATENDIMENTO
CONVENIO ATENDIMENTO
PLANO ATENDIMENTO
MEDICO ATENDIMENTO
ESPECIALIDADE ATENDIMENTO
MOTIVO ALTA ATENDIMENTO
QTD ATENDIMENTOS

As Tabelas de Dimenso passam a no existir


mais
Os campos descritivos das Dimenses passam
para a Tabela de Fatos
Isso s possvel porque no Qlikview tudo
CAMPO e por conta
daIntegradas
compresso
de dados
Solues
para Gesto da Sade

Particularidades do Qlikview
Integrao de Fatos

realizada atravs de ligaes diretas entre os


Fatos (melhor estratgia)
Solues Integradas para Gesto da Sade

Particularidades do Qlikview
Integrao de Fatos

Ou tambm atravs de Linked Tables que so


Tabelas com Produtos Cartesianos das Chaves das
Dimenses (s quando no possvel ligar os fatos
por no haver chaves estrangeiras entre eles)
Solues Integradas para Gesto da Sade

S-ar putea să vă placă și