Quais tipos de SCD existem e como se forma a historicidade nas tabelas?
sobes.tech IA
Resposta da IA
SCD (Dimensão de Mudança Lenta) são métodos de gestão de alterações em dimensões (por exemplo, em tabelas de referência) em armazéns de dados, para manter a historicidade dos dados.
Principais tipos de SCD:
-
Tipo 1 (Sobrescrever): Quando os dados mudam, o valor antigo é simplesmente sobrescrito pelo novo. A historicidade não é preservada.
-
Tipo 2 (Adicionar registo): Quando os dados mudam, é criado um novo registo com o novo valor, e o antigo mantém uma marca de tempo ou um indicador que mostra que está obsoleto. Assim, mantém-se o histórico de alterações.
-
Tipo 3 (Adicionar coluna): São adicionadas colunas adicionais à tabela para armazenar valores anteriores (por exemplo, "valor antigo", "data de alteração"). A historicidade é limitada a um número fixo de alterações.
-
Tipo 4 (Tabela histórica): A tabela principal armazena apenas os dados atuais, enquanto uma tabela histórica separada contém todas as alterações.
-
Tipo 6 (Híbrido): Combinação dos tipos 1, 2 e 3 para uma gestão mais flexível da historicidade.
A formação da historicidade nas tabelas geralmente ocorre através da adição de marcas temporais (por exemplo, datas de início e fim de validade do registo), flags de atividade ou números de versão. Isto permite rastrear quais os dados que eram atuais num dado momento.
Exemplo para SCD Tipo 2:
| ID | Nome | Data_início | Data_fim | Ativo |
|---|---|---|---|---|
| 1 | Ivan | 2020-01-01 | 2021-06-30 | Não |
| 1 | Ivanov | 2021-07-01 | NULL | Sim |
Aqui, ao alterar o sobrenome, cria-se um novo registo com uma nova data de início, e o antigo é marcado como inativo.