Descrever dimensões que mudam lentamente

Concluído

Uma dimensão de mudança lenta (SCD) é aquela que gerencia adequadamente a mudança dos membros da dimensão ao longo do tempo. Aplica-se quando os valores de uma entidade empresarial mudam ao longo do tempo, e não num calendário definido. Um bom exemplo de um SCD é uma dimensão do cliente, especificamente suas colunas de detalhes de contato, como endereço de e-mail e número de telefone. Em contraste, algumas dimensões são consideradas como mudando rapidamente quando um atributo de dimensão muda frequentemente, como o preço de mercado de uma ação. A abordagem de design comum nesses casos é armazenar valores de atributos que mudam rapidamente em uma medida de tabela de fatos. No entanto, para dimensões que mudam lentamente, os membros que mudam devem permanecer na tabela de dimensões. O design usado para lidar com alterações depende dos requisitos de negócios para a tabela de dimensões.

Exemplo de SCD do cliente

Suponha que você esteja projetando uma tabela de dimensões do cliente como parte de um modelo de esquema em estrela para rastrear transações de vendas. Esta tabela incluiria atributos como nome da empresa e endereço de e-mail. Se o nome da empresa ou o número de telefone mudarem, você quer tratá-lo como um novo cliente? Provavelmente não. Em vez disso, você precisa de uma maneira de atualizar o registro existente ou acompanhar todas as alterações históricas nos valores.

Ao lidar com alterações de dados, o design da tabela varia dependendo se você optar por atualizar valores sem histórico ou controlar cada versão do histórico. Você aprenderá algumas práticas comuns a seguir, mas para começar com você precisa identificar se sua dimensão será uma dimensão de mudança lenta (SCD). Em outras palavras, você permitirá atualizações nos registros? Quando a resposta for sim, você deve adicionar campos de data adicionais à sua tabela. Esses campos de data ajudarão você a acompanhar quando os dados foram atualizados em seu banco de dados de análise.

Por exemplo, um SCD de cliente terá um conjunto de colunas que podem ser alteradas (1) e um conjunto de campos para controlar quando o registro foi adicionado e modificado (2).

Um exemplo de design de tabela de cliente com campos a serem alterados e campos de data realçados.