1
resposta

Confusão entre Star e Snowflake Schemas

Creio que há um equívoco de conceituação. A resposta da questão proposta, no meu entendimento, não representa um esquema Snowflake e sim Star. Se a tabela fato tem n ocorrências de um nível (aluno) e este nível (aluno) tem n ocorrências do nível acima (turma), isto é star schema... Perceba que há uma redução de ocorrências do centro (fato) para as pontas do esquema (níveis acima) (N-1, N-1, N-1,...). Isto é star schema. Como se fosse uma estrela afinando para as pontas. Snowflake é quando há uma ocorrência do tipo inverso, 1-N do centro para as pontas. Lembra o simbolo do floco de neve ou do gelo... Onde as pontas vão se abrindo em direção a parte mas externa do schema...

1 resposta

Oiii Paulo, tudo tranquilo?

Peço desculpas na demora do retorno de sua resposta, vamos lá.

No modelo Snow Flake, tabelas dimensionais se relacionam com a tabela fato, porém algumas dimensões se relacionam apenas entre elas, isso acontece para normalizar as tabelas dimensionais. No Snow Flake existem tabelas de dimensões auxiliares que normalizam as tabelas de dimensões principais.

No modelo Star, todas as tabelas dimensionais se relacionam direto com a tabela fato. As tabelas dimensionais não são normalizadas no Star Schema, assim as tabelas de dimensionais ficam maiores por repetirem as descrições de forma textual em todos os registros. Esse modelo é chamado de Star porque a tabela de fatos fica no centro cercada das tabelas dimensionais parecido com uma estrela.

A resposta da atividade está correta, se trata de um Snow Flake mesmo. Turma e Aluno são níveis de uma dimensão. A dimensão turma, se relaciona apenas com a dimensão aluno e se verificarmos como ficou a tabela na resposta da atividade, temos o Cod_Turma como uma PK, relacionando a dimensão Aluno e Turma.

Desculpa pela resposta extensa, e espero ter sanado sua dúvida. Qualquer coisa é só falar, tá bom? :)