~~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]]