Les triggersChapitre 11/11
Une règle que personne ne peut oublier
AttentionHors programme NSI. Comme les index, les triggers ne sont pas au programme du bac. Ce chapitre est là pour la suite : BTS SIO, IUT, licence d'informatique, ou un entretien technique.
Imagine la base d'un cinéma. Plusieurs programmes y écrivent : le site web, l'appli mobile, le logiciel de la caisse, et le petit script qu'un stagiaire a écrit un vendredi soir. Le cinéma veut trois choses :
- Garder un historique : noter chaque film ajouté, chaque note modifiée.
- Mettre à jour un stock : quand quelqu'un réserve 3 places, retirer 3 places à la séance.
- Empêcher une valeur interdite : une note de 15/10, une réservation de plus de places qu'il n'en reste.
On pourrait demander à chaque programme de le faire lui-même. Mais il suffit qu'un seul oublie (le script du stagiaire, au hasard) pour que l'historique ait des trous et que la séance soit vendue deux fois.
La solution : mettre la règle dans la base elle-même. Un trigger (« déclencheur » en français) est un morceau de SQL rangé dans la base, qu'elle exécute toute seule chaque fois qu'un événement précis arrive sur une table. Comme une lumière à détecteur de mouvement : personne n'appuie sur l'interrupteur, c'est le passage qui l'allume.
Programme complet du cours SQL (11 chapitres, gratuit)
- 1. Découvrir SELECT et FROM : Les deux mots-clés de base pour lire des données dans une table.
- 2. Choisir ses colonnes : Renommer une colonne dans le résultat, et supprimer les doublons.
- 3. Filtrer avec WHERE : Ne garder que les lignes qui vérifient une ou plusieurs conditions.
- 4. Trier et limiter : Ranger le résultat dans un ordre choisi, et n'en garder qu'une partie.
- 5. Agréger les données : Compter, additionner, faire des moyennes, et regrouper par catégorie.
- 6. Clés primaires et étrangères : Identifier une ligne sans ambiguïté, et relier des tables entre elles.
- 7. Joindre plusieurs tables : Combiner deux tables liées par un identifiant commun en une seule requête.
- 8. Modifier les données : Ajouter, corriger et supprimer des lignes, avec le langage SQL, pas seulement le lire.
- 9. Créer une table : Définir soi-même la structure d'une nouvelle table, avant même d'y mettre des données.
- 10. Les index : Retrouver une ligne parmi un million sans tout lire : le principe de l'index, et son prix.
- 11. Les triggers : Faire réagir la base toute seule à chaque ajout, modification ou suppression.