INFO4030 - cours du professeur éric hervet

publicité
INFO4030
Bases de données relationnelles et réparties
Examen final (40%)
INFO4030 - Examen final (40%)
Nom :
NI :
I.
Questions de cours (10 points)
i. Donner le résultat de la jointure naturelle des trois tables suivantes :
(2 points)
Personne
Nom
Anas Elhilali
Evance Kafando
Siriki Koné
Marc Eddy Lafontant
Bobby LeBlanc
Fadaho Mahamat
Pierrette Mugisha
Sadath Oke Dare
Yann Ouedraogo
Éric Hervet
Endroit
Login
eae6198
eek5559
esk2603
eml5534
ebl4562
eam2403
epm9135
eao9863
eyo3005
Ville
Wonderland
Linuxworld
Disneyworld
Wonderland
Babaorum
Lutèce
Linuxworld
Wonderland
Babaorum
Login
eae6198
eek5559
esk2603
eml5534
ebl4562
eam2403
epm9135
eao9863
eyo3005
q 1 / 14 p
Produit
Ville
Babaorum
Babaorum
Disneyworld
Disneyworld
Disneyworld
Linuxworld
Linuxworld
Linuxworld
Produit
Clé USB 8To
Clavier sans fil
Super Smart Phone
Clé USB Star Wars
Clavier Jungle Book
Fastest Supercomputer
Kung Fu Penguin
From Scratch Book
24 avril 2016
INFO4030
Bases de données relationnelles et réparties
Examen final (40%)
ii. Fragmenter horizontalement et verticalement la table suivante, sachant que Login est la clé primaire, et avec les directives suivantes :
+ On dispose de quatre serveurs S1 , S2 , S3 et S4 .
+ S1 et S2 contiennent les tuples où le nom de famille commence par A, B, . . . , ou L.
Plus spécifiquement, S1 contient juste les noms et S2 contient juste les villes.
+ S3 et S4 contiennent les tuples où le nom de famille commence par M, N, . . . , ou Z.
Plus spécifiquement, S3 contient juste les noms et S4 contient juste les villes.
Dessiner quatre grands cercles S1 , S2 , S3 et S4 en y écrivant à l’intérieur les données qu’ils
contiennent.
(2 points)
Personne
Login
eae6198
eeh1357
eek5559
esk2603
eml5534
ebl4562
eam2403
epm9135
eao9863
eyo3005
Éric Hervet
Nom
Anas Elhilali
Eric Hervet
Evance Kafando
Siriki Koné
Marc Eddy Lafontant
Bobby LeBlanc
Fadaho Mahamat
Pierrette Mugisha
Sadath Oke Dare
Yann Ouedraogo
Ville
Wonderland
Linuxworld
Linuxworld
Disneyworld
Wonderland
Babaorum
Lutèce
Linuxworld
Wonderland
Babaorum
q 2 / 14 p
24 avril 2016
INFO4030
Bases de données relationnelles et réparties
Examen final (40%)
iii. Expliquer la différence entre un SGBD réparti homogène et un SGBD réparti hétérogène.
(2 points)
iv. Donner au moins deux avantages et deux inconvénients d’un SGBD réparti.
(2 points)
v. Quel est l’avantage d’une procédure PL/SQL stockée ?
(2 points)
Éric Hervet
q 3 / 14 p
24 avril 2016
INFO4030
II.
Bases de données relationnelles et réparties
Examen final (40%)
Normalisation (10 points)
Soit la table relationnelle suivante servant à enregistrer des présentations de projets étudiants :
Présentation(NI, NomEtud, Sigle, Titre, NomProf, Dépt, Session, Crédits,
HeurePrésentation, SallePrésentation, NoteProjet)
+ NI : NI étudiant ;
+ NomEtud : prénom & nom de l’étudiant.e ;
+ Sigle : sigle du cours ;
+ Titre : titre du cours ;
+ NomProf : prénom & nom du prof qui donne le cours ;
+ Dépt : nom du département ;
+ Session : session (’A15’, ’H16’, etc.) ;
+ Crédits : nombre de crédits du cours ;
+ HeurePrésentation : date et heure de présentation du projet ;
+ SallePrésentation : numéro de la salle pour présenter le projet ;
+ NoteProjet : note obtenue par l’étudiant.e à l’issue de sa présentation.
Pour les projets en binôme ou en groupe, il peut y avoir plusieurs étudiant.e.s qui présentent leur projet
ensemble (même cours, même heure, même salle). Ça ne signifie pas qu’ils auront nécessairement la
même note pour leur projet.
+ Écrire les dépendances fonctionnelles avec pour chacune quelques mots de justification.
(3 points)
+ En déduire la clé primaire de la relation Présentation.
(1 point)
Éric Hervet
q 4 / 14 p
24 avril 2016
INFO4030
Bases de données relationnelles et réparties
Examen final (40%)
+ Mettre la relation en deuxième forme normale.
(2 points)
+ Mettre la relation en troisième forme normale.
(2 points)
+ Mettre la relation en forme normale de Boyce-Codd.
(2 points)
Éric Hervet
q 5 / 14 p
24 avril 2016
INFO4030
III.
Requêtes (10 points)
III.1.
Base de données
Bases de données relationnelles et réparties
Examen final (40%)
On considère une base de données immobilière dont les tables sont données aux deux pages suivantes.
C’est une base de données qui permet de gérer le fonctionnement d’agences immobilières, réparties en
plusieurs filiales et pour lesquelles du personnel travaille, font visiter des maisons ou des appartements
à des clients qui recherchent une propriété à louer (et qui ont des préférences de location).
Les maisons/appartements appartiennent à des propriétaires privés.
Les clients qui recherchent une maison ou un appartement à louer ont la possibilité de s’inscrire à une
filiale qui planifie les dates de visites.
Éric Hervet
q 6 / 14 p
24 avril 2016
Éric Hervet
Personnel
q 7 / 14 p
nom
Oscar Meier
Marie Labonté
Jean Martin
Michel Richard
ville
Genève
Paris
Montréal
Montréal
Montréal
Montréal
type
Maison
Appartement
Appartement
Appartement
Maison
Appartement
Client
codePostal
1201
75000
H2L 5Y7
H2L 5Y7
H2L 5Y7
H2L 5Y7
pièces
6
4
3
3
5
4
adresse
5 Quai du Mont-Blanc, 1201 Genève, Suisse
186 Boulevard Laviolette, Trois-Rivières J7K 3L8, QC, Canada
56 Boulevard St-Germain, 75000 Paris, France
125 Rue de Genève, 1226 Thônex, Suisse
rue
15 Place du Bourg de Four
6 Champs-Élysées
430 Rue des Peupliers #5
1780 Boulevard Central #210
45 Chemin du Lac
911 Route de l’Aéroport #1809
EM37
EM37
EM14
numFiliale
F007
F005
F003
F003
F003
F003
locMax
350
600
425
750
numPersonnel
EG9
EP41
typePréf
Appartement
Appartement
Appartement
Maison
numPropriétaire
CP46
CP87
CP40
CP93
CP87
CP93
numTél
+41 022 732 61 73
+1 819 524 1875
+33 01 67 75 92 12
+41 022 349 34 79
loyer
650
400
350
375
600
450
Bases de données relationnelles et réparties
numClient
CL56
CL62
CL76
CL74
numPropriété
LG14
LP94
LM4
LM36
LM21
LM16
PropriétéÀLouer
dateNaissance
numFiliale
19 février 1990
F007
24 mars 1978
F003
1 octobre 1960
F005
10 novembre 1980
F003
3 juin 1960
F003
13 juin 1990
F005
rue
ville
pays
codePostal
59 Boulevard St-Germain
Paris
France
75018
243 Rue des Roses
Montréal Canada
H2L 5Y7
243 Boulevard Anspach
Bruxelles Belgique
33000
67 Champs-Élysées
Paris
France
75000
33 Place du Bourg de Four Genève
Suisse
1201
numPersonnel
nom
fonction
genre
EG9
Marie Thale
Assistant
F
EM14
David Renault Superviseur
M
EP21
Jean Blanc
Gérant
M
EM37
Anne Bertrand
Assistant
F
EM5
Suzanne Brière
Gérant
F
EP41
Julie Hette
Assistant
F
numFiliale
F002
F003
F004
F005
F007
Filiale
INFO4030
Examen final (40%)
24 avril 2016
Éric Hervet
numClient numFiliale
CL56
F003
CL62
F007
CL74
F003
CL76
F005
numPersonnel dateInscription
EM37
11 avril 2013
EG9
7 mars 2013
EM37
16 novembre 2012
EP41
2 janvier 2014
Inscription
numClient numPropriété dateVisite
commentaire
CL56
LG14
24 mai 2014
trop petit
CL56
LM36
28 avril 2014
CL56
LM4
26 mai 2014
CL62
LG14
14 mai 2014 pas de salle à manger
CL76
LM4
20 avril 2014
trop éloigné
Visite
numPropriétaire
nom
adresse
numTél
CP40
Brigitte Gauthier
18 Rue Edison, Montréal H2L 5Y7, QC, Canada
+ 1 418 871 9635
CP46
Bruno Long
15 Quai des Berges, 1201 Genève, Suisse
+41 022 906 30 02
CP87
Claude Vézina
2115 Rue de la Gauchetière, Montréal H2L 5Y7, QC, Canada
+ 1 514 656 7891
CP93
Guy Lacasse
888 Boulevard Laviolette, Montréal H2L 5Y7, QC, Canada
+ 1 819 524 1075
PropriétairePrivé
INFO4030
Bases de données relationnelles et réparties
q 8 / 14 p
Examen final (40%)
24 avril 2016
INFO4030
III.2.
Bases de données relationnelles et réparties
Examen final (40%)
Requêtes d’algèbre relationnelle (5 points)
Requêtes à formuler en algèbre relationnelle.
i. Les noms des membres du personnel âgés de moins de 40 ans.
ii. Le ratio hommes / femmes parmi le personnel d’agence (nombre d’hommes ÷ nombre de femmes).
iii. Le ratio nombre de maisons à louer ÷ nombre d’appartements à louer.
iv. Les noms des propriétaires qui ont une propriété à louer pour moins de 500$ par mois.
v. Les noms des membres du personnel qui ne sont pas inscrits avec un client.
Éric Hervet
q 9 / 14 p
24 avril 2016
INFO4030
III.3.
Bases de données relationnelles et réparties
Examen final (40%)
Requêtes SQL (5 points)
Requêtes à formuler en langage SQL.
i. Les noms des clients ayant visité une propriété.
ii. Le loyer mensuel moyen d’une propriété à louer.
iii. Les noms des clients inscrits dans une filiale de France.
iv. Les numéros des filiales avec pour chaque numéro, le nombre de membres du personnel qui y
travaillent.
v. Les numéros des filiales avec pour chaque numéro, le nombre de visites organisé par chaque filiale.
Éric Hervet
q 10 / 14 p
24 avril 2016
INFO4030
IV.
Bases de données relationnelles et réparties
Examen final (40%)
Transactions concurrentes (5 points)
On considère trois transactions concurrentes Ta , Tb , Tc opérant sur des comptes bancaires X, Y , Z
de la manière suivante :
+ Ta transfère 200$ de X vers Y .
+ Tb transfère 400$ de Y vers Z.
+ Tc transfère 300$ de Z vers X.
Dire si l’exécution parallèle suivante est sérialisable ou non.
(2 points)
Si elle ne l’est pas, proposer une exécution parallèle sérialisable.
Si elle l’est, proposer une autre exécution parallèle sérialisable.
(3 points)
Temps
t0
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
t12
t13
t14
t15
t16
t17
Éric Hervet
Ta
Tb
Tc
a ← Lecture(X)
b ← Lecture(Y )
c ← Lecture(Z)
b ← b − 400
c ← c − 300
a ← a − 200
Ecriture(X, a)
Ecriture(Z, c)
Ecriture(Y, b)
y ← Lecture(Z)
z ← Lecture(X)
x ← Lecture(Y )
x ← x + 200
z ← z + 300
Ecriture(X, z)
Ecriture(Y, x)
y ← y + 400
Ecriture(Z, y)
q 11 / 14 p
24 avril 2016
INFO4030
Bases de données relationnelles et réparties
Éric Hervet
q 12 / 14 p
Examen final (40%)
24 avril 2016
INFO4030
V.
Bases de données relationnelles et réparties
Examen final (40%)
Contraintes d’intégrité (5 points)
On considère ici les tables t_departements et t_employes dont les champs et les données suivent :
Table t_departements :
DEPT
10
20
30
40
50
60
NOMD
Finance
Recherche
Vente
Gestion
Marketing
Vente
LIEU
Moncton
Moncton
Bathurst
Dieppe
Shediac
Dieppe
Table t_employes :
MATRICULE
A00111222
A00222333
A00333444
A00444555
A00555666
A00666777
A00777888
NOME
Andre
Bernard
Claude
Denise
Elyse
Fernand
Gabrielle
PASSWD
andre1
bernard2
claude3
denise4
elyse5
fernand6
gabrielle7
SALAIRE
30000
40000
35000
45000
42000
39000
40000
PRIME
1000
2000
1500
DEPT
10
10
20
30
40
50
60
POSTE
Commercial
Directeur
Professeur
Professeure
Secretaire
Commercial
Directrice
MATSUP
A00222333
A00777888
A00777888
A00333444
A00222333
DATEMB
96-01-01
06-06-30
86-09-01
00-01-01
12-04-01
02-10-15
01-12-09
Rappel : dept est la clé primaire de la table t_departements et matricule la clé primaire de la table
t_employes. Dans t_employes, la colonne dept est une clé étrangère vers la table t_departements.
Pour chacune des opérations suivantes qui ne s’exécutent pas en séquence, dire si elle est possible
directement (en une seule requête), indirectement (en plusieurs requêtes) ou simplement impossible.
+ Changement du mot de passe de Gabrielle.
+ Changement de tous les numéros de département sur trois chiffres au lieu de deux.
Éric Hervet
q 13 / 14 p
24 avril 2016
INFO4030
Bases de données relationnelles et réparties
Examen final (40%)
+ Suppression du département 30.
+ Enregistrement d’un nouvel employé travaillant dans le département de numéro 80.
+ Changement de superviseur pour Claude : son nouveau superviseur est l’employé de matricule
A00111999.
Éric Hervet
q 14 / 14 p
24 avril 2016
Téléchargement