Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Star schema x snow flaker

Boa noite,

Pelo que estou vendo em BI o modelo star schema é mais recomendado do que o modelo snow flaker, pelo fato de ter todos os dados nas pontas da fato e não de forma cascateada (como acontece no transacional), onde as tabelas são ligadas pelas chaves. Caso seja isso, podem confirmar por favor, o metodo que estou usando, por exemplo:

Imaginando que eu tenho 3 tabelas: Produto > Categoria > Subcategoria e uma Fato

O Ideal seria unirmos essas 3 tabelas em 1 só, no caso Produto que faria a ligação pela fato?, posso usar o join para isso?

produto:
LOAD * INLINE

[
    ID, ID_cat,Produto, Texto_Produto
    1,11, focus, 30km
    2,12, ka, 40km
    3,13, gol, 20km
    4,14, palio, 35km
];

inner join
LOAD * INLINE

[
    ID_cat, ID_sub,Categoria, Texto_Categoria
    11,111, Ford, 30ll
    12,112, Ford, 40ll
    13,113, VW, 20ll
    14,114, Fiat, 35ll
];

inner join
LOAD * INLINE

[
    ID_sub, SubCategoria, Texto_SubCategoria
    111, preto, cor1
    112, red, cor2
    113, black, cor3
    114, blue, cor4
];

Labels (1)
1 Solution

Accepted Solutions
cesaraccardi
Specialist
Specialist

Ola,

Neste caso nao e preciso fazer a juncao das tabelas pois como voce comentou a chave seria entre a fato e o produto, atraves do campo ID certo? A juncao seria simplesmente para simplificar o modelo, diminuindo o numero de tabelas. Via de regra quando existem tabelas de dimensao com cardinalidade 1 : 1 ou 1 : N costuma-se fazer a juncao, voce pode ainda remover os campos chaves depois da juncao caso nao sejam relevantes para analise.

Como o Robert comentou a palavra "inner" e opcional, voce pode retirar-la.

View solution in original post

9 Replies
robert_mika
Master III
Master III

Sim. Isso está correto .Você não precisa usar a palavra interior. 

nicolett_yuri

Você não precisa juntar, pode trabalhar com a Fato e as dimensionais ligada a ela

Not applicable
Author

Bom dia,

é que nesse caso do exemplo a categoria e subcategoria não tem ligação com a Fato, o que vc diz seria criar essas chaves na fato? como por exemplo levar para a fato o ID_cat e ID_sub, pois na fato tem os valores quantitativos e chaves, é isso?

lucianosv
Specialist
Specialist

Segue qvw.

lucianosv
Specialist
Specialist

Bom dia.

Na fato você só têm o produto?

Se for isso você pode fazer um snowflake de produto/categoria/subcategoria ou juntar essas 3 em uma só.

Agora, levar as chaves de categoria e subcategoria seria o correto para fazer o star schema.

nicolett_yuri

Isso mesmo, se você juntar as tabelas com a sua fato, provavelmente, estará buscando um modelo SingleTable. O problema do SingleTable é que você pode (risco) criar duplicidade de dados.

cesaraccardi
Specialist
Specialist

Ola,

Neste caso nao e preciso fazer a juncao das tabelas pois como voce comentou a chave seria entre a fato e o produto, atraves do campo ID certo? A juncao seria simplesmente para simplificar o modelo, diminuindo o numero de tabelas. Via de regra quando existem tabelas de dimensao com cardinalidade 1 : 1 ou 1 : N costuma-se fazer a juncao, voce pode ainda remover os campos chaves depois da juncao caso nao sejam relevantes para analise.

Como o Robert comentou a palavra "inner" e opcional, voce pode retirar-la.

aderlanrm
Partner - Specialist
Partner - Specialist

Olá twister8,

Dependendo do volume de dados a diferença será imperceptível, porém, boa prática é boa prática.

Esse link pode lhe ajudar: http://dicasqlikview.blogspot.com.br/2013/07/modelo-de-dados-no-qlikview.html

Abraço.

***  Se foi útil ou correto, marque como tal, assim ajuda outros a também encontrar a resposta. ***

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Clever_Anjos
Employee
Employee

Já achou uma solução? Se alguma resposta foi a correta, marque como "Correta" para fechar o tópico e nos ajudar a manter o forum organizado.

Como obter ajuda? Leia antes de postar