Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Dessiner une base

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

40 minutes

Un club, trois activités

Le club de sport du lycée propose du judo, de la natation et de l'escalade. Chaque élève peut faire plusieurs activités.

La responsable veut garder les inscriptions. Elle peut tout noter dans un seul tableau. Cela marche… un moment.

Avant de créer des tables, on dessine la base. Voyons comment faire.

Mots-clés

MotCe que ça veut direExemple
SchémaLe plan de la base : ses tables, ses colonnes et ses liens.Un dessin avec des flèches.
BesoinCe que les gens veulent savoir ou faire avec les données.Qui fait du judo ?
TableUn tableau qui range un seul genre de choses.adherents
Clé primaireLa colonne unique de chaque ligne.id
Clé étrangèreLa colonne qui garde le numéro d'une ligne d'une autre table.activite_id
DoublonLa même information écrite plusieurs fois.Le nom d'Emma recopié deux fois.
Un à plusieursUn lien où une ligne d'une table va avec plusieurs lignes d'une autre.Un auteur, plusieurs livres.
Table de liaisonUne table qui relie deux autres, quand chaque côté peut avoir plusieurs lignes.inscriptions

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Commencer par les besoins

Ne commence jamais par les tables. Commence par les questions que les gens vont poser.

Pour le club : Qui est inscrit au judo ? Quelles activités fait Emma ? Quel jour a lieu la natation ? Combien d'inscrits en escalade ?

Les mots qui reviennent dans ces questions sont les choses à ranger : les adhérents et les activités.

À toi : les choses à ranger

À toi de jouer

À toi : les choses à ranger

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Exemple travaillé : tout dans un tableau

nomprenomactivitejour
MartinEmmaJudomercredi
MartinEmmaNatationjeudi
DurandHugoJudomercredi
PetitNinaNatationjeudi
PetitNinaEscaladevendredi
RouxLucasJudomercredi

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Ce que le tableau unique cache

Regarde le tableau. Le nom d'Emma est écrit deux fois. Celui de Nina aussi. Et le jour du judo est écrit trois fois.

Si le judo passe au mardi, il faut corriger trois lignes. Si on en oublie une, la base se contredit.

Ce sont des doublons. Tu connais déjà le remède : une table par chose.

À toi : compter les lignes à changer

Code: sql
-- Tout le club dans une seule table.
SELECT * FROM inscriptions_vrac;

-- Si le judo passe au mardi, combien de lignes faut-il changer ?
SELECT COUNT(*) AS lignes_a_changer FROM inscriptions_vrac WHERE activite = 'Judo';

Une table par chose, une clé par table

On range chaque chose dans sa table. Les adhérents d'un côté, les activités de l'autre.

Chaque table reçoit une clé primaire, souvent un numéro id. Emma est écrite une seule fois. Le judo aussi, avec son jour.

Si tu changes le jour du judo, tu changes une seule ligne.

Relier les tables

Un auteur écrit plusieurs livres : c'est un lien un à plusieurs. La clé étrangère va dans la table du côté « plusieurs », ici livres.

Ici, c'est plus compliqué. Un adhérent fait plusieurs activités. Et une activité a plusieurs adhérents. C'est un lien plusieurs à plusieurs.

Aucune des deux tables ne peut porter la clé étrangère seule.

La leçon continue

11 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.