Cours SQL et MySQL · Module 4: Créer des tables (DDL)
Le Grand Œuvre du scriptorium - le projet du rayon biblioteka
Dans cette leçon4
Le moment est venu de concevoir seul un rayon à part entière, en combinant tout ce que tu as appris dans le scriptorium. Nous allons construire le cœur du bureau des prêts - la table wypozyczenia (emprunts), qui relie les livres aux lecteurs.
De quoi le rayon wypozyczenia a-t-il besoin ?
Chaque emprunt est une ligne. Nous devons enregistrer :
- id - la clé primaire, numérotée automatiquement,
- ksiazka_id - quel livre a été emprunté (un champ obligatoire),
- czytelnik_id - qui l'a emprunté (un champ obligatoire),
- data_wypozyczenia - quand (un champ obligatoire),
- data_zwrotu - quand il a été rendu (peut être vide si le livre est encore chez le lecteur).
Assembler le projet étape par étape
- Clé primaire - nous commençons par
id INT AUTO_INCREMENT PRIMARY KEY. C'est un modèle que tu connais déjà. - Champs obligatoires -
ksiazka_id,czytelnik_idetdata_wypozyczeniadoivent toujours avoir une valeur, nous ajoutons donc NOT NULL. - Champ optionnel - nous laissons
data_zwrotusans NOT NULL, car tant que le livre est emprunté, il reste vide (NULL).
Le modèle terminé
1CREATE TABLE wypozyczenia (
2 id INT AUTO_INCREMENT PRIMARY KEY,
3 ksiazka_id INT NOT NULL,
4 czytelnik_id INT NOT NULL,
5 data_wypozyczenia DATE NOT NULL,
6 data_zwrotu DATE
7);Pourquoi est-ce une bonne conception ?
- Chaque ligne a un identifiant unique grâce à la clé primaire.
- Les champs obligatoires protègent contre les enregistrements incomplets (un emprunt sans livre n'a aucun sens).
- Le champ optionnel (
data_zwrotu) reflète fidèlement la réalité - tant que le retour n'a pas eu lieu, il reste vide.
Construis ce rayon et tu auras les fondations de tout le bureau des prêts. C'est ton Grand Œuvre du scriptorium !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Quand on conçoit une nouvelle table, quelle paire de contraintes combine-t-on avec la colonne id pour en faire une clé primaire à numérotation automatique ?
Tâches pratiques dans le jeu
- Éditeur de code
Écris une instruction CREATE TABLE qui crée la table wypozyczenia avec les colonnes : id de type INT avec AUTO_INCREMENT et PRIMARY KEY, ksiazka_id de type INT NOT NULL, czytelnik_id de type INT NOT NULL, data_wypozyczenia de type DATE NOT NULL et data_zwrotu de type DATE.