Examen final - INFO 2014 – Hiver 2015

publicité
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
Téléchargement