Vous êtes sur la page 1sur 11

Exercice 1 :

Cas d’étude 1 : On veut construire un entrepôt de données afin de stocker les informations sur les
consultations d’un pays. On veut notamment connaître le nombre de consultations, par rapport à
différents critères (personnes, médecins, spécialités, etc.
Ces informations sont stockées dans les relations suivantes :
PERSONNE (id, nom, tel, adresse, sexe)
MEDECIN (id, tel, adresse, spécialité)
CONSULTATION (id_med, id_pers, date, prix)
Travail à faire :
1. Proposer un schéma relationnel qui tienne compte de la date, du jour de la semaine, du mois, du
trimestre et de l’année.
2. Quelle est la table des faits?
3. Quels sont les faits?
4. Combien de dimensions ont été retenues? Quelles sont-elles?
5. Quelles sont les hiérarchies des dimensions? Dessinez les.
Correction
Correction

a) le coût total des consultations par médecin en 2005.


roll up on Année to année
slice année = 2005
roll up on *
b) le nombre de consultations par jour de la semaine, par spécialité et par sexe du patient.
roll up on JoursSemaine to joursem
roll up on Médecin to specialité
roll up on Personne to sexe
Exercice
Il s’agit de modéliser l’entrepôt de données (ED) des ventes d’une entreprise commerciale. Cette entreprise vend
des produits regroupés par familles de produits. Une vente correspond à un produit et un seul ; la vente est
effectuée par l’un des vendeurs du produit. La semaine de vente est le numéro de semaine dans l’année. L’ED doit
pouvoir fournir le chiffre d’affaires des ventes d’un produit, par date, client, et vendeur, ainsi que toutes les
sommations possibles de chiffre d’affaires. Les objets de l’ED sont les suivants :
1) produit, caractérisé par : code_produit, code_famille
2) client, caractérisé par : code_client, nom, csp
3) vente, caractérisée par : date, code_produit, code_
4) vendeur, caractérisé par : code_vendeur, nom, code_service

 tracer le schéma en étoile dimensionnel de l’ED, en précisant pour chaque table sa nature dimensionnelle (table de faits ou
table de dimension), ses clés, ainsi que la nature des champs
 Quelle est la table des faits?
 Quels sont les faits?
 Combien de dimensions ont été retenues? Quelles sont-elles?
 Dans l’exemple traité, et représenté par le schéma en étoile, le cube de données est un hyper cube à 4 dimensions : produit,
client, vendeur, date. Graphiquement, on peut dessiner en perspective 4 types de cubes à 3 dimensions. Définir les 4 types.
à quoi correspond chaque type
Correction

1-
Correction

2-
Exercice
1. Pourquoi les entrepôts de données sont-ils utilisés dans les organisations ? Quels sont les avantages qu'ils
offrent par rapport aux autres approches de gestion de données ?
2. Qu'est-ce que la modélisation dimensionnelle ? Comment peut-elle être utilisée pour concevoir un entrepôt
de données?
3. Qu'est-ce que l'agrégation de données ? Comment est-elle utilisée pour améliorer les performances de
requête dans un entrepôt de données ?
4. Comment peut-on évaluer la performance d'un entrepôt de données ? Quelles sont les mesures clés
utilisées pour évaluer la performance d'un entrepôt de données ?
Correction
1- Les entrepôts de données sont utilisés dans les organisations pour stocker de grandes quantités de données provenant de
différentes sources, les nettoyer, les organiser et les structurer de manière qu'elles puissent être facilement utilisées pour
prendre des décisions commerciales éclairées. Les avantages clés des entrepôts de données par rapport aux autres approches
de gestion de données sont les suivants : Consolidation des données, Amélioration de la qualité des données, Accès facilité aux
données, Prise de décision éclairée, Gestion de l'évolution des données, Accélération du temps de réponse, Meilleure gestion
des coûts
2- La modélisation dimensionnelle est une technique de conception de bases de données qui est utilisée pour créer un
schéma de données optimisé pour l'analyse de données et le reporting. Cette technique de modélisation repose sur
l'utilisation de dimensions et de mesures pour organiser les données dans une structure facile à interroger et à analyser. En
utilisant la modélisation dimensionnelle, les concepteurs d'entrepôts de données peuvent concevoir des schémas de données
optimisés pour l'analyse de données et le reporting.
3- L'agrégation de données consiste à regrouper les données selon une ou plusieurs dimensions, telles que le temps, la
géographie, le produit, le client, etc., afin de calculer des mesures agrégées, telles que la somme, la moyenne, le maximum, le
minimum, etc.
La technique d’agrégation consiste à précalculer les résultats de requêtes complexes et à stocker ces résultats dans une table
agrégée : Lorsqu'un utilisateur effectue une requête qui correspond à la table agrégée, l'entrepôt de données peut utiliser les
données précalculées plutôt que de calculer les résultats à partir de zéro. Cela peut considérablement améliorer les
performances de requête, car le temps de calcul nécessaire pour produire les résultats est considérablement réduit, ce qui
améliore la satisfaction des utilisateurs et l'efficacité de l’entrepôt de données.
Correction
4- L'évaluation de la performance d'un entrepôt de données est essentielle pour s'assurer que les utilisateurs peuvent accéder
rapidement et efficacement aux données stockées dans l'entrepôt. Evaluer la performance d'un entrepôt de données
nécessite d'examiner plusieurs mesures clés, telles que le temps de réponse, la capacité, le taux de disponibilité, la qualité des
données, la vitesse de traitement et la sécurité. En analysant ces mesures clés, les entreprises peuvent identifier les zones à
améliorer pour optimiser la performance de leur entrepôt de données.
Exercice SQL
Soit la base de données relationnelle des vols quotidiens d’une compagnie aérienne qui contient les tables Avion, Pilote et Vol. Table
Avion (NA : numéro avion de type entier (clé primaire), Nom : nom avion de type texte (12), Capacite : capacité avion de type entier,
Localite : ville de localité de l’avion de type texte (10) ) Table Pilote (NP : numéro pilote de type entier, Nom : nom du pilote de type
texte (25), Adresse : adresse du pilote de type texte (40) ) Table Vol (NV : numéro de vol de type texte (6), NP : numéro de pilote de
type entier, NA : numéro avion de type entier, VD : ville de départ de type texte (10), VA : ville d’arrivée de type texte (10), HD : heure
de départ de type entier, HA : heure d’arrivée de type entier )
1) Insérer les avions suivants dans la table Avion :
(100, AIRBUS, 300, RABAT), (101,B737,250,CASA), (101, B737,220,RABAT)
2) Afficher tous les avions
3) Afficher tous les avions par ordre croissant sur le nom
4) Afficher les noms et les capacités des avions
5) Afficher les localités des avions sans redondance
6) Afficher les avions dans la localité et Rabat ou Casa
7) Modifier la capacité de l’avion numéro 101, la nouvelle capacité et 220
8) Supprimer les avions dans la capacité et inférieure à 200
9) Afficher la capacité maximale, minimale, moyenne des avions
10) Afficher les données des avions dont la capacité et la plus basse
11) Afficher les données des avions dont la capacité et supérieure à la capacité moyenne
12) Afficher le nom et l’adresse des pilotes assurant les vols IT100 et IT104
13) Afficher les numéros des pilotes qui sont en service
14) Afficher les numéros des pilotes qui ne sont pas en service
15) Afficher les noms des pilotes qui conduisent un AIRBUS
Corrigé de l’exercice SQL
1. Insert into avion values (100, 'AIRBUS', 300, 'RABAT'); Insert into avion values (101,'B737',250,'CASA');
Insert into avion values (101, 'B737',220,'RABAT');

2. select * from avion;


3. select * from avion order by Nom asc;
4. select nom, Capacite from avion;
5. select distinct Localite from avion;
6. select * from avion where Localite='Rabat' or Localite='Casa' ;
7. Update avion set Capacite=220 where NA=101;
8. Delete from avion where Capacite <200;
9. Select Max(Capacite), Min(Capacite), Avg(Capacite) from avion;
10. Select * from avion where Capacite=min(Capacite);
11. Select * from avion where Capacite>=avg(Capacite);
12. Select Nom, Adresse from Pilote, Vol where Pilote.NP= Vol.NP and NV='IT100' and NV='IT104';
13. Select NP from Vol;
14. Select NP from Pilote where NP not in (select NP from Vol);
15. Select Pilote.NOM from Pilote, Vol, Avion where Pilote.NP= Vol.NP and Avion.NA=Vol.NA
and Avion.NOM='AIRBUS';

Vous aimerez peut-être aussi