Questions diverses et délectables
Transcription
Questions diverses et délectables
Université de Nice Sophia-Antipolis L2I Base de données Examen – Janvier 2016 Durée : 1h30 Note : Informations étudiant J’ai commencé à suivre le cours de Base de données la semaine numéro … J’étais hospitalisé de … à… Autres remarques pour E. De Maria : Questions diverses et délectables 1. Considérez les tables suivantes, qui concernent les étudiants et les UE du Département d'Informatique de votre université : ETUDIANT (numéro, nom, prénom, adresse) UE (code, libelle, nbr_heures, responsible) ETUDIANTUE (num-etudiant, code-UE, note_CC, note_examen) Légende : Clés primaires Clés étrangères Clés primaires et étrangères La relation ETUDIANT recense pour chaque étudiant son numéro identifiant, son nom, son prénom et son adresse. La relation UE enregistre pour chaque ue son code, son libellé, le nombre d'heures associées et l'enseignant responsable. La relation ETUDIANTUE indique pour chaque étudiant et pour chaque UE suivi, la note de contrôle continu et la note de contrôle terminale. Dans chacun des 2 cas suivants, proposez une requête algébrique adaptée au schéma. a) Liste des étudiants (numéro) qui ont donné l'ue “Base de données” avec une note de contrôle terminale superieure à 14. b) Liste des étudiants (numéro) qui ont donné toutes les ue. Dans chacun des 2 cas suivants, proposez une requête SQL adaptée au schéma. c) L'étudiant (les étudiants) qui a (ont) eu la meuilleure note de contrôle terminale dans l'ue “SL2IBD”. d) Pour chaque étudiant, le nombre d'ue suivies. 2) Nous voulons concevoir une base de donnée pour un nouveau réseau social qui s'appelle “Click and see”. Chaque utilisateur doit renseigner une adresse email, son nom, son prénom, sa date de naissance et sa situation amoureuse (célibataire, en couple, etc). Chaque utilisateur peut inviter d'autres utilisateurs à devenir ses amis (et chaque utilisateur peut donc être invité par d'autres membres du réseau). Un utilisateur peut être inscrit à plusieurs groupes, et bien évidemment dans un groupe il peut y avoir plusieurs participants. Chaque groupe a un code unique, un libellé (“Amis des animaux”, “Fans de Star Wars”, etc. ) et une description. Chaque utilisateur a la possibilité d'écrire des messages sur le mur. Un message a un code identificateur, un contenu, une date et une heure. a) Concevez un modèle E-A pour la base de données Click and see. b) Transformez le modèle obtenu en un ensemble de tables (avec clés primaires et étrangères définies). 3) Expliquez ce qu'est une vue en SQL et quelle est son utilité. 4) La table suivante énumère les produits achetés par les clients d'une boutique d'informatique. Pour simplifier, un client ne peut pas acheter un produit plusieurs fois. Chaque produit a un code, un nom, une catégorie et une marque (code et nom). numClient 26547 85456 nomClient codeProduit Bertand 753498 264354 Lopes 345780 356787 nomProduit tablette netbook ecouteurs souris categorieProd hardware hardware accessoire périphérique dateAchat 15/12/15 10/01/01 12/01/16 13/01/16 a) Transformez la relation en 1NF et indiquez la clé primaire. b) Identifiez les dépendances fonctionnelles et transformez la base de données en 2NF. codeMarque nomMarque 456 Dell 365 Hp 231 Bose 456 Dell c) Identifiez les dépendances transitives des clés primaires et transformez la base de données en 3NF. 5) Tracez le graphe de précédence pour la planification suivante. Est-elle sérialisable au niveau des conflits ? En cas de réponse affirmative, donnez une planification sérielle équivalente. P=[L1(X), E1(X), L2(X), E2(X), L1(Y), E1(Y), L2(Z), L3(Y), E3(Y),L1(Z)] 6) Expliquez ce qu'est un blocage indéfini (deadlock).