Vous êtes sur la page 1sur 6

Universit´e de Sherbrooke D´epartement d’informatique

´

IFT187 : El´ements de bases de donn´ees

Examen final

Professeur : Marc Frappier

Jeudi 15 avril 2004, 9h00 a` 12h00

Notes importantes :

Documentation permise.

La correction est, entre autres, bas´ee sur le fait que chacune de vos r´eponses soit claire, pr´ecise, concise et compl`ete.

Pond´eration :

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

1

1. (25 pt )

Produisez un mod`ele entit´e-relation pour un petit syst`eme de gestion des examens finaux `a l’universit´e. Ce syst`eme doit permettre de traiter les informations suivantes.

d´epartement : 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 p´eriode (”AM”, ”PM” ou ”soir”) et ses locaux (ex: ”D4-3021”);

local : num´ero 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 final par session pour un cours;

un cours appartient a` un seul d´epartement;

un cours peut apparaˆıtre dans plusieurs programmes.

Solution :

programme titre M nom comprend sigle N 1 N département donne cours titre 1 directeur
programme
titre
M
nom
comprend
sigle
N
1
N
département
donne
cours
titre
1
directeur
comporteAB
N
M
N
local
a lieu
examen
no
nbPlaces
session
date
période

2

2. (25 pt ) Traduisez le mod`ele entit´e-relation de la figure 1 en un sch´ema relationnel. Utilisez la

n ). D´enotez les cl´es candidates

notation abr´eg´ee suivante pour d´enoter une table : R (A 1 ,

par cc(A 1 ,

,A

,A

j ) et les cl´es ´etrang`eres par ce(A 1 , ,A i ) r´ef R
j ) et les cl´es ´etrang`eres par ce(A 1 ,
,A
i ) r´ef R (A 1 ,
A
2
A
E
1
1
0
1
A
A 4
3
A
9
R
E
1
0
n
2
A
N
10
0
n
A
5
M
E
R
3
2
A 6
1
R
\
3
N
E
A
A 7
4
8

,A i ).

Figure 1: Le mod`ele E-R `a traduire en sch´ema relationnel

Solution :

cc(A

E 1 (A 1 , A 2 ),

1 )

cc(A 3 ), cc(A 4 )

E 2 (A 3 , A 4 ),

cc(A

E 3 (A 5 , A 6 ),

5 )

E 4 (A 5 , A 7 , A 8 ), cc(A 5 , A 7 ), ce(A 5 )

R 1 (A 1 , A 3 , A 5 , A 9 ), cc(A 1 , A 3 , A 5 ),

R 1 A 10 (A 1 , A 3 , A 5 , A 10 ), cc(A 1 , A 3 , A 5 , A 10 ),

R 2 (A 3 , A 5 ), cc(A 3 , A 5 ), ce(A 3 ) r´ef E 2 , ce(A 5 ) r´ef E 3

r´ef E 3

ce(A 1 ) r´ef E 1 , ce(A 3 ) r´ef E 2 , ce(A 5 ) r´ef E 3

ce(A 1 ) r´ef E 1 , ce(A 3 ) r´ef E 2 , ce(A 5 ) r´ef E 3

3

3.

(10 pt ) Prouvez ou infirmez les r`egles d’inf´erences suivantes. Pour une preuve, vous pouvez utiliser les r`egles IR1 `a IR6; pour infirmer, donnez un contre-exemple.

(a)

(b)

{AB C, D B,E D } |= {AE C } Solution :

E D E B D B IR3

AB C IR6

AE C

{AB C, D B,E D } |= {AE CF } Solution : Cette r`egle est fausse; voici un contre-exemple.

A B C D E F a d 1 1 a d 1 b 1
A
B
C
D
E
F
a
d
1
1
a
d
1
b 1 c 1
b 1 c 1
1
e 1 f 1
e 1 f 2

4. (10 pt ) Soit

F 1 = {AB C, D B,E D }

et

F 2 = {AE BCD }.

(a)

Est-ce

que

F 1 comprend

F 2 ?

(b)

Est-ce

que

F 2 comprend

F 1 ?

(c)

Est-ce que F 2 et F 1 sont ´equivalents?

Justifiez votre r´eponse de mani`ere rigoureuse.

Solution :

V´erifions si

F 1 comprend F 2 .

AE + sous F 1 = ACBDE BCD

Donc, F 1 comprend F 2 . V´erifions si F 2 comprend F 1 .

AB +

D

E

+

+

sous F 2

=

AB

C

sous F 2

=

D

B

sous F 2

=

E

D

Donc, F 2 ne comprend pas F 1 . Donc, F 2 et F 1 ne sont pas ´equivalents.

4

5. (20 pt ) Normalisez les relations suivantes jusqu’en BCNF. Proc´edez par ´etape : normaliser les d’abord en 2FN, puis en 3FN et finalement en BCNF. Pour chaque ´etape :

identifiez les cl´es candidates;

identifiez les d´ependances fonctionnelles qui font qu’une 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 : cl´e candidate de R : ABC . La relation R n’est en 2FN a` cause de B EF . Normalisation en 2FN : R 1 (ABCD ) et R 2 (BEF ).

3FN : cl´e candidate de R 1 : ABC , R 2 : B . La relation R 1 est en 3FN. La relation R 2 n’est pas en 3FN `a cause de E F . Normalisation en 3FN : R 2 1 (BE ), R 2 2 (EF ).

BCNF : cl´e candidate de R 2 1 : B ; cl´e candidate de R 2 2 : E . Les relations sont en BCNF.

(b)

R (ABCDE ) et

 

F

= {AB C, D B,E D }

Solution :

 
 

2FN : cl´e candidate de R : AE . La relation R n’est pas en 2FN `a cause de E BD . Normalisation en 2FN : R 1 (EBD ) et R 2 (AEC ).

3FN : cl´e candidate de R 1 : E , R 2 : AE . La relation R 2 est en 3FN, mais pas la relation R 1 , a` cause de D B . Normalisation en 3FN : R 1 1 (ED ) et R 1 2 (DB )

BCNF : cl´es candidates

de R 1 1 : E , R 1 2 : D

Les relations sont en BCNF.

(c)

R (ABCDE ) et

 

F = {AB C, AE DB, E A}

Solution :

2FN : cl´e candidate de R : E . La relation R est en 2FN.

3FN : La relation R n’est pas en 3FN `a cause de AB C . Normalisation en 3FN : R 1 (EABD ) et R 2 (ABC ).

BCNF : cl´es candidates de R 1 : E , R 2 : AB . Les relations sont en BCNF.

5

6. (10 pt ) Un chef vous demande de l’aider a` mod´eliser les menus de ses restaurants. Il doit tenir compte de plusieurs crit`eres. Un repas est constitu´e d’une entr´ee, d’un plat principal et d’un dessert. Un chef a plusieurs sous-chefs a` ses ordres. Chaque sous-chef est responsable de sp´ecialit´es qui sont d’un type particulier (une entr´ee, un plat principal ou un dessert). Une sp´ecialit´e demande des ingr´edients frais (viandes, volailles, l´egumes, poissons, fruits de mers, etc) et ceux-ci ne sont pas disponibles `a tous les jours de la semaine (par exemple, il n’y a pas de poisson frais le lundi). De plus, chaque sous-chef a son horaire de travail. On ne peut pas servir chaque sp´ecialit´e `a chaque jour; par exemple, le foie gras est a` proscrire le lundi, la client`ele d’affaires ayant l’estomac trop `a plat en d´ebut de semaine. Finalement, dans un repas, on ne peut pas combiner n’importe quelle entr´ee avec n’importe quel plat principal, et n’importe quel dessert. En cons´equence, le chef vous demande de l’aider a` calculer quels sont les menus possibles pour chaque jour de la semaine a` l’aide d’une base de donn´ees. Cette BD doit ˆetre en 5 i`eme forme normale. Vous ne pouvez utiliser que les attributs suivants.

chef

plat (ex: soupe, foie gras, steak, poutine, petit gˆateau Vachon; un plat est donc un ´el´ement d’un menu)

ingr´edient (ex: viande, poisson, fines herbes)

jour (ex: lundi,

typeSp´ecialit´e (entr´ee, plat principal, dessert)

, dimanche)

Solution :

platChef(chef,plat)

ingr´edientPlat(plat,ingr´edient)

disponibilit´e(ingredient,jour)

chefHoraire(chef,jour)

platJour(plat,jour)

combinaisonPlat(plat,plat)

typeSpecialit´e(plat,typeSp´ecialit´e)

6