Bonjour,
Je déplace un sujet que j'avais placé avec la gestion des contraintes d'inclusion.
Il s'agit d'un autre petit cas à traiter pour le contrôle des cardinalités maximales.
Imaginons une bibliothèque qui possède plusieurs ouvrages (chacun ayant un nombre exemplaires disponible) mis à la disposition des étudiants.
Une version simple du MCD donne cela :
Que proposer (en PostgreSQL si possible) pour contrôler :
- d'une part le fait qu'un étudiant ne peut pas emprunter plus de 10 ouvrages (sachant que, quand il ramène un ouvrage, on supprime le lien dans "Emprunt" sans garder l'historique),
- d'autre part, qu'un même ouvrage possède un nombre d'exemplaires limité.
J'imagine un CHECK qui renvoie à une fonction (cf. contrainte "X" pour l'héritage) ou un trigger INSTEAD OF INSERT (peut-être plus sympa)...
Qu'en pensez-vous ?
Partager