You are on page 1of 6

Universite de Sherbrooke

Departement dinformatique

IFT187 : Elements de bases de donnees

Examen final

Professeur : Marc Frappier

Jeudi 15 avril 2004, 9h00 a 12h00

Notes importantes :

Documentation permise.

La correction est, entre autres, basee sur le fait que chacune de vos reponses soit claire,
precise, concise et complete.

Ponderation :

Question Point Question Point


1 25 4 10
2 25 5 20
3 10 6 10
Total 100

1
1. (25 pt)
Produisez un modele entite-relation pour un petit systeme de gestion des examens naux a
luniversite. Ce systeme doit permettre de traiter les informations suivantes.

departement : son nom, le nom de son directeur et ses cours;


cours : son titre, son sigle et ses examens;
examen : le cours, la session (ex: H04), la date (YYYY-MM-DD), la periode (AM,
PM ou soir) et ses locaux (ex: D4-3021);
local : numero et nombre de places disponibles;
programme : titre et ses cours.

On a les contraintes suivantes:

un cours peut avoir plusieurs examens;


il y a un seul examen nal par session pour un cours;
un cours appartient a un seul departement;
un cours peut apparatre dans plusieurs programmes.

Solution :

programme titre

nom comprend

N sigle

1 N
dpartement donne cours

1 titre

directeur
comporte
AB

M N
local a lieu examen

no nbPlaces
session date priode

2
2. (25 pt) Traduisez le modele entite-relation de la gure 1 en un schema relationnel. Utilisez la
notation abregee suivante pour denoter une table : R(A1 , . . . , An ). Denotez les cles candidates
par cc(A1 , . . . , Aj ) et les cles etrangeres par ce(A1 , . . . , Ai ) ref R(A1 , . . . , Ai ).

A2

A1 E1
0..1 A3 A4
A9
R1 0..n
E2
A10 N

A5 0..n
M
E3 R2
A6 1

R\ 3

N
A7 E4 A8

Figure 1: Le modele E-R a traduire en schema relationnel

Solution :

E1 (A1 , A2 ), cc(A1 )
E2 (A3 , A4 ), cc(A3 ), cc(A4 )
E3 (A5 , A6 ), cc(A5 )
E4 (A5 , A7 , A8 ), cc(A5 , A7 ), ce(A5 ) ref E3
R1 (A1 , A3 , A5 , A9 ), cc(A1 , A3 , A5 ), ce(A1 ) ref E1 , ce(A3 ) ref E2 , ce(A5 ) ref E3
R1 A10 (A1 , A3 , A5 , A10 ), cc(A1 , A3 , A5 , A10 ), ce(A1 ) ref E1 , ce(A3 ) ref E2 , ce(A5 ) ref E3
R2 (A3 , A5 ), cc(A3 , A5 ), ce(A3 ) ref E2 , ce(A5 ) ref E3

3
3. (10 pt) Prouvez ou inrmez les regles dinferences suivantes. Pour une preuve, vous pouvez
utiliser les regles IR1 a IR6; pour inrmer, donnez un contre-exemple.

(a) {AB C, D B, E D} |= {AE C}


Solution :
ED D B IR3
EB AB C IR6
AE C
(b) {AB C, D B, E D} |= {AE CF }
Solution : Cette regle est fausse; voici un contre-exemple.

A B C D E F
a1 b1 c1 d1 e1 f1
a1 b1 c1 d1 e1 f2

4. (10 pt) Soit


F1 = {AB C, D B, E D}
et
F2 = {AE BCD}.

(a) Est-ce que F1 comprend F2 ?


(b) Est-ce que F2 comprend F1 ?
(c) Est-ce que F2 et F1 sont equivalents?

Justiez votre reponse de maniere rigoureuse.


Solution : Verions si F1 comprend F2 .

AE + sous F1 = ACBDE BCD

Donc, F1 comprend F2 . Verions si F2 comprend F1 .

AB + sous F2 = AB  C
D + sous F2 = D  B
E + sous F2 = E  D

Donc, F2 ne comprend pas F1 . Donc, F2 et F1 ne sont pas equivalents.

4
5. (20 pt) Normalisez les relations suivantes jusquen BCNF. Procedez par etape : normaliser
les dabord en 2FN, puis en 3FN et nalement en BCNF. Pour chaque etape :

identiez les cles candidates;


identiez les dependances fonctionnelles qui font quune relation ne satisfait pas le niveau
de normalisation;
normalisez la relation.

Voici les relations a normaliser.

(a) R(ABCDEF )
et
F = {ABC D, B E, E F }
Solution :
2FN : cle candidate de R : ABC.
La relation R nest en 2FN a cause de B EF .
Normalisation en 2FN : R1 (ABCD) et R2 (BEF ).
3FN : cle candidate de R1 : ABC, R2 : B.
La relation R1 est en 3FN. La relation R2 nest pas en 3FN a cause de E F .
Normalisation en 3FN : R21 (BE), R22 (EF ).
BCNF : cle candidate de R21 : B; cle candidate de R22 : E.
Les relations sont en BCNF.
(b) R(ABCDE)
et
F = {AB C, D B, E D}
Solution :
2FN : cle candidate de R : AE.
La relation R nest pas en 2FN a cause de E BD.
Normalisation en 2FN : R1 (EBD) et R2 (AEC).
3FN : cle candidate de R1 : E, R2 : AE.
La relation R2 est en 3FN, mais pas la relation R1 , a cause de D B.
Normalisation en 3FN : R11 (ED) et R12 (DB)
BCNF : cles candidates de R11 : E, R12 : D
Les relations sont en BCNF.
(c) R(ABCDE)
et
F = {AB C, AE DB, E A}
Solution :
2FN : cle candidate de R : E.
La relation R est en 2FN.
3FN : La relation R nest pas en 3FN a cause de AB C.
Normalisation en 3FN : R1 (EABD) et R2 (ABC).
BCNF : cles candidates de R1 : E, R2 : AB.
Les relations sont en BCNF.

5
6. (10 pt) Un chef vous demande de laider a modeliser les menus de ses restaurants. Il doit
tenir compte de plusieurs criteres. Un repas est constitue dune entree, dun plat principal et
dun dessert. Un chef a plusieurs sous-chefs a ses ordres. Chaque sous-chef est responsable de
specialites qui sont dun type particulier (une entree, un plat principal ou un dessert). Une
specialite demande des ingredients frais (viandes, volailles, legumes, poissons, fruits de mers,
etc) et ceux-ci ne sont pas disponibles a tous les jours de la semaine (par exemple, il ny a
pas de poisson frais le lundi). De plus, chaque sous-chef a son horaire de travail. On ne peut
pas servir chaque specialite a chaque jour; par exemple, le foie gras est a proscrire le lundi,
la clientele daaires ayant lestomac trop a plat en debut de semaine. Finalement, dans un
repas, on ne peut pas combiner nimporte quelle entree avec nimporte quel plat principal, et
nimporte quel dessert. En consequence, le chef vous demande de laider a calculer quels sont
les menus possibles pour chaque jour de la semaine a laide dune base de donnees. Cette BD
doit etre en 5ieme forme normale. Vous ne pouvez utiliser que les attributs suivants.

chef
plat (ex: soupe, foie gras, steak, poutine, petit gateau Vachon; un plat est donc un
element dun menu)
ingredient (ex: viande, poisson, nes herbes)
jour (ex: lundi, . . . , dimanche)
typeSpecialite (entree, plat principal, dessert)

Solution :

platChef(chef,plat)
ingredientPlat(plat,ingredient)
disponibilite(ingredient,jour)
chefHoraire(chef,jour)
platJour(plat,jour)
combinaisonPlat(plat,plat)
typeSpecialite(plat,typeSpecialite)

You might also like