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).