Cours SQL et MySQL · Module 9: Index et normalisation

Les Pinakes achevés - résumé

2 min de lecture
Dans cette leçon3

Félicitations ! Tu as terminé la Salle du Catalogue - la partie la plus difficile de la Bibliothèque. Tes Pinakes sont prêts, les rayons sont en ordre, et la Bibliothèque retrouve chaque parchemin vite et sans erreur. C'est un grand art que nul scribe ordinaire n'a maîtrisé. Voici ce que tu as maîtrisé au cours de ce voyage :

Ce que tu as appris

  • Un index est un catalogue qui accélère la recherche - au lieu de balayer toute la table parchemin par parchemin, la base de données le consulte et va directement au bon endroit.
  • CREATE INDEX crée un catalogue ; un UNIQUE INDEX garantit en plus que les valeurs ne se répètent pas.
  • Nous indexons les colonnes utilisées dans WHERE, JOIN et ORDER BY. le prix à payer est des écritures plus lentes et plus d'espace occupé, donc nous indexons avec précaution.
  • EXPLAIN montre le plan d'exécution - grâce aux colonnes type et key, tu vérifies si MySQL a utilisé un index ou parcouru laborieusement toute la table.
  • PRIMARY KEY (une seule, pas de NULL), UNIQUE (plusieurs, NULL autorisé) et un INDEX simple (doublons autorisés) diffèrent par la rigueur de leurs règles, mais tous accélèrent la lecture.
  • FOREIGN KEY relie les tables et garantit l'intégrité référentielle ; les règles ON DELETE CASCADE et ON DELETE SET NULL décident du sort des lignes liées.
  • La normalisation (1FN, 2FN, 3FN) élimine les répétitions : valeurs atomiques, dépendance totale envers la clé, et absence de dépendances transitives.

Carte du catalogue

ConceptÀ quoi ça sert
INDEXrecherche rapide
UNIQUEunicité des valeurs
FOREIGN KEYcohérence entre les tables
Normalisationaucune redondance

Et ensuite ?

Dans le prochain lieu, nous nous attaquerons aux transactions - l'art d'exécuter plusieurs commandes pour que toutes réussissent, ou qu'aucune ne laisse de trace. Ton catalogue est prêt, il est donc temps de sécuriser les écritures. En avant, plus profond dans la Bibliothèque !

Tu as repéré une erreur dans cette leçon ?