É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