Méthodologie de gestion du SCD
L'éditeur SCD permet de construire de manière simple le flux de sortie des données SCD. Dans l'éditeur SCD, vous pouvez relier les colonnes, sélectionner la clé de substitution (Surrogate key) et paramétrer les attributs des colonnes modifiées en combinant les différents types de modifications SCD. La figure ci-dessous représente l'éditeur SCD.
Clés SCD
Vous devez sélectionner une ou plusieurs colonnes qui serviront de clés permettant d'assurer l'unicité des données entrantes.
Vous devez aussi sélectionner une colonne sur laquelle positionner une clé de substitution (surrogate key) dans la table SCD et la relier à une des colonnes d'entrée de la table source. La valeur de la clé de substitution permet de relier les enregistrements de la table source aux enregistrements de la table SCD. L'éditeur utilise ce mapping pour localiser l'enregistrement dans la table SCD et pour déterminer si un enregistrement est nouveau ou s'il a été modifié. La clé de substitution est généralement la clé primaire de la table source, mais elle peut aussi correspondre à une autre clé à partir du moment où elle permet d'identifier de façon unique un enregistrement et où ses valeurs ne changent pas.
Source keys : glissez une ou plusieurs colonnes du panneau Unused vers le panneau Source keys. Ces colonnes seront utilisées en tant que clé(s) assurant l'unicité des données entrantes.
Surrogate keys : paramétrez la colonne dans laquelle la clé de substitution générée sera stockée. Une clé de substitution peut être générée à partir de la méthode sélectionnée dans la liste Creation.
Creation : sélectionnez une des méthodes suivantes permettant de générer la clé.
-
Auto increment : la clé est auto-incrémentée.
-
Input field : la clé est fournie par un champ d'entrée.
Lorsque cette méthode est sélectionnée, vous pouvez glisser le champ correspondant du panneau Unused vers le champ complement.
-
Routine : à partir du champ complement, vous pouvez appuyer sur Ctrl+ Espace afin d'afficher la liste d'auto-complétion et de sélectionner la routine appropriée.
-
Table max +1 : la valeur maximum de la table SCD est incrémentée pour créer une clé de substitution.
-
DB Sequence : à partir du champ complement, vous pouvez saisir le nom de la séquence de la base de données (DB Sequence) existante qui va incrémenter automatiquement la colonne indiquée dans le champ name.
L'option DB Sequence est disponible uniquement depuis l'éditeur SCD Editor du composant tOracleSCD.
Types de SCD
Il existe quatre types de dimensions à évolution lente (Slowly Changing Dimensions) : du Type 0 au Type 3. Vous pouvez, d'un simple glisser-déposer, appliquer n'importe quel type de SCD à n'importe quelle colonne de la table source.
-
Type 0 : ce type de SCD n'est pas utilisé fréquemment. Certaines données dimensionnelles peuvent être écrasées et d'autres peuvent rester inchangées au cours du temps. Ce type de SCD convient lorsque aucun effort n'a été mis en place pour gérer les dimensions à caractère évolutif.
-
Type 1 : aucun historique n'est conservé dans la base de données. Les nouvelles données écrasent les anciennes. Utilisez ce type si le suivi des modifications n'est pas nécessaire. Ce type est particulièrement utile lors de la correction de fautes de frappe, par exemple dans l’orthographe d'un nom.
-
Type2 : l'intégralité de l'historique est stockée dans la base de données. Ce type de SCD traque les données d'historique en enregistrant un nouvel enregistrement dans la table de dimension avec une nouvelle clé à chaque fois qu'un changement est effectué. Ce type de SCD convient lorsque l'on traque les mises à jour, par exemple.
-
Type 3 : seules les informations sur l'ancienne valeur d'une dimension est écrite dans la base de données. Ce type de SCD traque les changements en utilisant des colonnes séparées. Ce type de SCD convient lorsque l'on traque les valeurs précédentes d'une colonne qui change.
Le principe du SCD Type 2 réside dans le fait qu'un nouvel enregistrement est ajouté à la table SCD lorsqu'un changement est détecté dans les colonnes sélectionnées. Notez que bien que plusieurs changements peuvent être effectués au même enregistrement sur plusieurs colonnes paramétrées en Type 2, une seule ligne traquant ces changements est ajoutée à la table SCD.
Le schéma du SCD Type 2 devrait inclure des colonnes spécifiques au SCD contenant les informations de log standard, notamment:
- start : ajoute une colonne au schéma de la table SCD contenant la date de début d'un enregistrement. Vous pouvez sélectionner une des colonnes du schéma d'entrée comme date de départ pour la table SCD.
- end : ajoute une colonne au schéma de la table SCD contenant la date de fin d'un enregistrement. Lorsque l'enregistrement est en cours, la date de fin est de valeur NULL, sinon vous pouvez utiliser une année fixe en sélectionnant Fixed Year Value dans la liste et renseignez l'année fictive dans la cellule d'à côté pour éviter d'avoir une valeur nulle dans le champ de date de fin. Note InformationsRemarque : La colonne end identifie les enregistrements actifs. La valeur de l'identifiant de substitution est réinitialisée lorsque la valeur de la colonne end est modifiée. Pour éviter les doublons dans les identifiants de substitution, assurez-vous que la valeur de la colonne end reste inchangée dans la table cible.
- version : ajoute une colonne au schéma de la table SCD contenant le numéro de version de l'enregistrement.
- active : ajoute une colonne au schéma de la table SCD contenant les statuts true ou false. Cette colonne permet de repérer facilement les enregistrements actifs.