Bases de données SQL
Ce cours t'apprend à comprendre comment on stocke et interroge des données avec SQL. Tu découvriras les tables, les relations, les requêtes et les pièges classiques du débutant. À la fin, tu sauras lire et écrire des requêtes simples avec confiance.
1.Qu'est-ce qu'une base de données SQL
Une base de données est un endroit où on range des informations de façon organisée, pour pouvoir les retrouver facilement plus tard. Imagine un carnet d'adresses géant, mais rangé dans des tableaux plutôt que sur des pages libres. SQL, qui signifie Structured Query Language, est le langage qu'on utilise pour parler à cette base : ajouter des informations, les modifier, les supprimer ou les chercher. Une base de données relationnelle organise les informations en tables, un peu comme des feuilles de calcul. Par exemple, une boutique en ligne peut avoir une table Clients avec les noms et adresses, et une table Commandes avec ce que chaque client a acheté. Ces tables sont reliées entre elles, ce qui permet de croiser les informations. C'est ce lien entre les tables qui fait la puissance du modèle relationnel, très utilisé depuis les années 1970.
- SQL sert à créer, lire, modifier et supprimer des données.
- Une base relationnelle organise les données en tables reliées entre elles.
2.Les tables, colonnes et types de données
Une table ressemble à un tableau Excel : elle a des colonnes et des lignes. Chaque colonne représente une information précise, comme le nom, l'âge ou l'email d'une personne. Chaque ligne, appelée aussi enregistrement, représente une entrée complète, par exemple un client donné. Chaque colonne a un type de données défini à l'avance : un entier (INT) pour un âge, du texte (VARCHAR) pour un nom, une date (DATE) pour un anniversaire. Ce typage évite les erreurs, comme écrire du texte dans une colonne censée contenir un nombre. Par exemple, une table Produits pourrait avoir les colonnes id (entier), nom (texte) et prix (nombre décimal). On définit aussi une clé primaire, une colonne qui identifie chaque ligne de façon unique, comme un numéro de sécurité sociale pour une personne. Sans clé primaire, impossible de distinguer deux lignes similaires avec certitude.
- Chaque colonne a un type précis : INT, VARCHAR, DATE, etc.
- La clé primaire identifie chaque ligne de manière unique.
3.Interroger les données avec SELECT
La commande la plus utilisée en SQL est SELECT, qui permet de récupérer des données. Par exemple, SELECT nom, prix FROM Produits affiche le nom et le prix de tous les produits d'une table. On peut filtrer les résultats avec WHERE, comme SELECT nom FROM Produits WHERE prix > 50, qui ne montre que les produits coûtant plus de 50 euros. On peut aussi trier les résultats avec ORDER BY, ou limiter leur nombre avec LIMIT. Ces requêtes se lisent presque comme des phrases en anglais, ce qui rend SQL relativement accessible au début. Prends l'exemple d'une bibliothèque avec 10 000 livres enregistrés : au lieu de chercher à la main, une requête SELECT titre FROM Livres WHERE auteur = 'Camus' te donne instantanément tous les livres de cet auteur. C'est cette rapidité de recherche qui rend les bases de données indispensables dès que le volume de données grandit.
- SELECT récupère des données, WHERE filtre selon une condition.
- ORDER BY trie les résultats, LIMIT réduit leur nombre.
4.Relier les tables avec les jointures
Les jointures permettent de combiner des données venant de plusieurs tables. C'est l'un des concepts les plus puissants du SQL. Imagine une table Clients et une table Commandes : la table Commandes contient une colonne client_id qui renvoie vers l'identifiant du client dans la table Clients. Une jointure, avec le mot-clé JOIN, permet d'afficher par exemple le nom du client à côté de sa commande, alors que ces deux informations sont stockées dans deux tables différentes. Par exemple, SELECT Clients.nom, Commandes.produit FROM Clients JOIN Commandes ON Clients.id = Commandes.client_id affiche qui a commandé quoi. Sans jointure, il faudrait dupliquer les informations du client dans chaque commande, ce qui gaspille de l'espace et complique les mises à jour. La clé étrangère, cette colonne qui pointe vers une autre table, est justement ce qui rend les jointures possibles. C'est le cœur du modèle relationnel.
- La clé étrangère relie une ligne d'une table à une ligne d'une autre.
- JOIN combine les données de plusieurs tables en une seule requête.
5.Modifier les données et structurer la base
Au-delà de la lecture, SQL permet de modifier les données. INSERT INTO ajoute une nouvelle ligne, comme un nouveau client. UPDATE modifie une valeur existante, par exemple changer le prix d'un produit. DELETE supprime une ligne, comme retirer un client parti. Ces trois commandes doivent être utilisées avec prudence, surtout DELETE et UPDATE, car sans condition WHERE précise, elles peuvent affecter toutes les lignes d'une table d'un coup. Par ailleurs, la commande CREATE TABLE sert à définir une nouvelle table avec ses colonnes et ses types, tandis qu'ALTER TABLE permet de modifier sa structure, comme ajouter une colonne. Ces opérations de structuration s'appellent le langage de définition de données, alors que SELECT, INSERT, UPDATE et DELETE forment le langage de manipulation de données. Comprendre cette distinction aide à organiser sa pensée face à une base complexe.
- INSERT, UPDATE et DELETE modifient le contenu des tables.
- CREATE TABLE et ALTER TABLE définissent la structure des tables.
6.Erreurs fréquentes et points d'examen
L'erreur la plus classique est d'oublier le WHERE dans un UPDATE ou un DELETE, ce qui modifie ou supprime toutes les lignes d'une table par accident. Une autre erreur fréquente est de confondre INNER JOIN, qui ne garde que les lignes correspondantes dans les deux tables, et LEFT JOIN, qui garde toutes les lignes de la table de gauche même sans correspondance. Beaucoup d'étudiants oublient aussi les guillemets autour du texte dans une condition WHERE, écrivant WHERE nom = Marie au lieu de WHERE nom = 'Marie'. À l'examen, on demande souvent d'écrire une requête avec plusieurs jointures, ou d'expliquer la différence entre clé primaire et clé étrangère. On teste aussi la compréhension de GROUP BY, qui regroupe des lignes pour calculer des sommes ou des moyennes, souvent combiné avec des fonctions comme COUNT ou AVG.
- Un UPDATE ou DELETE sans WHERE affecte toutes les lignes de la table.
- GROUP BY et les jointures sont des classiques des sujets d'examen.
À retenir
- 1SQL est le langage utilisé pour interroger et modifier des bases de données relationnelles.
- 2Les données sont organisées en tables reliées par des clés primaires et étrangères.
- 3SELECT, INSERT, UPDATE et DELETE sont les quatre opérations de base sur les données.
- 4Les jointures permettent de combiner des informations venant de plusieurs tables à la fois.
- 5Toujours vérifier la clause WHERE avant d'exécuter un UPDATE ou un DELETE évite des erreurs graves.
Dix questions sur ce sujet démarrent tout de suite, corrigées et expliquées.
L'essentiel en six phrases, à relire la veille.
Cours rédigé par intelligence artificielle et relu au fil des retours. Pour un examen officiel, garde tes cours et les textes en vigueur comme référence.