Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ~~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 : <code> CREATE TABLE evenement ( idEvenement INT AUTO_INCREMENT PRIMARY KEY, insEvenement DATETIME DEFAULT CURRENT_TIMESTAMP, infoEvenement VARCHAR(100) ); </code> ===== ===== 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 ===== <bootnote>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.</bootnote> <code> DELIMITER | CREATE PROCEDURE insertion (IN message VARCHAR(50)) BEGIN INSERT INTO evenement (infoEvenement) VALUES (CONCAT('PROCÉDURE : ', message)); END | DELIMITER ; </code> Testez avec : <code>CALL insertion('Test d’insertion');</code> <bootnote>Que fait cette procédure stockée ? Quel est son rôle dans notre environnement d'apprentissage des événements</bootnote> ===== É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. <badge>Montrer le travail terminé</badge> ===== ===== __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 ===== <code> SHOW EVENTS; -- lister les événements </code> 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]] d4/a04.txt Dernière modification : 2025/09/25 15:11de dthevenot