Exercice — dans l'esprit des sujets du bac
Soit la représentation textuelle d’une base de données d’une bibliothèque :
LIVRES (NumLV, Titre, NomAuteur, ValeurLV, NumED#)EDITEURS (NumED, NomED, AdrED, TelED)LECTEURS (NumLE, NomLE, AdrLE, VilleLE)PRET (NumLV#, NumLE#, DateP, DateRet)
La notation # marque une clé étrangère.
- Donner, pour chaque table, la clé primaire et, le cas échéant, les clés étrangères (en précisant la table référencée).
- Exprimer en français le lien sémantique entre
LIVRESetEDITEURS, puis entrePRET,LIVRESetLECTEURS. - Un même livre peut-il être prêté plusieurs fois à des lecteurs différents ? Justifier à partir de la clé de
PRET.
Voir la correction commentéeAprès avoir posé votre démarche
1.
- LIVRES : PK = NumLV ; FK = NumED → EDITEURS(NumED).
- EDITEURS : PK = NumED ; pas de FK.
- LECTEURS : PK = NumLE ; pas de FK.
- PRET : PK composite = (NumLV, NumLE, DateP) : un même livre peut être prêté plusieurs fois au même lecteur, seule la date distingue les prêts ; FK NumLV → LIVRES, FK NumLE → LECTEURS (les deux colonnes marquée #).
2. Chaque livre a un éditeur (NumED dans LIVRES). Un prêt associe un livre et un lecteur à des dates données : relation N-N entre livres et lecteurs matérialisée par PRET.
3. Oui : plusieurs lignes de PRET peuvent partager le même NumLV avec des NumLE (ou des dates) différents, tant que la clé primaire de PRET reste unique.