15 minutes de SQL
Comprendre tables, clés et schémas
Le modèle relationnel en 5 idées
Une base relationnelle est un ensemble de tables (aussi appelées relations). Chaque table contient des lignes (tuples) et des colonnes (attributs).
- Relation / table : une table (ex.
ETUDIANTS) - Attribut : une colonne (ex.
nom) - Domaine : le type de valeurs autorisées (ex.
INTEGER,TEXT) - Clé primaire (
PRIMARY KEY) : un attribut (ou groupe) qui identifie de façon unique chaque ligne - Clé étrangère (
FOREIGN KEY) : un attribut qui référence la clé primaire d’une autre table
Exemple de schéma
On considère deux tables :
\(\text{ETUDIANTS}(\underline{id},\; nom,\; classe)\) et \(\text{NOTES}(\underline{id},\; id\_etudiant,\; matiere,\; note)\)
Le champ NOTES.id_etudiant est une clé étrangère qui pointe vers ETUDIANTS.id.
À retenir
- Une clé primaire impose l’unicité des lignes.
- Une clé étrangère matérialise une relation entre deux tables.
- Un schéma décrit les tables et leurs attributs (et les liens PK/FK).
Exemples commentés
SELECT *
FROM clients;
Une base relationnelle relie des tables entre elles. Ici, la table commandes référence clients via id_client.
clients(id_client, nom, ville) et commandes(id_commande, id_client, date_commande)
La requête suivante illustre ce lien en affichant, pour chaque commande, le nom du client associé.
SELECT c.nom, co.id_commande, co.date_commande
FROM clients c
INNER JOIN commandes co ON c.id_client = co.id_client;
Accès restreint. Les exercices interactifs et le feedback IA sont réservés aux membres.
On travaille dans une base « boutique ». Avant même d’écrire des requêtes compliquées, on peut déjà afficher le contenu brut d’une table pour repérer ses colonnes et comprendre ce qu’elle stocke.
clients(id_client, nom, ville)La requête suivante affiche toutes les colonnes de la table
clients.