Vous êtes sur la page 1sur 11

Ministère de l’Enseignement Supérieur, de la Recherche Scientifique et de l’Innovation

(M.E.S.R.I)
------------------
Secrétariat Général
------------------
Université Pr Joseph KI-ZERBO (U.J.K.Z)

Unité de Formation et de Recherche en Sciences Exactes et Appliquées (UFR/SEA)


Département Informatique
MASTER 2

COURS/S3 : Entrepôt de données


Enseignant : Dr Yaya TRAORE
RAPPORT DE PROJET

PROJET :
CREATION D’UN ENTREPOT DE
DONNEES

Etudiant : Mamadou ZO

Année académique 2020-2021


Table des matières
Introduction ............................................................................................................................................ 3
I. Etude préalable ............................................................................................................................... 4
1. Objectifs ...................................................................................................................................... 4
2. Démarche .................................................................................................................................... 4
3. Sources de données .................................................................................................................... 4
4. Dimensions.................................................................................................................................. 5
5. Les faits........................................................................................................................................ 6
II. Modélisation ................................................................................................................................... 6
1. Niveau logique ............................................................................................................................ 6
2. Niveau conceptuel ...................................................................................................................... 7
III. Alimentation ............................................................................................................................... 7
1. Talend Open Studio(TOS) for Data Integration ......................................................................... 7
2. Alimentation de la table dim_client (dimension client) ............................................................ 7
3. Alimentation de la table dim_produit (dimension produit) ..................................................... 8
4. Alimentation de la table dim_temps (dimension temps) ......................................................... 8
5. Alimentation de la table vente (fait vente) ............................................................................... 9
Conclusion ............................................................................................................................................. 11
Introduction
L’utilisation quotidienne des appareils informatiques (portables, ordinateurs, serveurs, etc.) ainsi que
celle des objets connectés génère données en quantité énorme sur internet. Le problème avec ces
données brutes est qu’a priori nous n’en tirons aucune connaissance et il est difficile d’apercevoir les
relations entre elles. C’est pour résoudre ce problème que le concept d’informatique décisionnelle ou
Business Intelligence(BI) a été inventé. L’informatique décisionnelle est un ensemble de concepts, de
techniques et d’outils mis en place pour construire un entrepôt de données à partir des données jugées
importantes puis de faire des analyses pour prendre des décisions à base de ces analyses. Dans ce
projet nous allons nous contenter de construire un entrepôt de données à partir des bases de
données(BD) sources. Cependant qu’est-ce qu’un entrepôt de données ? comment construit-on un
entrepôt de données et a quoi va-t-il nous servir ?

Pour répondre à ces questions, nous avons divisé ce projet en trois parties. La première partie qui est
une étude préalable consiste à déterminer les informations qui nous aidera pour la modélisation. La
seconde partie qui est la modélisation consiste à déterminer le schéma de notre entrepôt de données.
La troisième partie consiste à implémenter l’entrepôt de données et à l’alimenter.
I. Etude préalable
1. Objectifs
A partir des bases de données FRINGUES_CLIENTS et BASE_GEO, nous devons créer l’entrepôt de
données permettant d’effectuer l’analyse des ventes réalisées auprès des clients. Plus précisément,
pour chaque vente de produit à un client, nous souhaitons disposer des deux critères d’analyse
suivants :

 Le montant total TTC de l’achat ;


 La quantité de produits (nombre d’exemplaires) vendue.

Cette analyse devra s’effectuer au travers des axes suivants :

 L’axe PRODUIT regroupant la désignation, la marque, le Taux de TVA, la catégorie et le


secteur ;
 L’axe CLIENT regroupant le nom, le prénom, l’identifiant de la ville (ex. Pau-64), le code de
département (ex. 2A) et la région (ex. Midi-Pyrénées) ;
 L’axe TEMPS regroupant la date (jour+mois+année), l’identifiant de mois (mois+année) et
l’année.

2. Démarche
3. Sources de données
D’après les objectifs, nous allons utiliser les données provenant des BD FRINGUES_CLIENTS et
BASE_GEO qui sont accessibles à l’adresse suivante : http://www.irit.fr/~Gilles.Hubert/supports.

Figure 1 : Les BD sources

Comme l’illustre le figure ci-dessus, ce sont des BD Access dont les schémas sont montrés par les
figures suivantes.
Figure 2: Schéma de la BD FRINGUES_CLIENTS

Figure 3: schéma de la BD BASE_GEO

Dans la pratique nous avons utilisé MySQL au lieu d’Access à cause des problèmes techniques. Nous
avons donc transféré ces BD Access vers MySQL et nous avons travaillé avec les BD sous MySQL.

4. Dimensions
Lorsqu'on fait un schéma de BD pour un système d'information classique, on parle en termes de tables
et de relations, une table étant une représentation d'une entité et une relation une technique pour
lier ces entités. Et bien en entrepôt de données, on parle en termes de Dimension et de Faits. C'est
une autre approche des données, on entend par dimensions les axes avec lesquels on veut faire
l'analyse. Dans notre cas, les dimensions utilisées pour faire l’analyse des ventes sont :

 La dimension client ;
 La dimension produit ;
 La dimension temps
5. Les faits
Les faits, en complément aux dimensions, sont ce sur quoi va porter l'analyse. Ce sont des tables qui
contiennent des informations opérationnelles et qui relatent la vie de l'entreprise. Un fait est tout ce
qu'on voudra analyser. Dans notre projet, ce sont les ventes que vous voudrons analyser. Nous avons
donc un seul fait qui est vente.

II. Modélisation
Dans la partie précédente, nous avons déterminer les objectifs de notre entrepôt, les sources de
données, les dimensions et le fait. Dans cette partie, nous allons déterminer les différentes
informations que va contenir les dimensions ainsi que celles des faits puis nous déterminerons les
relations entre les dimensions et les faits.

1. Niveau logique
 La dimension produit
o Id_produit : c’est l’identifiant du produit ;
o Designation : le nom du produit ;
o Marque : la marque du produit ;
o prixUnit : le prix unitaire du produit ;
o tauxTVA : le taux TVA ;
o categorie : la classe du produit ;
o Secteur : le secteur du produit.

 La dimension client
o Id_client : l’identifiant du client ;
o Nom : le nom du client ;
o Prenom : le prénom du client ;
o Id_ville : l’identifiant de la ville du client ;
o Code_dept : le code du département du client ;
o Region : la région ou est situé le client.

 La dimension temps
o Date : la date d’achat du produit par le client ;
o id_mois : contient seulement le mois et l’année de la date d’achat du produit ;
o Annee : contient seulement l’année de la date d’achat du produit.

 Le fait vente
o Id_produit de la dimension produit ;
o Id_client : de la dimension client ;
o Id_temps : de la dimension temps ;
o montantTTC : le montant total TTC de l’achat ;
o quantite : la quantite de produits vendue.
2. Niveau conceptuel
Le type de schéma que nous avons opté pour notre entrepôt de données est le schéma en étoile car
nous ne disposons que d’une seule table de fait et toutes les dimensions sont reliées directement à
cette table de fait. La figure suivante illustre le schéma en Etoile de notre entrepôt de données.

Figure 4 : Schéma en étoile de l'entrepôt de données

III. Alimentation
Dans cette partie nous allons implémenter l’entrepôt de données suivant le schéma défini dans la
section précédente et alimenter l’entrepôt en utilisant l’outil Talend.

1. Talend Open Studio(TOS) for Data Integration


TOS est un ETL (Extraction, Transformation and Loading) open source qui contient toute les
fonctionnalités nécessaires pour l’extraction, la transformation et le chargement des données de
diverses sources vers des cibles qui peuvent être des entrepôts de données. L’exécution des taches
ETL se fait grâce aux jobs. Un job est un ensemble de composants reliés les uns aux autres de sorte à
exécuter une tache précise.

Pour notre projet, nous avons utilisé la version 7.3.1 de TOS. Nous avons conçu un job qui contient des
sous-job.

2. Alimentation de la table dim_client (dimension client)


Nous commençons par alimenter la dimension client. Etant donné que cette dimension contient des
informations qui proviennent de différentes sources, nous avons eu besoin de 5 tables pour l’alimenter
Figure 5 : sous-job chargé d’alimenter la dimension client

Après exécution du job, la table dim_client est créée puis des enregistrements y sont insérés. La
figure ci-dessus nous montre que 30 lignes ont été insérées.

3. Alimentation de la table dim_produit (dimension produit)


L’alimentation de la dimension produit est plus facile car toutes ces données proviennent
uniquement de la table produit de la BD FRINGUEE_CLIENTS et en plus il n’y a pas de transformation.
Il s’agit juste d’une extraction et d’une insertion comme le montre le sous-job suivant.

Figure 6 : Sous-job chargé d'alimenter la dimension produit

4. Alimentation de la table dim_temps (dimension temps)


La dimension temps est alimentée à partir de la table facture de la BD FRINGUEE_CLIENTS. Les données
extraites ont nécessité une transformation, c’est pourquoi nous avons inséré le composant tMap entre
la source et la cible comme le montre la figure suivant.
Figure 7 : Sous-job chargé d'alimenter la dimension temps

5. Alimentation de la table vente (fait vente)


La table de fait vente contient des informations sur l’id du client, du produit et la date d’achat du
produit. En plus, elle contient la montant total et la quantité des produits acheté par un client. Toutes
ces informations proviennent des tables produit, client, référencer et facture. Pour obtenir cette table
de fait nous avons procédé en deux étapes. Premièrement, nous avons rassemblé tous les champs
concernés dans une table intermédiaire grâce à une jointure du composant tMap (figure 8)

Figure 8 : Sous-job chargé d'alimenter la table intermédiaire vente


Deuxièmes, nous avons extrait de la table intermédiaire les colonnes id_produit, id_client, date,
montantTTC et quantite selon la requête suivante :

SELECT
`vente`.`id_produit`,
`vente`.`id_client`,
`vente`.`date_facture` AS id_temps,
sum(`vente`.`quantite`) AS quantite,
sum(((quantite*prixUnitHT)-remise/100)*(1+tauxTVA)) AS montantTTC
FROM `vente`
GROUP BY date_facture, id_produit, id_client

Puis nous avons placé les données extraites dans une table vente (figure 9).

Figure 9 : Sous-job chargé d'alimenter la table vente


Conclusion
L’entrepôt de données est une base de données dédiée au stockage de l'ensemble des données
utilisées dans le cadre de la prise de décision et de l'analyse décisionnelle. Nous avons suivi trois étapes
pour construire notre entrepôt de données : l’étude préalable, la modélisation et l’alimentation. Au
terme de ce processus nous avons obtenu un entrepôt de données contenant trois dimensions
(produit, client et temps) et un fait vente. La difficulté dans ce projet a été d’extraire les données
provenant de différentes tables et d’alimenter la table vente. Par la suite, nous comptons nous servir
de cet entrepôt de données pour faire des analyses décisionnelles.

Vous aimerez peut-être aussi