STIC B 525 Travail Final (Frerotte B.).pdf


Aperçu du fichier PDF stic-b-525-travail-final-frerotte-b.pdf

Page 1 2 3 4 5 6 7 8 9 10 11




Aperçu texte


dates, ce fut le type date qui a été utilisé, ce qui permet d’éviter les nombreux problèmes inhérents
à ce type de colonne. Le type enum a également été utilisé à différentes reprises. De fait, ce dernier
est très pratique pour limiter les erreurs puisqu’il force l’utilisateur à choisir une valeur pour un
champ dans un ensemble donné.
On remarque également que le mode cascade a été choisi pour préserver l’intégrité référentielle
lors de la suppression ou la modification d’une ligne. Grâce à ce mode, lorsque l’équipe de gestion
de la base de données supprime ou modifie une ligne, tous les éléments renseignant cette ligne subiront les mêmes modifications. Ainsi, si un organisateur est supprimé dans la table organisateur,
toutes les données de contact de ce dernier seront supprimées des tables numero, mail et adresse.
De même, si un organisateur se voit attribuer un nouvel identifiant pour une raison quelconque,
cette modification se propagera à toutes les activités de cette organisateur.
Une trentaine de triggers ont également été implémentés dans le code SQL afin de garantir
autant que faire se peut la qualité des données dans la base de données. Ceux-ci se répartissent en
trois catégories.
1. Triggers de vérification des liens entre attributs :
Ce premier type de trigger va permettre de vérifier les liens de dépendance entre différents
champs.

Ainsi, dans l’exemple ci-dessus, le trigger va vérifier :
— Qu’une activité ne renseigne pas de tarif si elle est renseignée comme étant gratuite. Autrement dit, le trigger vérifie que le champ tarif n’a pas de valeur si le champ gratuit a pour
valeur « oui ».
— Qu’une activité renseigne un tarif si elle est renseignée comme n’étant pas gratuite. Autrement dit, le trigger vérifie que le champ tarif a bien une valeur si le champ gratuit a pour
valeur « non ».
— Qu’une activité renseigne la période pour laquelle le tarif est valable si elle est renseignée
comme étant payante. Autrement dit, le trigger vérifie que le champ periodetarif a bien une
valeur si le champ tarif a également une valeur.
Une table erreur a également été créée dans la base de données afin de stocker différents
messages. Ceux-ci permettent de préciser pourquoi une opération est refusée lorsque celle-ci va à
l’encontre d’un évènement précisé dans le trigger.

5