Nom :______________________________ Matricule : A00____________________________ Examen final - INFO 2014 – Hiver 2015 o o o o o Durée de l’examen : 2 heures. L’examen compte pour 40 % de la note finale. Chaque question vaut 2 points sauf lorsqu’indiqué autrement. Le total est sur 42 points. Les réponses doivent être claires et précises. Le seul matériel autorisé est un crayon que vous utiliserez pour identifier votre questionnaire. Tout autre matériel (lecteur MP3, téléphone, calculatrice, notes de cours, etc.) est interdit. Il est interdit de communiquer avec un(e) autre étudiant(e) au cours de l’examen. Tout(e) étudiant(e) surpris(e) à plagier sera expulsé(e) de la salle d’examen et recevra la note « zéro ». Question 1, 2, 3,4. Considérez les relations décrivant des équipes sportives. Relation « Joueurs » Nom Points Âge Salaire Jean100 25 25000 Marc K. Julie L. 120 22 30000 Lucie 300 24 60000 P. … … … … Relation « Stades » Stade Capacité A 800 B C … 900 1300 … VilleOrigine Équipe Montreal Canada Relation « Équipe » Équipe Population Continent Stade Canada 33000000 Amérique A Paris Paris France Suisse … … Europe Europe … … … … France France B C Ville Montreal Lyon Berne … a) Écrivez une requête SQL pour obtenir le nom de tous les joueurs ayant un salaire strictement supérieur à 25000, mais inférieur à 70000. Page 1 de 9 b) Écrivez une requête SQL pour obtenir le nom et l’âge des joueurs qui ne sont pas membre d’une équipe d’un pays européen. c) Écrivez une requête SQL pour obtenir l’âge moyen des joueurs dont la ville d’origine est la même ville que celle du stade de leur équipe. d) Écrivez une requête SQL pour augmenter la capacité du stade de Lyon de 10 %. Page 2 de 9 Question 5: Qu’est-ce qu’une jointure à droite? __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ Question 6 (4 points): Transformez le modèle entité-relation suivant en modèle relationnel : Page 3 de 9 Question 7: Quelle stratégie d’implémentation est utilisée au niveau d’un système de gestion de base de données pour s’assurer que les appels à commit() remplissent leur fonction? __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ Question 8: La directrice d’une banque remarque des problèmes de performances pour son site Web qui utilise une base de données. Que lui suggéreriez-vous d’essayer pour améliorer les performances, sans changer le schéma de la base de données? __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ Question 9: Quelles sont les propriétés désirables d’une transaction? __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ Page 4 de 9 Question 10 (4 points). Considérez l’exécution suivante : T1 T2 T3 T4 T5 Read(C) commit Write(A) Read(D) Read(D) Write(B) Read(B) Write(D) Write(B) Read(D) commit Read(C) commit Read(B) Read(A) commit Read(D) commit a) Dessinez le graphe de précédence b) Est-ce que cette exécution est sérialisable? _____ (oui/non) Justifiez votre réponse. __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ c) Est-ce que cette exécution est recouvrable? _____ (oui/non) Justifiez votre réponse. __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ __________________________________________________________________________________________ Page 5 de 9 Question 11 (4 points). Considérez la relation « Facture » d’une base de données d’un hôtel. Date Client Prix Chambre Étage Meubles 2010-08-05 2010-08-05 2010-08-05 2010-08-06 2010-08-06 2010-08-06 2013-07-12 2013-07-12 2015-07-19 … Paul F. Paul F. Paul F. Julie F. Julie F. Julie F. Jean K Jean K Paul F … 100 $ 100 $ 100 $ 200$ 200$ 200$ 500$ 500$ … … 1 1 1 55 55 55 33 33 … … 2 2 2 3 3 3 2 2 … . TV Lit Bain TV Lit Bain Lit Lit … … Chambre Fumeur? Oui Oui Oui Non Non Non Oui Oui … … Carte de crédit 20234234 20234234 20234234 20234234 20234234 20234234 54645645 54645645 … … Bâtiment 1 1 1 1 1 1 3 3 … … Est-ce que cette table est normalisée (oui/non)? _________ Si non, indiquez le(s) violation(s) et la forme normale qui n’est pas respectée (ex. : 1FN, 2FN…). Puis, corrigez le schéma de la relation pour qu’il soit normalisé. Page 6 de 9 Question 12 (14 points): Vous obtenez un contrat de conception d’une base de données sur le hockey. La base de données devra permettre de stocker les informations suivantes: Il y a plusieurs équipes de hockey. Une équipe de hockey a un nom. Une équipe à des joueurs qui ont un nom, un rôle (gardien de but, centre, allié….) et un numéro de taille de patins (1, 2….). Chaque équipe a un chef qui est un joueur. Une équipe appartient à une école (ex. : Mathieu-Martin) et est située dans une ville (ex. : Moncton) et pays (ex. : Canada). Il y a plusieurs matchs dans une saison de hockey. Une saison de hockey a un nom, une durée en jours, une date de début et une date de fin. Un match est identifié par un numéro de match dans la saison (1er match, 2ième match…). Un match oppose deux équipes. Dans un match, il y a trois périodes nommées « 1 », « 2 » et « 3 ». Pour chaque match, il y a 1 arbitre, qui est un joueur. Un arbitre a un nom, un âge et un type (une valeur : A, B ou C). Pour chaque période, on veut stocker l’heure du début de la période et les pénalités reçues par chaque joueur. Une pénalité est donnée par un arbitre à un joueur et a une durée en minutes. Pour chaque saison, il existe un classement des équipes. Dans le classement, il est indiqué le nombre de points accumulés par chaque équipe pour la saison et la position dans le classement. Par exemple, une équipe XYZ peut être en 5ième position et avoir 500 points. A) Dessinez le modèle entité-relation de la base de données. IMPORTANT: indiquez les cardinalité en utilisant des nombres (ex. : 1..1) et la notation avec flèches Page 7 de 9 B) Traduisez le modèle entité-relation en schéma relationnel : Bonne fin de session! Page 8 de 9 Feuille brouillon Page 9 de 9