IGE 487 Modélisation de bases de données. Été 2010 Deuxième travail pratique 1
isUniversité de Sherbrooke
Faculté des sciences
Département d’informatique
IGE 487 – Modélisation de bases de données
Travail pratique 2
Optimisation, transactions, concurrence et récupération.
Le but de ce deuxième TP est de comprendre quelques concepts théoriques traités dans le
cours à l’aide d’un ensemble de questions et d’exercices.
1. Traitement et optimisation de requêtes.
1. Pourquoi faut-il transformer une commande SQL en requêtes de l’algèbre relationnelle
avant l’optimisation?
2. Quelle est la différence entre matérialisation et pipeline lors du traitement d’une
requête?
3. Pour les requêtes suivantes, dessiner l’arbre d’optimisation en forme canonique et à
partir de celui, proposer le meilleur arbre d’optimisation. Montrez toutes les étapes de
transformation :
a) select fname, lname, address
from employee, department
where dname = ‘Research’ and dnumber = dno;
b) select dname, lname, fname, pname
from department, employee, works_on, project
where dnumber = dno
and ssn = essn
and pno = pnumber
and lname = ‘Smith’
c) select e.fname, e.lname, s.fname, s.lname
from employee e, employee s
where e.super_ssn = s.ssn
4. Expliquez comment les décisions prises lors du design de la base de données peuvent
avoir un impact sur la performance de l’application.
5. Dans quelles situations faut-il appliquer la dénormalisation? Justifiez votre réponse.
6. Quel est l’impact de l’utilisation des index sur les requêtes? Justifiez votre réponse.