activite data ware house, Exercises of Data Warehousing

activite data ware house + correction

Typology: Exercises

2020/2021

Uploaded on 03/23/2021

mariem-2
mariem-2 🇹🇳

5 documents

1 / 6

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Entrepôts de données Activité 3.1
1
Année Universitaire 2020-2021
2ème année CS -GLSI
Entrepôts de données Activité 3.1
R. ZAAFRANI, 20/02/2021
Cas Fantastic : Problème posé
Vous travaillez en tant qu'ingénieur spécialisé dans les systèmes décisionnels au
siège de l'entreprise française "Fantastic".
L'entreprise "Fantastic" vend principalement des ouvrages de divertissement de
type science fiction, thriller, policier... Elle dispose pour cela de plusieurs magasins
de vente dans les centres des grandes villes en France.
La direction de l'entreprise souhaite faire une étude large sur les ventes de l'année
passée afin de prendre des orientations stratégiques nouvelles : ouverture de
nouveaux magasins, fermeture ou transfert de magasins mal implantés, extension
territoriale à de nouveaux départements français, réorganisation des directions,
réorientation du marketing, élargissement ou réduction du catalogue, etc.
La question posée est donc : quels sont les facteurs sur lesquels l'on pourrait
jouer pour augmenter les ventes ?
Elle vous charge dans ce cadre de mettre en place une solution logicielle
permettant d'intégrer les données pertinentes et de pouvoir les interroger
efficacement sous des angles divers.
Notons que bien entendu, la direction éclairée de l'entreprise ne compte pas se fier
à ces seuls facteurs de ventes pour prendre ses décisions, mais bien privilégier les
facteurs sociaux et territoriaux, en dialoguant avec ses salariés et ses clients, pour
maintenir sa mission culturelle et son rôle d'entreprise citoyenne. Votre posture
d'ingénieur est bien entendu de se préoccuper de ces dimensions fondamentales,
même si elles seront largement ignorées dans le cadre de cet exercice à vocation
essentiellement technique. Elles pourront néanmoins être brièvement abordées en
marge de vos rapports d'analyse.
Cas Fantastic : Données disponibles
- Catalogue des livres
Une base Oracle contient le catalogue complet de l'entreprise que chaque magasin
a à sa disposition. Cette base, composée d'une seule table publique catalogue,
est disponible sur le serveur Oracle.
Le script (FantasticCatalogue.sql) de Création de la table Catalogue est :
CREATE TABLE catalogue (
I N S T I T U T
S U P E R I E U R
INFORMATIQUE
ةـيــملاـعلإل يـلاـعلا دـهعمـلا
ISI
pf3
pf4
pf5

Partial preview of the text

Download activite data ware house and more Exercises Data Warehousing in PDF only on Docsity!

Année Universitaire 2020 - 2021 2ème année CS - GLSI Entrepôts de données – Activité 3. 1 R. ZAAFRANI, 20 / 02 / 2021

Cas Fantastic : Problème posé

Vous travaillez en tant qu'ingénieur spécialisé dans les systèmes décisionnels au siège de l'entreprise française "Fantastic". L'entreprise "Fantastic" vend principalement des ouvrages de divertissement de type science fiction, thriller, policier... Elle dispose pour cela de plusieurs magasins de vente dans les centres des grandes villes en France. La direction de l'entreprise souhaite faire une étude large sur les ventes de l'année passée afin de prendre des orientations stratégiques nouvelles : ouverture de nouveaux magasins, fermeture ou transfert de magasins mal implantés, extension territoriale à de nouveaux départements français, réorganisation des directions, réorientation du marketing, élargissement ou réduction du catalogue, etc. La question posée est donc : quels sont les facteurs sur lesquels l'on pourrait jouer pour augmenter les ventes? Elle vous charge dans ce cadre de mettre en place une solution logicielle permettant d'intégrer les données pertinentes et de pouvoir les interroger efficacement sous des angles divers. Notons que bien entendu, la direction éclairée de l'entreprise ne compte pas se fier à ces seuls facteurs de ventes pour prendre ses décisions, mais bien privilégier les facteurs sociaux et territoriaux, en dialoguant avec ses salariés et ses clients, pour maintenir sa mission culturelle et son rôle d'entreprise citoyenne. Votre posture d'ingénieur est bien entendu de se préoccuper de ces dimensions fondamentales, même si elles seront largement ignorées dans le cadre de cet exercice à vocation essentiellement technique. Elles pourront néanmoins être brièvement abordées en marge de vos rapports d'analyse.

Cas Fantastic : Données disponibles

- Catalogue des livres Une base Oracle contient le catalogue complet de l'entreprise que chaque magasin a à sa disposition. Cette base, composée d'une seule table publique catalogue , est disponible sur le serveur Oracle. Le script ( FantasticCatalogue.sql) de Création de la table Catalogue est : CREATE TABLE catalogue ( I N S T I T U T S U P E R I E U R INFORMATIQUE الـمعهـد العـالـي لإلعـالمــيـة

ISI

ref INTEGER PRIMARY KEY, isbn VARCHAR(13) UNIQUE NOT NULL, title VARCHAR(255) NOT NULL, authors VARCHAR(255) NOT NULL, language VARCHAR(3), pubdate VARCHAR(25), publisher VARCHAR(255), tags VARCHAR(255), genre VARCHAR(255) CHECK (genre IN ('SF', 'Fantastic', 'Crime', 'History', 'Adventure')) );

- Fichier des ventes Un fichier contient une consolidation de l'ensemble des ventes de l'année 2015 réalisées dans chaque magasin. - Ces données sont disponibles sous la forme d'un fichier CSV : Fantastic - La structure du fichier est : Numéro de ticket, date de ticket, produit, magasin. Les données du fichier des ventes Fantastic fournies sont corrompues (valeurs nulles, valeurs tronquées, valeurs nullifiées). - Fichier des magasins Un fichier ODS géré par la direction marketing contient pour chaque magasin l'organisation des rayonnages : marketing.ods - Le responsable des ventes de chaque département décide de l'organisation des rayonnages des magasins de son département. - Il existe 3 types de rayonnage : par Auteur (A) , par Année (Y) , par Éditeur **(E)

  • Données géographiques sur les départements** Un stagiaire a trouvé sur Internet un fichier permettant de connaître la population de chaque département, présageant que cette information sera utile.
    • Le stagiaire parvient à trouver une information un peu datée qui pourra suffire sous la forme d'un fichier CSV : departementsInsee2003.txt (population par département)

Liste des départements français, 2003

Department Départements français métropolitains DptName Nom du département Population Population du département en 2003

  1. Créez une table externe pour le fichier Fantastic − Créez un nouvel objet DIRECTORY permettant de pointer sur le répertoire où il se trouve − Attention ce fichier est très volumineux, aussi ne faites pas de SELECT * dessus, sous peine d'attendre longtemps la fin de l'exécution (le serveur devant renvoyer plusieurs Mo de données). Faites des SELECT partiels avec la clause ROWNUM pour limiter les données à rapatrier et des select avec opérations de regroupement (min ou max typiquement). SELECT ... FROM ... WHERE rownum<=N; − Pour tester toutes les lignes : SELECT count(), min(...), max(...), max(...) ... ) Mise en place de la zone de traitement L'objectif est à présent de créer la BDT en RO. Les noms des tables et vues seront préfixés :
  • f_ dans le schéma bdt
  • ou f_bdt_ si vous ne disposez que d'un seul schéma pour toutes vos BD.
  1. Créez une table RO f_bdt_catalogue avec les attributs de la vue catalogue f_bde_catalogue et une méthode pour chaque attribut de la dimension produit. − Les méthodes ne sont pas implémentées pour le moment. − Pensez à déclarer les contraintes et index explicitement pour pouvoir les désactiver plus tard, avant les chargements massifs.
  2. Créez une table RO f_bdt_magasin destinée à recevoir la jointure des tables associées à marketing.ods et departementsInsee2003.txt. − Les départements ne sont pas identifiés exactement de la même façon dans les deux tables f_bde_dpt et f_bde_marketing, il n'est donc pas possible des les joindre directement. Une solution consiste à créer deux vues f_bdt_dpt et f_bdt_marketing qui vont permettre d'ajuster les valeurs avant la jointure. Par exemple : − La vue f_bdt_dpt renvoie directement les valeurs de f_bde_dpt (on peut éventuellement s'en passer) − La vue f_bdt_marketing renvoie des valeurs corrigées qui peuvent être jointes à f_bdt_dpt D'autres solutions auraient été : − De gérer la modification directement dans la requête INSERT vers f_bdt_magasin

− De faire l'insertion dans f_bdt_magasin via un script PL/SQL (qui traite les cas problématiques) − De copier les données de f_bde_marketing dans une table f_bdt_marketing, d'exécuter un script corrigeant les données, puis de faire le INSERT − ... − Pour traiter le problème des numéros de département qui sont de type 1, 2 ... au lieu de 01, 02... on peut utiliser un CASE dans un SELECT : 1 SELECT 2 CASE WHEN TO_NUMBER(dpt)<10 THEN '0'||TO_NUMBER(dpt) ELSE dpt END AS dpt, 3 ... 4 FROM f_bde_marketing;

  1. Créez une table RO f_bdt_date avec un seul attribut qui recevra les valeurs d'un select distinct dat ... depuis la table externe permettant d'accéder à data.csv.
  2. Créez une table RO f_bdt_vente pour alimenter la table des faits.
  3. Écrivez la procédure d'import BDE->BDT en suivant bien les étapes du processus de chargement. − Désactivez vos contraintes et index avant le chargement. − Vérifiez votre import (pas de rejet, vérification du nombre de lignes...) − Penser à valider votre transaction (COMMIT).
  4. Implémentez une première version des méthodes qui ne fera aucun traitement pour le moment : la méthode retourne soit un attribut sans transformation, soit une constante si ce n'est pas possible. *) Mise en place de la zone de d’exploitation L'objectif est à présent de créer le DW en R. Les noms des tables et vues seront préfixés :
  • f_ dans le schéma dw (f pour projet Fantastique) ;
  • ou f_dw_ si vous ne disposez que d'un seul schéma pour toutes vos BD.
  1. Réalisez l'implémentation SQL LDD de votre modèle dimensionnel de DW.
  2. Écrivez et testez la procédure d'import BDT->DW.
  3. Documentez votre processus ETL complet en effectuant une carte des données.