Dimensions à changement lent (SCD) – dimensions qui changent lentement au fil du temps, plutôt que de changer sur le calendrier régulier, la base de temps. Dans Data Warehouse, il est nécessaire de suivre les changements dans les attributs de dimension afin de signaler les données historiques. En d’autres termes, l’implémentation de l’un des types SCD devrait permettre aux utilisateurs d’attribuer la valeur d’attribut de dimension appropriée pour une date donnée. Exemple de ces dimensions pourrait être: client, géographie, employé.,
Il existe de nombreuses approches pour traiter le SCD. Les plus populaires sont:
- Type 0 – Le passif de la méthode
- Type 1 – Écraser l’ancienne valeur
- Type 2 – la Création d’un nouvel enregistrement supplémentaire
- Type 3 – Ajout d’une nouvelle colonne
- Type 4 – à l’Aide de tableau historique
- Type 6 – Combinent des approches de types 1,2,3 (1+2+3=6)
Type 0 – Le passif de la méthode. Dans cette méthode, aucune action spéciale n’est effectuée lors des changements dimensionnels. Certaines données de dimension peuvent rester les mêmes qu’elles ont été insérées pour la première fois, d’autres peuvent être écrasées.,
Type 1 – écraser l’ancienne valeur. Dans cette méthode, aucun historique des changements de dimension n’est conservé dans la base de données. L’ancienne valeur de dimension est simplement écrasée par la nouvelle. Ce type est facile à maintenir et est souvent utilisé pour les données dont les changements sont causés par le traitement des corrections(par exemple, suppression de caractères spéciaux, correction de fautes d’orthographe).,
Avant le changement:
Customer_ID | Customer_Name | Client_type |
---|---|---|
1 | Cust_1 | Entreprise |
Après le changement:
Customer_ID | Customer_Name | Client_type |
---|---|---|
1 | Cust_1 | Détail |
de Type 2 – la Création d’un nouvel enregistrement., Dans cette méthodologie, tout l’historique des changements de dimension est conservé dans la base de données. Vous capturez le changement d’attribut en ajoutant une nouvelle ligne avec une nouvelle clé de substitution à la table de dimension. Les lignes précédentes et nouvelles contiennent comme attributs la clé naturelle (ou un autre identifiant durable). Les colonnes « Date d’entrée en vigueur » et « indicateur actuel » sont également utilisées dans cette méthode. Il pourrait y avoir un seul enregistrement avec l’indicateur actuel réglé sur ‘Y’. Pour les colonnes’ Date d’entrée en vigueur’, c’est-à-dire start_date et end_date, la end_date pour l’enregistrement en cours est généralement définie sur la valeur 9999-12-31., L’introduction de modifications au modèle dimensionnel dans le type 2 pourrait être une opération de base de données très coûteuse, il n’est donc pas recommandé de l’utiliser dans les dimensions où un nouvel attribut pourrait être ajouté à l’avenir.,
avant le changement:
Customer_ID | Customer_Name | Customer_Type | Start_Date | End_Date | nous vous invitons à nous contacter pour plus D’informations sur la façon dont nous vous proposons de vous inscrire sur notre site Internet.d8666921e2″>
après la modification: Type 3 – ajout d’une nouvelle colonne. Dans ce type, seules les valeurs actuelles et précédentes de dimension sont généralement conservées dans la base de données., La nouvelle valeur est chargé dans ‘actuel/nouvelle colonne et l’ancien » vieux/précédent » de la colonne. D’une manière générale, l’historique est limité au nombre de colonnes créées pour stocker des données historiques. C’est la technique la moins couramment nécessaire.,iv id= »2f5bdb6350″> |
---|---|---|---|---|---|
Customer_ID | Customer_Name | Current_Type | Previous_Type | ||
1 | Cust_1 | Entreprise | Entreprise |
Après le changement:
Customer_ID | Customer_Name | Current_Type | Previous_Type |
---|---|---|---|
1 | Cust_1 | Détail | Entreprise |
Type 4 – à l’Aide de tableau historique., Dans cette méthode, une table historique distincte est utilisée pour suivre tous les changements historiques d’attributs de dimension pour chacune des dimensions. La table de dimension ‘main’ ne conserve que les données actuelles, par exemple les tables customer et customer_history.
tableau en cours:
Customer_ID | Customer_Name | Client_type |
---|---|---|
1 | Cust_1 | Entreprise |
Historique de la table:
de Type 6 – Combinent des approches de types 1,2,3 (1+2+3=6)., Dans ce type, nous avons dans la table de dimension des colonnes supplémentaires telles que:
- current_type – pour conserver la valeur actuelle de l’attribut. Tous les enregistrements d’historique pour un élément d’attribut donné ont la même valeur actuelle.
- historical_type – pour conserver la valeur historique de l’attribut. Tous les enregistrements d’historique pour un élément d’attribut donné peuvent avoir des valeurs différentes.
- start_date – pour conserver la date de début de la « date d’entrée en vigueur » de l’historique de l’attribut.
- end_date – pour conserver la date de fin de la « date d’entrée en vigueur » de l’historique de l’attribut.,
- current_flag – pour conserver des informations sur l’enregistrement le plus récent.
dans cette méthode pour capturer le changement d’attribut, nous ajoutons un nouvel enregistrement comme dans le type 2. Les informations current_type sont écrasées par la nouvelle comme dans le type 1. Nous stockons l’Historique Dans un historical_column comme dans le type 3.