[BI] Slowly Changing Dimensions
Alguns atributos de uma dimensão podem sofrer mudanças
Alguns atributos de uma dimensão podem sofrer mudanças, por exemplo, o estado civil de uma pessoa, a categoria de um produto, a UF de uma Cidade. Para controlar estas mudançãs utitizamos o SCD (Slowly Changing Dimensions).
Existem 3 técnicas:Â
1) Sobrescreve
 -Corrige enganos ou remove dados antigos
2) Cria nova Linha/Flag
 -Divide os dados históricos
3) Adiciona um atributo
 -Trabalha com 2 informações na mesma linha de dados, dado anterior e dado atual
TIPO 1:Â SOBRESCREVEÂ
-Atualiza a linhaÂ
-Não é necessário alterar a chave da dimensãoÂ
-É necessário refazer os objetos agregados
Este tipo é mais fácil de ser implementado, pois os dados são sobrescritos. Deve ser implementado quando não existe a necessidade de separar os dados para controle de perfis, ou os dados que devem sempre ser mantidos em sua última versão.
VantagensÂ
-Fácil e rápido para implementar e executar a carga da dimensão.
Desvantagens:Â
-O histórico é perdido. -Podem ocorrer erros quando consideramos os dados ao longo do tempo.
TIPO 2: CRIA NOVA LINHA/FLAGÂ
-Gera uma nova surrogate keyÂ
-Insere uma linha na dimensãoÂ
-Não é necessário recriar os dados agregados.
Este tipo é utilizado quando existe a necessidade de se controlar os perfis e alterações de um dado através do tempo.Â
Datas de inÃcio e fim podem ser utilizadas para controle da versão atual, mas prefiro uma Flag(bit) Ativo.
Vantagens:Â
-É perfeito para fazer o controle de perfis e versões da informação.
Desvantagens:Â
-Torna o ETL mais complexo, pois é necessário administrar e manter surrogates keys.
-As dimensões tem maior número de linhas e se tornam mais complexas. -Usuários devem estar atentos e devem ser orientados em como devem fazer as queries pois um produto pode se repetir várias vezes em uma dimensão.
TIPO 3: ADICIONA UM ATRIBUTOÂ
-Não é muito utilizadaÂ
-Adiciona uma nova coluna na tabela, com o nome do atributo e ums descrição. Ex: Categoria e Categoria_Anterior.Â
-Copia o valor existente para a coluna chamada de Anterior.Â
-Trata o valor corrente como Tipo1(sobrescreve)
Vantagens:Â
-É apropriada para alterações simples, que exijam comparações entre uma situação passada e atual.
Desvantagens:Â
-Não mantém todos os históricos.
Fonte: Cetax Consultoria
Num post futuro iremos ver esta implementação na prática.
Related articles
SQL Update using Try Catch
Na prática com exemplo real
Comando SQL Update usando Try Catch
Na prática e no database
SELECT Format Date Time for many countries
It is a good tip to use day by day
Membership $5/mo
✓ Full articles Subscribe ✓ Write forums ✓ Access podcast ✓ Full jobs opportunities ✓ Access eBooks ✓ Access magazine ✓ Access videos |
Free
✓ Open articles ✓ Read forums ✓ Access podcast x Full jobs opportunities x Access eBooks x Access magazine x Access videos |