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 ?