Université A/Mira Bejaia
Faculté Sciences Exactes TP : Série 01 OGA
Département Informatique Optimisation des requêtes
3emeING 2024/2025
Objectif : Réécriture des requêtes à travers les vues matérialisées
L'option ENABLE QUERY REWRITE, dans la commande de création d’une vue matérialisée permet
l'exploitation de celle-ci dans la réécriture des requêtes sur les tables sources dans le but d’optimiser les
temps d’accès.
1. Soit la BD suivante :
2. Travail demandé :
Partie A :
1. Création d’un user appelé (MASTERIL) (connexion à Oracle..)
2. Affectation de tous les privilèges
3. Donner le modèle relationnel associé au MCD
Remarque : les cardinalités 1.1/ 1.N devient une clé étrangère, par contre les cardinalités
0.N/1.N devient une nouvelle table.
Université A/Mira Bejaia
Faculté Sciences Exactes TP : Série 01 OGA
Département Informatique Optimisation des requêtes
3emeING 2024/2025
4. Création du modèle physique associé au MCD (création des tables physiques)
5. Alimentation des tables :
Remplir en utilisant du code PL/SQL par des valeurs aléatoires mais en respectant les
contraintes, les tables : marque(20 instances), modèle (200 instances), véhicule( 40000
instnaces), types (2 instances), contrat (500000instances), assuré (100000 instances),
compagnie(20 instnaces), ville (400 instances), wilaya (58 instances).
Exemple : la table compagnie
Partie B : les vue matérialisées
1. Activer les options autotrace, et timing de oracle.
2. Ecrire une requête R1 pour obtenir la liste des assurés habitant la wilaya N°20, et ayant
souscrit un contrat pour un véhicule de marque N° 10. Examiner le temps et le plan
d’exécution.
3. Créer une vue matérialisée VM1 en utilisant les options (MMEDIATE, COMPLETE, ON
DEMAND, ENABLE QUERY REWRITE) contenant une jointure entre les ayant
souscrit un contrat pour un véhicule de marque N° 10.
4. Ré exécuter la requête R1. Examiner le temps et le plan d’exécution et comparer avec (3).
5. Créer une vue matérialisée VM2 identique à VMS mais qui la restreint à marque N°10.
6. Ré exécuter la requête R1. Examiner le temps et le plan d'exécution et comparer avec (3)
et (5).
7. Ecrire une requête R2 pour obtenir le nombre de véhicule par marque (LibMarque, NBV)
8. Examiner le temps et le plan d'exécution.
9. Créer une vue matérialisée VM3 (CodeMarque, LibMarque, NBV) en utilisant les options
(IMMEDIATE, COMPLETE, ON DEMAND, ENABLE QUERY REWRITE)
10. . Ré exécuter la requête R2. Examiner le temps et le plan d’exécution et comparer avec
(9).
11. Augmenter le nombre d’instances de véhicule à 80000, puis à 100000 et retester avec et
sans la vue matérialisée.
Université A/Mira Bejaia
Faculté Sciences Exactes TP : Série 01 OGA
Département Informatique Optimisation des requêtes
3emeING 2024/2025
12. Donner un tableau comparatif des temps d’exécution en fonction du nombre d’instance.
13. Quelles Conclusions tirez-vous de ce TP?