~~SLIDESHOW~~
====== D4-A04 : La gestion d'événements en SQL avec MariaDB ======
===== Objectifs : =====
* Apprendre à créer et gérer des événements dans MariaDB.
* Automatiser des traitements utiles en entreprise (nettoyage, notifications, calculs périodiques).
* Manipuler les droits, tables et procédures nécessaires à leur mise en place.
* Découvrir les procédures stockées
===== Étape 1 : Préparation du contexte =====
- Créer une base de données bdEntreprise.
- Créer un utilisateur utilEntreprise avec les droits suivants : droits complets sur bdEntreprise et droit EVENT.
- Créer une table evenement (dans la bdEntreprise) pour tracer les actions planifiées :
CREATE TABLE evenement (
idEvenement INT AUTO_INCREMENT PRIMARY KEY,
insEvenement DATETIME DEFAULT CURRENT_TIMESTAMP,
infoEvenement VARCHAR(100)
);
===== =====
La gestion de cette table va permettre de savoir à quelle heure un évènement est exécuté grâce au champ
insEvenement. Le champ infoEvenement sera initialisé avec le rôle de l'événement("toutes les minutes",
"toutes les minutes pendant 1h", "dans 2 minutes",…). Ainsi, nous saurons quel est l'évènement à l'origine de la création ou de la modification de l'enregistrement.
===== Étape 2 : Créer une procédure stockée =====
Les procédures stockées sont des programmes exécutables enregistrés sur le serveur de bases de données. Elles seront étudiées prochainement.
DELIMITER |
CREATE PROCEDURE insertion (IN message VARCHAR(50))
BEGIN
INSERT INTO evenement (infoEvenement)
VALUES (CONCAT('PROCÉDURE : ', message));
END |
DELIMITER ;
Testez avec : CALL insertion('Test d’insertion');
Que fait cette procédure stockée ?
Quel est son rôle dans notre environnement d'apprentissage des événements
===== Étape 3 : Créer les événements suivants =====
- Insérer une ligne dans la table evenement toutes les minutes.
- Insérer une ligne dans la table evenement toutes les minutes pendant 1h.
- Insérer une ligne dans la table evenement dans deux minutes.
- Insérer une ligne dans la table evenement chaque jour à 9h40.
- Insérer une ligne dans la table evenement chaque jour à 9h à partir de jeudi prochain.
Montrer le travail terminé
===== =====
__Bilan :__
* Actualiser votre table evenement régulièrement,
* Fermer et rouvrir votre outil de gestion de bases de données quelques minutes plus tard, que constatez-vous par rapport à vos événements ? Pourquoi ?
* Regarder votre table evenement à la prochaine séance, que remarquez-vous ? Pourquoi ?
===== Étape 4 : Vérification et suivi =====
SHOW EVENTS; -- lister les événements
Vérifiez leur état (ENABLE / DISABLE).
===== Conclusion =====
Grâce aux événements, MariaDB permet d’automatiser des tâches récurrentes ou ponctuelles. Ils complètent les procédures stockées et offrent un moyen simple de planifier des traitements sans avoir recours à un langage externe. Les exercices proposés vous permettront de maîtriser progressivement cette fonctionnalité
[[D4:TP01]]