2010-2011

Transcription

2010-2011
EPU GB 4ème année
Bases de données relationnelles
Examen du 23 mai 2011
Documents autorisés.
Inscrivez lisiblement vos Nom et Prénom en tête de vos copies.
Recommandation : Pour l’exercice 1, seul le résultat de chaque question sera évalué. Pour
les autres exercices, justifiez chacune de vos réponses.
Exercice 1 : (Algèbre relationnelle – sur 5 points)
Soient R(A1 , A2 ) et S(B1 , B2 ) deux relations dont les n-uplets sont donnés ci-dessous. Il vous est
demandé de calculer le résultat de 5 expressions d’algèbre relationnelle. Calculez :
1. l’union des 2 relations R ∪ α[B1 : A1 , B2 : A2 ]S
2. la différence R \ α[B1 : A1 , B2 : A2 ]S
3. la jointure naturelle R 1 α[B1 : A2 ]S
4. la projection ΠA2 (R)
A1
d
R=
a
c
A2
e
z
z
B1
z
S=
z
e
B2
c
d
a
5. la sélection σ[A1 = B2 ](R × S) sur le produit cartésien
Exercice 2 : (Algèbre relationnelle et SQL – sur 12,5 points)
Une société de vente de billets de concerts gère une base de données dont le schéma relationnel est le
suivant :
– Concerts(Concert ID, Titre, DateDébut, Durée, NumSalle, Groupe)
–
–
–
–
–
UnConcert(UnConcert ID, Date, Heure, Concert ID)
Salle (NumSalle, Nom, Adresse, CapacitéTotale)
Catégorie (NumSalle, Concert ID, NB Cat1, NB Cat2, NB Cat3, Prix Cat1, Prix Cat2, Prix Cat3)
Billet (Billet ID, UnConcert ID, Num Place, Catégorie)
Vente (Vente ID, Date Vente, Billet ID, MoyenPaiement)
Les attributs soulignés représentent les clefs primaires. Les attributs NumSalle de la relation Concerts,
Concert ID de la relation UnConcert, NumSalle et Concert ID de la relation Catégorie, UnConcert ID
de la relation Billet, et Billet ID de la relation Vente sont les clefs étrangères qui font référence
aux clefs primaires de même nom.
Exprimez, lorsque cela est possible, les requêtes suivantes en algèbre relationnelle et en SQL (chaque
question attend 2 réponses, l’une en algèbre relationnelle, et l’autre en SQL). Si une requête n’est pas
exprimable dans l’un ou l’autre des langages, expliquez pourquoi.
1. Quel est le nombre de concerts assurés par Joe Cocker ?
2. Quelles sont les dates du concert de Joe Cocker à l’Olympia ?
3. Quels sont les noms des salles ayant la plus grande capacité ?
4. Quel est le prix minimal des places pour aller écouter Joe Cocker ? On ne regardera que les prix
des places de 3ème catégorie.
5. Quels sont les chanteurs n’ayant jamais fait un concert à Acropolis ?
6. Quels sont les chanteurs ayant réalisé au moins un concert dans toutes les salles de Nice ?
Exercice 3 : (Amélioration d’un schéma de BD – sur 8,5 points)
Un informaticien débutant a créé une base de données pour la gestion d’un complexe hotelier. La
base de données contient une seule table : Hotel(NumClient, NomClient, NumChambre, NomBatiment,
responsableBat, Etage, SurfaceChambre, Télé, Sde, SdB, Toilettes, NBGrandsLits, NbPetitsLits,
DébutSejour, FinSéjour, consommationBar, dateConso, prixConsoBar). Intuitivement, chaque n-uplet
de cette table exprime le fait qu’un client a réservé une chambre dans un bâtiment dont le responsable est
connu. Les caractéristiques de la chambre sont l’étage, la présence ou l’absence de télévision, de salle d’eau, de
salle de bain, de toilettes, le nombre de grands et petits lits. Les dates de son séjour sont bien précises. Enfin,
la base de données maintient la liste des consommations au bar de chacun des clients.
Notons de plus qu’un client de change pas de chambre entre le début et la fin de son séjour. Si pour des questions
de disponibilité de chambres, il devait le faire, on aurait alors 2 séjours, chacun étant associé à une chambre.
L’objectif de cet exercice est d’améliorer ce schéma.
1. Trouvez les dépendances fonctionnelles.
2. Trouvez tous les identifiants de la table Hotel. Combien y en a-t-il ?
3. Est-elle sous 2ème Forme Normale ? 3ème Forme Normale ? Justifiez vos réponses (on considère que tous
les attributs sont simples et monovalués).
4. Normalisez la table pour qu’elle soit sous 3ème Forme Normale. Justifiez les différentes décompositions
que vous effectuez. Pour chacune des tables obtenues, donnez les identifiants.
5. La décomposition préserve-t-elle les dépendances fonctionnelles ? Autrement dit, est-ce que toutes les
dépendances fonctionnelles élémentaires non déduites trouvées en 1 se retrouvent dans l’une des tables
obtenues ?

Documents pareils