← SQL Intermédiaire
Leçon 6 / 9 — Chapitre 8: Mise en pratique : bibliothèque
Contraintes sur emprunts : FK, NOT NULL, DEFAULT
La table emprunts combine plusieurs contraintes du chapitre 5.
CREATE TABLE emprunts (
id SERIAL PRIMARY KEY,
livre_id INTEGER NOT NULL REFERENCES livres(id),
adherent_id INTEGER NOT NULL REFERENCES adherents(id),
date_emprunt DATE NOT NULL,
date_retour_prevue DATE NOT NULL,
rendu BOOLEAN DEFAULT false
);
livre_id et adherent_id sont NOT NULL : un emprunt sans livre ou sans adhérent identifié n'aurait aucun sens, la contrainte l'interdit dès l'écriture. rendu DEFAULT false évite de préciser cette valeur à chaque nouvel emprunt : un livre qui vient d'être emprunté n'est, par définition, pas encore rendu.
À retenir :
- Une clé étrangère
NOT NULLgarantit qu'une ligne de liaison référence toujours ses deux entités, jamais l'une sans l'autre. DEFAULT falsesur une colonne booléenne commerendureflète l'état le plus fréquent à la création d'une ligne.
À vous de jouer : un INSERT dans emprunts sans préciser rendu donne quelle valeur à cette colonne ?
🔒
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès