| Col1 | Col2 | Col3 |
|---|---|---|
| Classe : 1ère Aannée BADS | Examen de TP Atelier Système d’Information Décisionnel |
Durée : 1h30 |
Enseignante : Mme. I. BEN TARBOUT |
Enseignante : Mme. I. BEN TARBOUT |
A.U 2020-2021 |
DOCUMENTS NON AUTORISES
« Adventure Works Cycles » est une entreprise fictive qui fabrique et vend des vélos et des accessoires à des clients du monde entier. « Adventure Works Cycles » vend directement via un site Web de ecommerce, ainsi qu'à un réseau international de revendeurs. On s’intéressera dans cet examen uniquement aux ventes par internet. Toutes les informations sur ces ventes sont stockées dans la base de données de production « InternetSales »
Avant de commencer l’examen, il faudra restaurer toutes les bases de données se trouvant dans le dossier « BACKUP » ;
TRAVAIL A FAIRE :
1. On souhaite extraire tous les clients de l’entreprise ayant effectués des achats par internet et les
stocker dans la base de données « Staging ».
Publicité
Etapes à suivre :
- Créer un nouveau package ;
- Ajouter un composant « Data Flow Task » à votre package ; ce composant aura pour
mission de se connecter à la base de données de production « InternetSales » et en particulier à la table « Customers », de récupérer toutes les données sur les clients et de les stocker dans la table « Customers » de la base de données « Staging » ;
2. On souhaite maintenant récupérer toutes les informations sur les ventes par internet. Ces
informations se trouvent dans la base de données « Internet Sales ». A ces données on souhaite aussi rajouter une colonne calculée intitulée : « MontantVente » (le montant d’une vente est obtenu en multipliant le prix unitaire du produit par la quantité commandée)
Etapes à suivre : Ajouter un composant « Data Flow Task » au package créé précédemment ; Ce data flow aura pour objectifs :
- de récupérer toutes les données des ventes par internet de la base de données
Publicité
« InternetSales » (Indication : utiliser la requête SQL se trouvant dans le fichier « InternetSales.sql ») ;
- de rajouter une colonne calculée intitulée « MontantVente » aux données de
vente (Indication : Utiliser le composant « Derived Column transformation »). Le montant de vente est égal au prix unitaire multiplié par la quantité commandée.
3. On souhaite maintenant rajouter aux données de ventes déjà récupérées dans la question 2, les
informations sur les produits commandés ; l’idée consiste alors à joindre les données des ventes déjà récupérées avec les données de la base de données « Products » (Indication : utiliser la clé du produit pour la jointure) ; N. B : tous les produits qui n’ont pas de correspondance dans les ventes seront stockés dans un fichier (.csv)
Etapes à suivre :
- Ajouter un composant « Lookup Transformation » au data flow des ventes ; ce composant
Publicité
va se connecter à la base de données « Products » pour récupérer toutes les informations sur les produits vendus par internet (Indication : Utiliser la requête se trouvant dans le fichier « Products.sql »)
- Ajouter un composant « Flat File Destination » à votre data flow ; ce composant servira à
récupérer les produits non commandés par les clients et à les stocker dans le fichier « Orphaned Internet Sales.csv »
- Ajouter un composant « Flat File Destination » à votre data flow ; ce composant aura
pour objectif de récupérer les différentes informations sur les produits commandés et de les stocker dans la table « InternetSales » de la base de données « Staging »
A la fin de la question 3 :
- **le control flow** du package doit ressembler à l’imprime écran suivant :
- **le data flow des ventes par internet** doit ressembler à l’imprime écran suivant :
Publicité
1. On vous demande maintenant d’encapsuler les tâches de flux de données pour le flux de contrôle,
crée dans la partie 1, dans un conteneur de séquence afin de pouvoir les gérer comme une seule unité.
2. Maintenant, on souhaite implémenter le principe des transactions dans le conteneur de
séquence ; Faites alors le paramétrage nécessaire et mentionner-le dans votre document réponse ;
3. On souhaite maintenant créer un ETL incrémental qui identifiera les différents clients qui ont été
modifiés ou insérés entre les cycles d'actualisation de l'entrepôt de données et ce afin de restreindre les extractions de données uniquement aux lignes modifiées.
Donner les différentes techniques offertes par SSIS afin de créer cet ETL incrémental. Expliquez les grandes lignes de chacune des techniques. Question Bonus : Implémenter l’une des techniques proposées