Escolar Documentos
Profissional Documentos
Cultura Documentos
para Qlikview
Uma Viso Prtica
Apresentao
2007
Gilberto Costa
Gerente de Produto Business Intelligence e
Qualidade
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
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
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
DEPARTAMENTO
FUNCIONARIO
POSSUEM
RECEBEM
TRABALHA
INFORMACOES
COMPLEMEN
TARES
FUNCIONARIO
PROJETO
Relacionamentos 1 para 1 e
1 para Muitos (N)
PACIENTE
DEPARTAMENTO
POSSUEM
RECEBEM
INFORMACOES
COMPLEMEN
TARES
FUNCIONARIO
Relacionamentos
Muitos (M) para Muitos (N)
FUNCIONARIO
COD_FUN
TRABALHA
COD_FUN
COD_PROJ
PROJETO
COD_PROJ
Relacionamentos
Muitos (M) para Muitos (N)
FUNCIONARIO
COD_FUN
TRABALHA
COD_FUN
COD_PROJ
PROJETO
COD_PROJ
QTD_HORAS
Relacionamentos
Muitos (M) para Muitos (N)
Mais de 2 Entidades
CLIENTE
COD_CLI
N
FUNCIONARIO
COD_FUN
TRABALHA
PROJETO
COD_PROJ
Representao Temporal
CLIENTE
COD_CLI
N
FUNCIONARIO
COD_FUN
TRABALHA
PROJETO
COD_PROJ
Derivao do Modelo
Dimensional
CLIENTE
COD_CLI
N
FUNCIONARIO
COD_FUN
TRABALHA
PROJETO
COD_PROJ
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
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
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
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
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
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
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
Snowflake Schema
Bus Architecture ou
Arquitetura de Barramento
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
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
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
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
Particularidades do Qlikview
Join x Associaes
Particularidades do Qlikview
Inexistncia de Loops
Particularidades do Qlikview
Inexistncia de Loops x
Integrao de Fatos
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
Particularidades do Qlikview
Integrao de Fatos
Particularidades do Qlikview
Integrao de Fatos