Éléments de bases de données Examen final

Transcription

Éléments de bases de données Examen final
Université de Sherbrooke
Département d’informatique
IFT187 : Éléments de bases de données
Examen final
Professeur : Marc Frappier
Jeudi 21 avril 2005, 9h00 à 12h00
Notes importantes :
• Documentation permise.
• La correction est, entre autres, basée sur le fait que chacune de vos réponses soit claire,
précise, concise et complète.
Pondération :
Question
1
2
3
Point
25
20
10
Question
4
5
6
7
Total
Point
10
20
8
7
100
1. (25 pt)
Produisez un modèle entité-relation pour le système suivant qui gère des films, en respectant les contraintes décrites. Donnez les cardinalités en utilisant les deux notations (1:N et
(min,max)), ainsi que la totalité (en utilisant un trait double k). Attention : n’utilisez pas
les cardinalités selon le format UML; cela vous sera demandé à la question 7.
Un film est produit par des producteurs qui engagent un scénariste, un réalisateur et des
acteurs. Un film peut aussi être parraı̂né par un studio (comme MGM, Pixar, Disney). Un
film ne peut exister sans un producteur. Les producteurs et les studios sont deux concepts
distincts. Le studio est une compagnie qui offre les services pour la réalisation du film (espace, accessoires, équipements, etc, mais il n’est pas requis de modéliser ces services dans
votre réponse). Les acteurs, réalisateurs, scénaristes et producteurs sont des personnes. Une
personne peut occuper plusieurs fonctions durant sa carrière (ie, acteur, réalisateur, scénariste
et producteur). Un studio possède aussi des salles de cinéma.
Assurez-vous aussi que ce système puisse traiter les informations suivantes.
• film : son titre, ses acteurs, son réalisateur, ses producteurs, son studio (facultatif); le
titre d’un film doit être unique. Un film peut avoir une suite (par exemple, Rocky II est
la suite de Rocky I)
• personne : son nom, son prénom, et son surnom (on peut identifier de manière unique
une personne par ces trois attributs); le type de rôle (premier rôle, rôle de soutien,
figurant) pour chacun des films où elle fut acteur; les films qu’elle a réalisés et produits.
1
A2-1
A2-2
A1-1
A1-2
A1
A2
A4
M
E1
N
R1
A5
E2
(0,*)
N
A3
R3
R2
R5
R4
(1,*)
A6
E3
(1,1)
1
K1
E4
(0,1)
A7
R6
R5
(0,*)
E5
E1
A8
Attention : un trait noir
épais dénote une relation
totale
K2
A9
Figure 1: Le modèle E-R à traduire en schéma relationnel
• pour chaque film, on veut connaı̂tre le cachet (salaire) de chaque acteur.
• un studio peut signer plusieurs contrats avec un acteur, chaque contrat ayant une date
de début et de fin; chaque contrat garantit un certain nombre de films à tourner (ils ne
sont pas encore connus à la signature du contrat) et un montant global qui représente
la somme des cachets des films à faire.
• pour chaque salle : les films présentés et le studio associé à la salle (facultatif si c’est
une salle indépendante).
2. (20 pt) Traduisez le modèle entité-relation de la figure 1 en un schéma relationnel. Utilisez la
notation abrégée suivante pour dénoter une table : R(A1 , . . . , An ). Dénotez les clés candidates
par cc(A1 , . . . , Aj ) et les clés étrangères par ce(A1 , . . . , Ai ) réf R(A1 , . . . , Ai ).
3. (10 pt) Prouvez ou infirmez les règles d’inférences suivantes. Pour une preuve, vous devez
utiliser les règles IR1 à IR6; pour infirmer, donnez un contre-exemple.
(a) {A → C, B → D, CE → F, E → D} |= {CD → F }
(b) {A → C, B → D, CE → F, D → E} |= {AB → F }
4. (10 pt) Soit
F1 = {A → C, B → D, CE → F, D → E}
2
et
F2 = {A → D, B → C, CD → F, D → E, AB → CDEF }.
(a) Est-ce que F1 comprend F2 ?
(b) Est-ce que F2 comprend F1 ?
(c) Est-ce que F2 et F1 sont équivalents?
Justifiez votre réponse de manière rigoureuse.
5. (20 pt) Normalisez les relations suivantes jusqu’en BCNF. Procédez par étape : normaliser
les d’abord en 2FN, puis en 3FN et finalement en BCNF. Pour chaque étape :
• identifiez les clés candidates;
• identifiez les dépendances fonctionnelles qui font qu’une relation ne satisfait pas le niveau
de normalisation;
• normalisez la relation.
Voici les relations à normaliser.
(a) R(ABCDEF )
et
F = {AB → C, B → DE, E → F }
(b) R(ABCDEF )
et
F = {AB → D, BC → E, F → A}
(c) R(ABCDE)
et
F = {A → BC, C → AB, B → AC}
6. (8 pt) Normalisez la relation suivant en BCNF et en 5ième forme normale.
• voyage(origine, destination, modeTransport, noPériode, dateDébutPériode,
dateFinPériode)
Elle fait partie d’un système qui détermine les voyages possibles que pourrait offrir une agence
de voyage. Un tuple apparaı̂t dans cette relation pour dénoter la possibilité d’un voyage. Le
mode de transport varie en fonction de l’origine et de la destination : par exemple, pour
un voyage entre Montréal et Paris, les modes de transport sont l’avion et le bateau; entre
Montréal et Toronto, ce sont le train et l’avion. Les modes de transport sont disponibles
seulement pendant une période donnée : par exemple, la motoneige est disponible seulement
l’hiver. On suppose que si un mode de transport est disponible durant une période, il peut
être offert pour tous les couples origine-destination où il est accessible. On suppose aussi
qu’un noPériode identifie de manière unique une date de début et une date de fin.
Donnez les clés candidates de chaque relation en format cc(. . . ).
7. (7 pt) Traduisez le modèle entité-relation suivant en un diagramme de classe UML.
3
A1-1
A1-2
A1
A4
E1
A5
E2
(0,1)
N
A3
R3
R2
R5
R4
(0,1)
A6
E3
K1
(0,*)
1
E4
Attention : un trait noir
épais dénote une relation
totale
4
A7