As dimensões que mudam lentamente (Slowly Changing Dimensions – SCDs) são usadas em data warehouses para lidar com alterações nos dados ao longo do tempo. Existem vários tipos de SCDs, cada um adequado para diferentes cenários.

  1. Tipo 1 – Sobrescrever: Os dados antigos são simplesmente sobrescritos pelos novos valores, sem manter histórico. Exemplo: Um data mart de informações de produtos onde o preço de um produto é atualizado e apenas o novo preço é armazenado, sem histórico de preços anteriores.
  2. Tipo 2 – Adicionar uma nova linha: Um novo registro é adicionado para representar a nova versão do dado, enquanto o registro antigo é mantido para manter o histórico. Exemplo: Uma dimensão de clientes onde um cliente muda seu endereço. Um novo registro é adicionado para o cliente com o novo endereço, mantendo o registro anterior com o endereço antigo.
  3. Tipo 3 – Adicionar colunas extras: Colunas adicionais são adicionadas à dimensão para armazenar valores históricos específicos. Exemplo: Adicionar uma coluna “Endereço Anterior” à dimensão de clientes para armazenar o endereço anterior do cliente quando ele muda.
  4. Tipo 4 – História mantida em uma tabela separada: A história é mantida em uma tabela separada, referenciada pela dimensão principal. Exemplo: Uma dimensão de produtos onde as informações históricas são mantidas em uma tabela de histórico separada, permitindo consultas históricas sem sobrecarregar a tabela principal.
  5. Tipo 6 – Combinar Tipo 1 e Tipo 2: Mantém a funcionalidade dos tipos 1 e 2, adicionando uma coluna de status para indicar a ativação de uma nova linha. Exemplo: Uma dimensão de funcionários onde os dados pessoais (como nome e cargo) são sobrescritos (Tipo 1), enquanto as informações de contato (como endereço de e-mail) são adicionadas como uma nova linha (Tipo 2), indicando a ativação da nova linha através de uma coluna de status.

Cada tipo de SCD tem suas vantagens e desvantagens, e a escolha do tipo certo depende dos requisitos específicos do negócio e das consultas que serão executadas no data warehouse.

Comments are closed