USTHB, Faculté d’Informatique
Département des Systèmes Informatiques 2021/2022
M2 IL
Examen du module : Systèmes Décisionnels et Entrepôts de Données
Exercice N°1 (10 pts)
Un organisme chargé de l’étude de la criminalité dispose de la base de données décrite ci-dessous, et
veut construire un système décisionnel dans le but d’analyser l’évolution et la répartition de la
criminalité, et d’optimiser les moyens de lutte contre le crime.
Remarques : les ressources correspondent aux moyens utilisés dans la lutte contre le crime.
A) L’équipe de conception est confrontée au problème du choix entre l’approche entrepôts et
magasins de données, et l’approches des magasins autonomes, donnez une brève description
de chaque approche, et comparez leurs avantages et inconvénients.
B) Le premier magasin de données est dédié l’analyse de la répartition des délits, et tente de
mettre en évidence les facteurs intervenants dans l’accroissement de la criminalité.
1. Proposez un MLD ROLAP dénormalisé pour ce magasin, en précisant tous les détails
de conception.
2. Donnez le script de création d’une dimension non temporelle (au choix) contenant une
hiérarchie d’au moins trois niveaux (create dimension).
3. Proposez une vue matérialisée pour améliorer les temps d’accès sur cette dimension
(script de la vue).
C) Le deuxième magasin est constitué d’un seul cube dédié à analyser les coûts de la lutte contre
le crime. Proposez un MLD normalisé pour ce cube, et donner les formules des mesures.
N. Selmoune
Exercice N°2 (5 pts):
Soit la base de données suivante :
Appartement (CodeApp, PrixLocation)
Client (CodeCl, NomCl, VilleCl)
Location (CodeCl, CodeApp, DateL, nbjours)
CodeCl CodeApp DateL NBJours
CodeApp PrixLocation
C1 A1 12/12/2021 2
A1 4500 DA
C2 A1 14/12/2021 3
A2 3000 DA
C1 A1 23/12/2021 1
C1 A2 12/12/2021 4
C2 A2 23/12/2021 1
1- Donnez le résultat de la requête suivante :
Select A.CodeApp, CodeCL, Sum(NBJours * PrixLocation) as CA,
CUME_DIST() over(partition by CodeCl order by Sum(NBJours * PrixLocation)) as
Distance
From Location L, Appartement A
Where L.CodeApp = A.CodeApp
Group by A.CodeApp, CodeCL;
2- Ecrire la requête permettant de donner pour chaque date de location le chiffre d’affaire, ainsi
que le maximum mobile du chiffre d’affaire sur une fenêtre de taille = 2, et donnez le résultat
de la requête.
3- Ecrire la requête qui donne pour chaque appartement, le client ayant généré un chiffre
d’affaires maximal. Et donnez le résultat de la requête.
Exercice N°3 (5 pts) :
Soit les données suivantes représentant les pathologies diagnostiquées chez un ensemble de
patients :
NSS CodePathologie
1 2, 4, 5
2 1, 2, 5
3 2, 3, 4, 5
4 4, 5
5 3, 4, 5
6 1, 2, 3
Appliquez l’algorithme A priori, pour rechercher les règles associatives entre les pathologies, en
fixant le support minimum à 30 %.
BON COURAGE
N. Selmoune
Exercice N°1 (10) (Remarque d’autres solutions sont possibles)
A) Voir cours 1 pts
B) 1) 4 pts
Fait Délit( CodeDate, CodeLieu, CodeTypeDélit , NBDélit, DegréGravitéMoyen,
NbAccusés )
Dimensions :
Date : Voir cours
Lieu : CodeLieu, NomLieu, CodeVille, NomVille, CodeWilaya, NomWilaya
TypeDélit : CodeTypeDélit, TypeDélit
Hierarchies :
Temps (voir cours)
Lieu : CodeLieu, NomLieu, ->CodeVille, NomVille->, CodeWilaya, NomWilaya
2) 1,5 pts
Create dimension Dlieu
Level L1 is (Lieu.CodeLieu)
Level L2 is (Lieu.CodeVille)
Level L3 is (Lieu.CodeWilaya)
Hierarchy H1 (L1 child of L2 child of L3)
Attribute L1 determines (Nomlieu)
Attribute L2 determines (NomVille)
Attribute L3 determines (NomWilaya);
3) 1,5 pt
Create materialized view v1 Build immediate refresh on demand enable query rewrite as
Select CodeVille, NomVille, Sum(NBDélit)
From Délit d, Lieu L
Where d.CodeLieu= L.CodeLieu
Group by CodeVille, Nomville;
C)
1- 2pts
Fait utilisation( CodeDate, CodeLieu, CodeTypeRessource , Coût)
Dimensions :
Date : Voir cours
Lieu(CodeLieuP, NomLieuP, CodeVilleP*) Ville(CodeVilleP, NomVilleP, CodeWilayaP*),
Wilaya(CodeWilaya,NomWilayaP)
TypeRessource ( CodeTypeRessource, TypeRessource)
Coût= coûtunitaire*nbunités
N. Selmoune
Exercice N°2 : (5)
1- 1 pts
2- 2 pts
Select DateL, Sum(NBJours * PrixLocation) as CA, Max(sum(NBJours * PrixLocation))
over (order by DateL rows 1 preceding) as MaxMobile
From Location L, Appartement A
Where L.CodeApp = A.CodeApp
Group by DateL;
3- 2 pts
Select CodeApp, CodeCl , CA, Max
from
( Select A.CodeApp, CodeCl , Sum(NBJours * PrixLocation) as CA, Max(sum(NBJours *
PrixLocation)) over (partition by A.CodeApp) as Max
From Location L, Appartement A
Where L.CodeApp = A.CodeApp
Group by A.CodeApp, CodeCl)
Where CA=Max;
Exercice N°3 : (5)
Min sup= 6*30%=1.8 (0.5)
Itération 1 : {1},{2},{3},{4},{5} sont fréquents (0.5)
Itération 2 : (1.5)
Candidats :{1,2}, {1,3}, {1,4}, {1,5}, {2,3}, {2,4}, {2,5}, {3,4}, {3,5}, {4,5}
Fréquents : {1,2}(2), {2,3}(2), {2,4}(2), {2,5}(2), {3,4}(2) , {3,5}(2), {4,5}(3)
Itération 3 : (2)
Candidats :{2,3,4}, {2,3,5},{2,4,5}, {3,4,5}
Fréquents : {2,4,5}(2), {3,4,5}(2)
Itération 4 : Aucun candidat. (0.5)
N. Selmoune