Bonjour,
Je suis actuellement en train de mettre en place une base de données.
Je récupère mes données à partir d'un fichier plat que j’envoie dans la table "TEMP" (ma table temporaire) et jusqu’à présent je faisais des Transformations directement sur ma table TEMP avant de charger les données dans mon modèle de base de données définitive...
Depuis peu, je me demande si c'est bien la démarche à suivre, à savoir est ce qu'il faut bien modifier mes données directement sur la table TEMP ou faut-il modifier les données pendant le chargement dans mes tables définitives (tables des faits et dimensions) ?
Exemple :
- Si je veux supprimer les erreurs contenues dans mon fichier source est ce que je dois faire une requête sur la table TEMP puis une fois ma table TEMP propre je charge les données ?
Ou une fois que j'ai extrait mes données dans la table TEMP, je dois faire une sorte de filtre afin que les erreurs soient supprimées et en mm temps injecter... ?
Autre exemple :
- Je voudrais ajouter une chaine de caractère ("voiture" ou "moto") dans une nouvelle colonne TYPE_DESC à partir d'une colonne TYPE contenant la lettre V pour les voitures et M pour les Motos... Mais je ne sais si je dois créer cette colonne en premier dans ma table TEMP pour pouvoir ensuite faire une jointure afin d’insérer les données dans ma dimension TYPE_DE_VEHICULE ?
ou autrement ?
En résumé je me demande si j'ai "le droit" (je me doute bien que je peu faire ce que je veux) d'ajouter des champs dans ma table temporaire ou si il ne faut pas y toucher ?
J'avais cru comprendre que l'on devait préparer les données dans la Staging Area puis charger les données dans le Data warehouse donc je suppose que les seuls modifications a faire sont à faire dans la Staging Area ?
A partir de mon DW, je ne feraique créer mon hypercube puis créer mes vues et mes agrégats ?
Est-il possible que quelqu'un puisse éclairer ma lanterne sur toutes ces questions ?
Merci beaucoup d'avance !
Partager