Snowflake Schema (pt-BR)
Esse artigo foi originalmente escrito em: http://social.technet.microsoft.com/wiki/contents/articles/snowflake-schema.aspx
Visão Geral
No SQL Server Analysis Services (SSAS), snowflake schema descreve um modelo de dados populares para data warehouses relacionais. Semelhante ao [[articles:Star Schema (pt-BR)|star schema (pt-BR)]], o snowflake schema contém tabelas de fatos e dimensão, com a tabela de fatos armazena fatos sobre as transações comerciais e algumas colunas da tabela de fatos que contém referências de foreign key nas tabelas de dimensão. Snowflake schemata diferem dos star schemataem seu nível de normalização; as tabelas de dimensão de um esquema de snowflake schema são geralmente normalizadas ao formulário terceiro normal (3NF) ou superior. Como resultado, os dados para uma determinada dimensão são espalhados por várias tabelas, e um diagrama de banco de dados se parece com um floco de neve.
Enquanto um snowflake schema pode resultar da normalização das tabelas de dimensão, também pode ocorrer por meio da reutilização de tabela de dimensão, particularmente quando há relacionamentos entre as tabelas de dimensão. Por exemplo, um data warehouse relacional pode conter uma tabela de dimensão de clientes e uma tabela de dimensão de Geografia; qualquer das tabelas pode ser relacionada diretamente a uma tabela de fatos e o modelo resultante pode então ser um esquema em estrela. Outra alternativa seria relacionar a dimensão Geografia à dimensão do cliente, para que a tabela de dimensão de cliente contém uma referência de foreign key reference para a dimensão Geografia (um cliente reside em um local geográfico específico), e o resultado seria um esquema de floco de neve. Neste caso, as tabelas de dimensão cliente e geografia só podem ser normalizadas a segunda forma normalizada como em um esquema em estrela.
Independentemente se o snowflake schemaresulta da normalização das tabelas de dimensão ou de relacionamentos entre as tabelas de dimensão, uma vantagem de um esquema do snowflake schema é que as tabelas de dimensão são mais versáteis. Por exemplo, se uma dimensão de tempo é normalizada em várias tabelas de dimensão - uma tabela de ano, uma tabela de mês e uma tabela de data-, em seguida, é possível ter várias tabelas de fatos que armazenam dados a outro nível de granularidade com respeito ao tempo; uma tabela de fatos pode estar relacionados com a tabela de data, enquanto outro podia se relacionar a tabela de mês ou o ano. Como outro exemplo, se o depósito contém uma dimensão de cliente e uma dimensão Geografia, então a dimensão Geografia pode ser usada para descrever fatos diretamente (por exemplo, o fato ocorreu em uma geografia específica) e também pode ser usado para descrever os clientes (por exemplo, um cliente reside em um local específico).
Veja Também
Outros Idiomas
Este artigo está igualmente disponível nos seguintes idiomas:
Inglês (en-US)
- [[Snowflake Schema ]]