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 l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 87 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.