BDW1 TD45
BDW1 TD45
BDW1 TD45
1
Exercice 2 : Cherchez les incohérences
On souhaite modéliser et interroger une base de données sur les Chercheurs. Le schéma de
la base de données relationnelle est le suivant :
A noter que la durée des projets est exprimée en mois et qu’un projet renouvelé garde le
même nom mais dispose d’un identifiant différent. Il n’y a pas de projets différents qui sont
homonymes.
2
est nécessaire d’appliquer pour rendre le schéma E/A cohérent avec le modèle relationnel.
Une expression se matérialise par une manifestation qui représente le livre papier, le support
média physique. Une manifestation est identifiée relativement à l’expression par un numéro cor-
respondant à un entier. Pour chaque manifestation, on dispose du nombre de page, du type de
reliure et de l’information si la manifestation est en noir&blanc ou en couleur.
La bibliothèque dispose de différents adhérents. Chaque adhérent est identifié par un nu-
méro d’adhérent. On stocke son nom, son prénom, son adresse, son numéro de téléphone.
Une manifestation peut être empruntée par un adhérent de la bibliothèque ou peut être
seulement consultée sur place. Dans les deux cas, on stocke la date et l’heure d’emprunt, la
date limite de rendu et la date de retour réel de la manifestation. Si la date de retour réel est
sans valeur, cela signifie que la manifestation n’a pas encore été rendue par l’emprunteur. Une
manifestation ne peut pas être empruntée plusieurs fois par le même adhérent.
3
Donner les différentes commandes SQL nécessaires pour :
1. créer les tables correspondant à votre modèle relationnel.
2. ajouter à vos tables les contraintes d’intégrité de clé primaire et de clé étrangère.
3. peupler vos tables avec au moins 3 tuples par table. Vous expliquerez le choix que vous
faites dans l’ordre de tables à peupler (i.e., quelles contraintes vous obligent à peupler
une table avant une autre).
4. ajouter l’attribut ’etatM’ à votre table stockant les manifestations pour préciser l’état
de l’ouvrage.
5. ajouter 10 pages à la première manifestation que vous avez insérée dans la base.
6. effacer la troisième manifestation insérée dans la base.
7. créer une table ’Blacklist’ stockant les identifiants des adhérents ayant rendu en retard
un emprunt.
8. supprimer la table ’Blacklist’.