0% ont trouvé ce document utile (0 vote)
149 vues18 pages

Exposé Entrepot

Ce document décrit les extensions du langage SQL utilisées pour l'analyse décisionnelle. Il présente les concepts clés comme ROLLUP, CUBE, GROUPING et les fonctions statistiques. Le document explique également l'architecture d'un système décisionnel et le rôle du SQL dans ce contexte.

Transféré par

brice ymel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
149 vues18 pages

Exposé Entrepot

Ce document décrit les extensions du langage SQL utilisées pour l'analyse décisionnelle. Il présente les concepts clés comme ROLLUP, CUBE, GROUPING et les fonctions statistiques. Le document explique également l'architecture d'un système décisionnel et le rôle du SQL dans ce contexte.

Transféré par

brice ymel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE DU CAMEROUN

REPUBLIC OF CAMEROON
Paix-Travail-Patrie
Peace-Work-Fatherland
*********
*********
MINISTERE DE L’ENSEIGNEMENT
MINISTERY OF HIGHER EDUCATION
SUPERIEUR
*********
*********
UNIVERSITY OF DSCHANG
UNIVERSITE DE DSCHANG
*********
*********
FACULTY OF SCIENCES
FACULTE DES SCIENCES
*********
*********
DEPARTMENT DE MATHEMATICS
DEPARTEMENT DE MATHEMATIQUES
&
&
COMPUTER SCIENCES
INFORMATIQUE
*********
*********

Code/Intitulé de la Matière : Entrepôts de Données (INF 418)

Option : RSD

Classe LMD : Master 1 (INF4)

THEME : EXTENSIONS DU SQL POUR LE


DECISSIONNEL
Présenté par :

NOMS & PRENOMS MATRICULES

FOKAM WAMBO G ERNEST CM-UDS-13SCI1264

KOUOKAM SIMO BRICE CM-UDS-16SCI1714

MBOUTCHEKA SILVAIN THIERRY CM-UDS-18SCI3236

MELA ROSINE ANASTASIE CM-UDS-18SCI3182

NGOULA NZEGA AURIOL ESPOIR CM-UDS-16SCI2557

RADJA FADILA CM-UDS-18SCI3001

Supervisé Par
Dr. BOMGNI

i
TABLE DES MATIERES

I- Définition......................................................................................................................................... 1

I.1- Enjeux du décisionnel ............................................................................................................. 1

1.2- Architecture d'un système décisionnel .................................................................................... 2

I.3- Technologie Utilisée (PostgreSQL) ........................................................................................ 3

1.4- Quelques exemples d'application ............................................................................................ 4

II- Présentation du langage SQL ...................................................................................................... 4

II .1- SQL Server Integration Services (SSIS) ............................................................................. 5

II.3- LE ROLE DU SQL ..................................................................................................................... 6

II.4- SQL Server Analysis Services................................................................................................. 7

III- Différentes extensions du SQL pour le décisionnel .................................................................... 7

a) ROLLUP ..................................................................................................................................... 7

b) CUBE .......................................................................................................................................... 8

c) GROUPING ................................................................................................................................ 9

d) RANKING................................................................................................................................... 9

e) WINDOWING .......................................................................................................................... 10

f) Fonctions statistiques ................................................................................................................ 10

g) CASE ......................................................................................................................................... 12

I- Conclusion ..................................................................................................................................... 14

BIBLIOGRAPHIE ................................................................................................................................ 15

ii
Table Des Figures

Figure 1: Cycle de décision.....................................................................................................2

Figure 2: Requête avec ROLLUP ...........................................................................................7

Figure 3: Résultats d'un rollup ................................................................................................8

Figure 4: Schema d'un cube ....................................................................................................8

Figure 5: Résultats d'une requête CUBE .................................................................................9

Figure 6: RANK ...................................................................................................................10

Figure 7: AVG......................................................................................................................10

Figure 8: COUNT.................................................................................................................11

Figure 9: MAX .....................................................................................................................11

Figure 10: MIN ....................................................................................................................11

Figure 11: SUM....................................................................................................................11

Figure 12: RANDOM ...........................................................................................................12

Figure 13: ROUND ..............................................................................................................12

Figure 14: CASE ..................................................................................................................13

iii
I- Définition

L’informatique décisionnelle (Business Intelligence) est un ensemble de moyens, méthodes,

outils permettant de collecter, consolider, modéliser, restituer les données matérielles ou

immatérielles d’une entreprise, en vue d’offrir une aide à la décision et de permettre aux

responsables de la stratégie d’entreprise et de son opérationnalisation d’avoir une vue

d’ensemble de l’activité traitée. La finalité d'un système décisionnel est le pilotage et

management de l'entreprise.

Synonymes : informatique décisionnelle, business intelligence, BI

I.1- Enjeux du décisionnel

Toutes les entreprises accumulent de grandes quantités de données au travers de leurs

systèmes d’informations, mais ces données ne deviennent des informations pertinentes pour

les décideurs que lorsqu’elles permettent de répondre à des questions sur l’entreprise et sur

son évolution. Pour être aidés dans leurs choix, les décideurs ont besoin de mesurer l’activité

de l’entreprise à l’aide d’indicateurs de performance (KPI). Il est donc nécessaire de

transformer la masse de données en provenance des multiples sources opérationnelles en

informations pertinentes pour la prise de décision. On développe des analyses de

performances à partir de données transformées à destinations de Chef des Ventes, de manager

sur le terrain.

L’informatique décisionnelle a pour démarche de connaitre, mesurer, prévoir et agir dans le

seul but de définir la stratégie de l’entreprise. La prise de décisions stratégiques dans une

organisation nécessite le recours et le croisement de multiples informations qui concernent

tous les départements : production, RH, DAF, achats, ventes, marketing, service après-vente,

maintenance, R&D... Or ces données sont généralement :

1
 Éparpillées au sein des départements et non connectées entre elles

 Hétérogènes dans leurs formats techniques et leurs organisations structurelles, voire leurs

sémantiques implémentées pour l'action (par construction) et non pour l'analyse

 Volatiles, au sens où leur mise à jour peut conduire à oublier des informations obsolètes

Figure 1: Cycle de décision

1.2- Architecture d'un système décisionnel

Le but du système est globalement d'être capable de présenter des tableaux de données

(fichiers plats) en intrants des applications d'exploitation. Tout système décisionnel est

architecturé globalement de la même façon :

 En amont un accès au système transactionnel en lecture seule

 Un DW fusionnant les données requises

 Un ETL permettant d'alimenter le DW à partir des données existantes

 Des applications d'exploitation de reporting, exploration et/ou prédiction

 D'éventuels DM permettant de simplifier le DW en vue de certaines applications

2
I.3- Technologie Utilisée (PostgreSQL)

PostgreSQL est un système de gestion de base de données relationnelle et objet

(SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD. Ce

système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres

(comme MariaDB et Firebird), ou propriétaires (comme Oracle, MySQL, Sybase, DB2,

Informix et Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL

n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de

développeurs et d'entreprises.

Avantages Inconvénients

Open Source Non disponible par défaut sur tous les hébergeurs

Hautement extensible Documentation extensible en anglais seulement

Largement conforme à la norme SQL Vitesse de lecture relativement faible

Traitement possible de types de données

complexes (par ex : géo données)

Recherche de texte flexible

Possibilité de créer ses propres fonctions,

déclencheurs, types de données, etc.

Bon support du langage (Python, Java, Perl,

PHP, C, C, C++ etc)

Supporte JSON

Cross-plateforme

3
1.4- Quelques exemples d'application

 Analyse du comportement de consommateurs ou de citoyens, en fonction de leurs

caractéristiques (sexe, age...), de critères socio-économiques (profession...),

géographiques

 Analyse de ventes en fonction de l'implantation géographique de magasins (densité,

caractéristiques des régions...), de l'organisation de magasins (rayonnage, marketing,

RH...)

 Analyse des structures de paniers (quel produit est vendu en même temps que quel autre à

quelles conditions ?)

 Prédiction de ventes en fonctions de données conjoncturelles, gestion des stocks, des

approvisionnements

 Contrôle qualité et analyse de défaut des chaînes de production en fonction des centres de

production, des organisations, des fournisseurs...

II- Présentation du langage SQL

Le langage SQL (Structured Query Language) est un langage informatique utilisé pour

exploiter des bases de données. Il permet de façon générale la définition, la manipulation et le

contrôle de sécurité de données.

Dans la pratique, le langage SQL est utilisé pour créer des tables, ajouter des enregistrements

sous forme de lignes, interroger une base de données, la mettre à jour, ou encore gérer les

droits d'utilisateurs de cette base de données. Il est bien supporté par la très grande majorité

des systèmes de gestion de base de données (SGBD). Créé au début des années 1970 par

Donald D. Chamberlin et Raymond F. Boyce, tous deux chez IBM, le langage SQL est

aujourd'hui reconnu comme une norme internationale.

4
De nombreuses bases de données s'appuient sur le langage SQL. C'est le cas de MySQL qui

fait partie de la suite de logiciels libres LAMP, mais aussi des serveurs de base de données

Oracle, D2B, Microsoft SQL Server, etc.

SQL fait partie de la même famille que les langages SEQUEL (dont il est le descendant),

QUEL (intégré à Ingres) ou QBE (Zloof).

SQL Server Management 2014, produit par Microsoft est un système de gestion de bases de

données relationnelles. Le stockage, la manipulation et l’analyse de ces données se font au

sein de son moteur de bases de données. Ce service permet la réalisation de nombreuses

applications, requêtes, et transactions, notamment grâce au langage T-SQL (Transact-SQL).

En plus son moteur, SQL Server contient trois plateformes, indispensables pour réaliser un

projet BI :

 Integration Services, qui permet d’intégrer des données provenant de différentes sources

pour les ranger dans un entrepôt central ;

 Analysis Services, qui permet d’analyser les données, agrégées lors de S.S.I.S., grâce à

des fonctions d’analyse multidimensionnelle ;

 Reporting Services, qui permet de créer, gérer et publier des rapports résultant des

analyses réalisées lors de S.S.A.S. ;

II .1- SQL Server Integration Services (SSIS)

SQL Server Integration Services est donc la première plateforme à aborder. Dans cette partie

seront expliquées les notions propres à I.S. : l’ETL, les packages et les tâches d’intégration.

L’ETL ou notre DataBase CoreStaging, une fois la structure du datawarehouse définie, les

données doivent être insérées. L’outil qui va permettre le remplissage de notre base est l’ETL

(Extract- Transform-Loading) grâce à la techno SSIS. Comme son nom l’indique, il

5
commence par extraire les données provenant de différentes sources (Excel, MySQL...), les

transforme si besoin est, puis les charge dans le datawarehouse qui sera par la suite le

CoreSystem.

Ce processus se déroule donc en trois étapes :

 Extraction des données à partir d’une ou plusieurs sources de données telles que fichier

plat, fichier brut, OLE DB (source relationnelles telles que SQL Server, Access...),

Excel...

 Transformation des données agrégées.

 Chargement des données dans la banque de données de destination (datawarehouse). La

phase d’ETL est ici incontournable car elle conditionne et influence la qualité du projet

par la suite.

II.3- LE ROLE DU SQL

Le rôle du SQL est utile pour administrer les privilèges lorsqu'une base de données compte

plusieurs utilisateurs. Les rôles constituent un moyen plus puissant d'octroi de privilèges aux

sessions d'utilisateurs que d'attribution de privilèges à chaque utilisateur de la base de

données, ce qui devient facilement fastidieux et source d'erreurs lorsque de nombreux

utilisateurs sont impliqués. Les rôles ne confèrent pas en eux-mêmes une meilleure sécurité

des bases de données, mais utilisés correctement, ils facilitent une meilleure sécurité. Seul le

propriétaire de la base de données peut créer, octroyer, révoquer et supprimer des rôles.

Toutefois, les propriétaires d'objets peuvent octroyer et révoquer des privilèges pour ces

objets vers et depuis des rôles, ainsi que vers et depuis des utilisateurs individuels et PUBLIC

(tous les utilisateurs).

6
II.4- SQL Server Analysis Services

SQL Server Analysis Services est la plateforme qui permet de créer et gérer des structures

multidimensionnelles et des modèles d’exploration de données. Pour cela, Analysis Services

fournit des fonctions OLAP (OnLine Analytical Processing), et des applications d’exploration

de données (data mining). La création des cubes OLAP ou Tabulaires et des modèles

d’exploration se fait avec SQL Server Business Intelligence Development Studio, leur gestion

avec SQL Server Management Studio. Ces analyses comprennent un traitement sur des bases

de données volumineuses et permettent de comprendre les métriques et les éléments qui

influent sur le fonctionnement de l’entreprise.

III- Différentes extensions du SQL pour le décisionnel

a) ROLLUP

Calcule des agrégats (SUM, COUNT, MAX, MIN, AVG) à tous les niveaux de totalisation

sur une hiérarchie de dimensions et calcule le total général :

• Selon l’ordre de gauche à droite dans la clause GROUP BY

• S’il y a n colonnes de regroupements, GROUP BY ROLLUP génère n+1 niveaux de

totalisation

Figure 2: Requête avec ROLLUP

7
Figure 3: Résultats d'un rollup

b) CUBE

Calcule des agrégats (SUM, COUNT, MAX, MIN, AVG) à différents niveaux d’agrégation

comme ROLLUP mais de plus permet de calculer toutes les combinaisons d’agrégations :

 GROUPE BY CUBE créé des sous-totaux pour toutes les combinaisons possibles d’un

ensemble de colonnes de regroupement

 Si la clause CUBE contient n colonnes, CUBE calcule 2n combinaisons de totaux.

 Intéressant pour des colonnes représentant des dimensions appartenant à des hiérarchies

différentes.

NB : GROUP BY CUBE est une alternative plus performante au UNION AL

Figure 4: Schéma d'un cube


8
Figure 5: Résultats d'une requête CUBE

c) GROUPING

La commande GROUP BY est utilisée en SQL pour grouper plusieurs résultats et utiliser une

fonction de totaux sur un groupe de résultat. Sur une table qui contient toutes les ventes d’un

magasin, il est par exemple possible de lister regrouper les ventes par clients identiques et

d’obtenir le coût total des achats pour chaque client.

d) RANKING

La fonction rank produit un rang numérique dans la partition de l'enregistrement pour

chaque valeur différente de l'ORDER BY, dans l'ordre défini par la clause ORDER BY. rank

n'a pas besoin de paramètre explicite, puisque son comportement est entièrement déterminé

par la clause OVER.

9
Figure 6: RANK

e) WINDOWING

Une fonction de fenêtrage effectue un calcul sur un jeu d'enregistrements liés d'une certaine

façon à l'enregistrement courant. On peut les rapprocher des calculs réalisables par une

fonction d'agrégat. Cependant, les fonctions de fenêtrage n'entraînent pas le regroupement des

enregistrements traités en un seul, comme le ferait l'appel à une fonction d'agrégation

standard. À la place, chaque enregistrement garde son identité propre. En coulisse, la fonction

de fenêtrage est capable d'accéder à d'autres enregistrements que l'enregistrement courant du

résultat de la requête.

f) Fonctions statistiques

1) SQL AVG() : La fonction d’agrégation AVG() dans le langage SQL permet de calculer

une valeur moyenne sur un ensemble d’enregistrement de type numérique et non nul.

Figure 7: AVG

2) SQL COUNT() : En SQL, la fonction d’agrégation COUNT() permet de compter le

nombre d’enregistrement dans une table. Connaître le nombre de lignes dans une table est

très pratique dans de nombreux cas, par exemple pour savoir combien d’utilisateurs sont

présents dans une table ou pour connaître le nombre de commentaires sur un article.

10
Figure 8: COUNT

3) SQL MAX() : Dans le langage SQL, la fonction d’agrégation MAX() permet de retourner

la valeur maximale d’une colonne dans un set d’enregistrement. La fonction peut

s’appliquée à des données numériques ou alphanumériques. Il est par exemple possible de

rechercher le produit le plus cher dans une table d’une boutique en ligne.

Figure 9: MAX

4) SQL MIN() : La fonction d’agrégation MIN() de SQL permet de retourner la plus petite

valeur d’une colonne sélectionnée. Cette fonction s’applique aussi bien à des données

numériques qu’à des données alphanumériques.

Figure 10: MIN

5) SQL SUM() : Dans le langage SQL, la fonction d’agrégation SUM() permet de calculer la

somme totale d’une colonne contenant des valeurs numériques. Cette fonction ne fonction

que sur des colonnes de types numériques (INT, FLOAT …) et n’additionne pas les

valeurs NULL.

Figure 11: SUM

11
6) SQL RANDOM() : En SQL la fonction RANDOM() permet de sélectionner un nombre

aléatoire à virgule, compris entre 0 et 1. Le résultat de cette fonction sera différent à

chaque fois que la fonction est exécutée dans une requête SQL.

Figure 12: RANDOM

Cette fonction se révèle pratique avec un ORDER BY pour classer des résultats

aléatoirement. Toutefois, même si c’est possible il faut essayer d’éviter cette méthode qui

n’est pas particulièrement efficace en terme de performances.

La fonction peut aussi être utilisée dans une clause WHERE. Cela peut être pratique

pour sélectionner un résultat aléatoirement.

7) SQL ROUND() : Dans le langage SQL la fonction ROUND() permet d’arrondir un

résultat numérique. Cette fonction permet soit d’arrondir sans utiliser de décimal pour

retourner un nombre entier (c’est-à-dire : aucun chiffre après la virgule), ou de choisir le

nombre de chiffre après la virgule.

Figure 13: ROUND

g) CASE

Dans le langage SQL, la commande “CASE … WHEN …” permet d’utiliser des

conditions de type “si / sinon” (cf. if / else) similaire à un langage de programmation pour

retourner un résultat disponible entre plusieurs possibilités. Le CASE peut être utilisé dans

n’importe quelle instruction ou clause, telle que SELECT, UPDATE, DELETE, WHERE,

ORDER BY ou HAVING.

12
Figure 14: CASE

13
I- Conclusion

Arrive au terme de notre travail ou il était question pour nous de parler des extensions

du SQL pour le décisionnel pour ce fait, nous avons présenté les enjeux du décisionnel,

l’architecture d’un système décisionnel, les technologies utilisées (POSTGRESQL), quelques

exemples d’application et enfin nous avons énuméré quelques extensions du SQL parmi

lesquelles : ROLLUP et CUBE qui sont utilisés avec GROUP BY, RANKING,

WINDOWING et les fonctions statistiques. Nous avons donné les différentes syntaxes des

requêtes POSTGRESQL utilisées pour ces différentes extensions et des exemples

d’application de requêtes sur notre base de données.

14
BIBLIOGRAPHIE

 [Link]

informatique-decisionnelle

 [Link]

 [Link]

 [Link]

 Benitez-Guerrero E., C. Collet, M. Adiba, « Entrepôts de données : Synthèse et analyse »,

Rapport de recherche IMAG N°IMAG-RR - 99-1017-I, 1999.

 Gardarin G., « Internet/intranet et bases de données », Ed. Eyrolles, 1999, ISBN 2-212-

09069-2.

 Han J., Kamber M., « Data Mining: Concepts and Techniques », Morgan Kaufmann

Publishers, 2004.

 Kimball R., M. Ross, « Entrepôts de données : guide pratique de modélisation

dimensionnelle », 2°édition, Ed. Vuibert, 2003, ISBN : 2-7117-4811-1.

 Gray J. et al., Data Cube : A telationnal Aggregation Operator Generalizing Group-By,

Cross-Tab, and Sub-Totals, Data Mining and Knowledge Discovery 1, 29-53, 1997.

 Zemke F. et al., Introduction to OLAP functions, ISO/IEC JTC1/SC32 WG3 :YGJ-068 –

ANSI

15

Vous aimerez peut-être aussi