Les bases de données relationnelles et SQL
- Code
- TM 30
- Public
- Rayon disciplinaire, tous publics
- Cours
- 8 pages, PDF
- Diaporama
- 25 diapositives, thèmes sombre et clair, PowerPoint modifiable et PDF
- Synthèse
- 2 pages, PDF
- Podcast
- Fichier audio
- Vidéo
- Fichier vidéo MP4
- Infographie
- L'essentiel de la fiche sur une image
- Avec l'achat
- Téléchargement dans votre espace client
Un onglet « Clients », un onglet « Commandes », un onglet « Factures » reliés par des recherches verticales : le classeur tient quelques mois, puis le client déménage, l'adresse est corrigée à trois endroits sur cinq, et le fichier contient deux vérités sans qu'aucune ne se signale comme fausse. Le tableur enregistre ce qu'on lui donne ; la base relationnelle refuse ce qui contredit le modèle déclaré.
Voir ce que traite le cours
Cours
8 pages rédigées, en PDF.

Diaporama
25 diapositives en PowerPoint modifiable, thème sombre pour projeter et thème clair pour imprimer.

Synthèse
2 pages pour réviser l'essentiel.
Podcast
La notion expliquée à l'oral, à écouter hors de l'écran.
Vidéo
Une présentation animée de la notion, en MP4.
Infographie
L'essentiel de la fiche sur une image.
Ce que traite le cours
8 parties, 8 pages
IStructurer plutôt qu'accumuler : ce que le tableur ne garantit pas
IILe vocabulaire du modèle : table, ligne, colonne, clé
- 1 La clé primaire : identifier avant de relier
- 2 La clé étrangère : matérialiser le lien
IIIDu modèle conceptuel au schéma relationnel : les règles de passage
IVNormaliser : trois formes suffisent en gestion
VLes contraintes d'intégrité : ce que la base refuse
VIInterroger : l'ordre d'écriture n'est pas l'ordre d'évaluation
VIILes jointures : rapprocher, et surtout détecter les absences
VIIIDe la requête au pilotage : outillage, habilitations et responsabilité
Notions, outils et auteurs
Chaque repère mène aux autres fiches qui le traitent.
Notions
Modèles et outils
Présentation de la notion
Du classeur-base au modèle relationnel
La fiche part des cinq défauts que le tableur employé comme base fait apparaître toujours dans le même ordre — redondance, anomalies de mise à jour, d'insertion et de suppression, rapprochements fragiles — et leur oppose la réponse du modèle formalisé par Edgar Codd en 1970 : une information, un seul endroit, et des clés pour relier. Suivent le vocabulaire du modèle, l'arbitrage entre clé naturelle et clé technique, et le rôle de la clé étrangère, qui déplace le contrôle de l'aval vers l'amont.
Concevoir un schéma défendable
La conception commence avant les tables. La fiche déroule la lecture des cardinalités héritées de la méthode Merise, les cinq règles de passage du modèle conceptuel au schéma relationnel, puis les trois formes normales utiles en gestion, avec règle, symptôme et correction. Une distinction y est traitée à part, car elle décide de la justesse des historiques :
- la redondance fautive, qui fabrique de la contradiction ;
- la donnée historisée — prix appliqué, taux retenu — qui se fige dans la ligne qui la constate ;
- la dénormalisation contrôlée du décisionnel, distincte du transactionnel qui exige la 3FN.
Ce que la base refuse, et comment l'interroger
Cinq familles de contraintes d'intégrité sont détaillées, avec le traitement de la valeur NULL et les propriétés ACID des transactions. Vient ensuite le cœur pratique : l'écart entre l'ordre d'écriture des six clauses d'un SELECT et leur ordre d'évaluation, d'où découle le partage entre WHERE et HAVING ; les cinq formes de jointure ; et surtout l'anti-jointure, LEFT JOIN associé à IS NULL, qui produit ce qu'aucun état standard n'édite : les commandes livrées jamais facturées, les clients sans commande, les factures sans règlement.
À qui elle s'adresse
Elle vise le gestionnaire, l'assistant et l'étudiant qui doivent lire un schéma de données, formuler eux-mêmes leur question au lieu d'attendre l'état que le logiciel produit, et livrer un chiffre défendable. Un cas appliqué — le contrôle des encaissements chez un négociant —, six besoins de gestion et leur requête, les pièges récurrents et un glossaire complètent l'ensemble.
Objectifs de la fiche
- Lire un schéma de données : entités, cardinalités, clés primaires et clés étrangères
- Traduire un modèle conceptuel en tables par les cinq règles de passage, jusqu'à la table de jonction
- Contrôler un schéma jusqu'à la troisième forme normale et distinguer redondance fautive et donnée historisée
- Déclarer les contraintes d'intégrité pour que la base refuse l'écriture fautive au lieu de la signaler après coup
- Écrire une requête SELECT juste en plaçant le filtre au bon rang : WHERE sur les lignes, HAVING sur les groupes
- Construire une anti-jointure (LEFT JOIN et IS NULL) pour identifier ce qui manque : clients sans commande, factures sans règlement
Questions fréquentes
Faut-il savoir programmer pour écrire une requête SQL ?
Non. La fiche part du vocabulaire du modèle, puis des six clauses d'un SELECT — SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. La difficulté n'est pas technique mais logique : l'ordre d'écriture n'est pas l'ordre d'évaluation, et comprendre cet écart résout d'un coup la plupart des erreurs de débutant. Le langage étant normalisé par l'ANSI en 1986 puis l'ISO en 1987, ce qui est appris vaut pour des moteurs concurrents.
Pourquoi ne pas continuer à travailler sous tableur ?
Parce que le tableur calcule et met en forme, mais ne juge rien : employé comme base, il accumule sans garantir la cohérence. La différence n'est pas de degré mais de nature. Une facture rattachée à un client inexistant n'est pas, dans une base relationnelle, une anomalie à retrouver lors d'un contrôle : c'est une écriture que la base a refusée. Le contrôle passe de l'aval à l'amont.
Peut-on demander à une IA d'écrire la requête à sa place ?
L'assistance par IA générative modifie le rapport au langage sans modifier la responsabilité. Un modèle rédige une requête plausible à partir d'un énoncé en français, mais il ne connaît ni le schéma réel, ni les conventions de l'entreprise, ni le sens comptable des colonnes. La vérification reste entière : contrôler le nombre de lignes retourné, recouper un total avec un état connu, tester sur un sous-ensemble dont le résultat est connu d'avance.