PaliSkill
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 NULL garantit qu'une ligne de liaison référence toujours ses deux entités, jamais l'une sans l'autre.
  • DEFAULT false sur une colonne booléenne comme rendu reflè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