UE Bases de Données
Rédigé par GC Team, Publié le 19 Septembre 2009, Mise à jour le Jeudi, 12 Août 2021 15:14
UE Bases de Données
Examen du vendredi 22 avril 9h-10h30,
documents non autorisés.
On considère la base ”avions” maintes fois vue en TD:
PILOTE (NUMPIL, NOMPIL, ADR, SAL)
AVION (NUMAV, NOMAV, CAPACITE, LOC)
VOL (NUMVOL, NUMPIL, NUMAV, VILLE_DEP, VILLE_ARR, H_DEP, H_ARR)
NUMPIL: cléde PILOTE, nombre entier
NOMPIL: nom du pilote, cha^?ne de caractères
ADR: ville de la résidence du pilote, cha^?ne de caractères SAL: salaire du pilote, nombre entier
NUMAV: cléde AVION, nombre entier
CAPACITE: nombre de places d’un avion, nombre entier
LOC: ville de l’aéroport d’attache de l’avion, cha^?ne de caractères NUMVOL: cléde VOL, nombre entier
VILLE_DEP: ville de départ du vol, cha^?ne de caractères VILLE_ARR: ville d’arrivée du vol, cha^?ne de caractères H_DEP: heure de départ du vol, nombre entier entre 0 et 23 H_ARR: heure d’arrivée du vol, nombre entier entre 0 et 23
Exercice A Algèbre relationnelle, contraintes, cl´es
(A.i) Quelle propriétéexprime la formule suivante:
?NUMPIL(VOL) ? ?NUMPIL(PILOTE) = 0/
[ Si on préfère, on peut aussi écrire cette formule ainsi:
R1 = Projection(VOL/NUMPIL)
R2 = Projection(PILOTE/NUMPIL) Différence(R1,R2) = 0/ ~
(A.ii) Donner la définition de:
”Les attributs {NOMPIL, ADR} constituent une cléde la relation PILOTE. ”
(A.iii) (difficile) Exprimer la propriétéprécédente sous la forme R = 0/ ou R est une expression de l’algèbre relationnelle.
Exercice B Requêtes en algèbre relationnelle
Exprimer les requêtes suivantes dans l’algèbre relationnelle (on donnera NUMPIl et NOMPIL pour chaque pilote trouvé):
(B.i) Quels sont les pilotes gagnant moins de 20000?
(B.ii) Quels sont les pilotes conduisant au moins un vol au départ de ’Bordeaux’? (B.iii) Quels sont les pilotes conduisant des avions de plus de 300 places?
(B.iv) Quels sont les pilotes ne conduisant que des avions de plus de 300 places?
(B.v) Quels sont les pilotes conduisant un vol au départ de chez eux avec un avion localisédans leur ville?
Exercice C Requêtes en SQL
Exprimer les requêtes suivantes en SQL:
(C.i) Quels sont les pilotes bordelais conduisant au moins un vol arrivant a` ’Bordeaux’? (C.ii) Quelle est le NUMAV et la LOC des avions qui font un trajet mais pas le retour? (C.iii) Quels est le salaire maximum d’un pilote niçois?
(C.iv) Quel est le salaire maximum d’un pilote et quel est le pilote le perçoit?
Exercice D Schémas
On considère une base de donn´ees bibliographique avec les entit´es suivantes:
(1). BIBLIOGRAPHIE, dont les attributs sont nom, organisme, URL
(2). R´EF´ERENCE, dont les attributs sont clé, éditeur, année, titre, auteur, (on suppose qu’il n’y a qu’un auteur par r´ef´erence) et a deux entit´es sp´ecialis´ees:
(2.1) REVUE, qui a pour attributs sp´ecifiques suppl´ementaires nom, volume, ISSN
(2.2) LIVRE qui a pour attributs sp´ecifiques suppl´ementaires ISBN et qui se sp´ecialise lui même en une entit´e:
(2.2.1). ACTES DE COLLOQUE qui a pour attribut sp´ecifique coordonnateur (on suppose qu’un volume d’actes n’a qu’un coordonnateur).
Il n’y a qu’une seule association: possède qui indique qu’une bibliographie contient une r´ef´erence. (D.i) Dessiner un diagramme entit´es associations qui d´ecrive au mieux cette situation.
(D.ii) Convertir ce diagramme en sch´ema relationnel (on pr´ecisera les avantages et inconv´enients des choix effectu´es).
(D.iii) (difficile) Proposer une description de la même base lorsqu’il peut y a voir plusieurs auteurs pour une même r´ef´erence et plusieurs coordonnateurs pour un même volume d’actes.
