Vous êtes sur la page 1sur 2

Complments de bases de donnes 1 Info 710

TP Access 24 novembre 2005


Guillaume T HEYSSIER (guillaume.theyssier@univ-savoie.fr)

Exercice 1 : Formes normales. Question 1. Mettre sous forme normale de Boyce-Codd la base de donnes suivante (une seule relation) : R dattributs A, B, C, D, E et F ; dpendances : F = {A B, B DE, BE F, BC A, D A, F C D, F EC B}. Question 2. Trouver une couverture minimale de lensemble de dpendances F et en dduire une base de donnes sous 3me forme normale qui conserve linformation de la base prcdente. Question 3. On considre un schma de relation R associ un ensemble F de dpendances fonctionnelles et un ensemble G de dpendances multiples tel que : R, F est sous forme normale de Boyce-Codd, et il existe une cl de R forme dun seul attribut. Montrer que R, F, G est sous 4me forme normale.

Exercice 2 : Transformation de requtes, complexit, optimisation. On suppose que lon a une relation R avec nR uples et mR attributs ainsi quune relation S avec nS uples et mS attributs. Soit R une formule sur tous les attibuts de R (tous les attributs apparaissent dans la formule) et S une formule sur tous les attributs de S. Enn on note nR le nombre de lignes de R (R) et nS le nombre de lignes de S (S). Question 4. Combien de valeurs dattributs sont consultes dans les requtes suivantes (on suppose que lvaluation de R ou S demande une valuation de chaque attribut) : Q1 = SELECT * FROM R,S WHERE R AND S ; Q2 = SELECT * FROM R,S WHERE R OR S ; Question 5. Combien de valeurs dattributs sont consultes dans la requte suivante : Q3 = SELECT * FROM (SELECT * FROM R WHERE R ), (SELECT * FROM S WHERE S ); Question 6. quoi est quivalent Q3 ? Comment optimiser Q2 ? Discuter. On considre maintenant les 3 tables suivantes : A a 5 6 3 7 8 ab 2 6 2 7 8 B ab 2 1 3 5 4 2 bc 3 3 4 4 3 1 C bc 3 4 3 3 4 c 2 1 7 1 3

Question 7. Calculer A 1 B et B 1 C. Quelle est la meilleur faon de calculer A 1 B 1 C ? Discuter.

Exercice 3 : laboration de requtes SQL.

On considre la base de donnes Tour de France

fournie en annexe. crire les requtes SQL correspondant aux questions suivantes. Question 8. Quelle est la composition de lquipe FESTINA (n, nom et pays des coureurs) ? Question 9. Quels sont les noms des coureurs qui ont particip toutes les tapes ? Question 10. Quels sont les noms des coureurs qui sont arrivs dans les trois premiers chacune des tapes auxquelles ils ont particip ? Question 11. Quelle est la liste des coureurs qui satisfonts au moins deux des quatre conditions suivantes : avoir distanc Jalabert dau moins 10 minutes une tape, tre arriv au moins 3 fois premier une tape, avoir un suisse dans son quipe, ne jamais avoir t battu par un franais une tape. Indice. On vous demande un requte SQL, pas une expression de lalgbre relationnelle.

Vous aimerez peut-être aussi