Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| sio2:d4-a07-exercice_applicatif_sur_les_declencheurs [2025/03/14 09:48] – dthevenot | sio2:d4-a07-exercice_applicatif_sur_les_declencheurs [2025/03/18 08:29] (Version actuelle) – [D4-A07 : Exercice applicatif sur les déclencheurs : (2) Gestion automatisée des données d'un parc immobilier] dthevenot | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== D4-A07 : Exercice applicatif sur les déclencheurs : Gestion automatisée des données d'un parc immobilier ====== | + | ====== D4-A07 : Exercice applicatif sur les déclencheurs : (1) Gestion automatisée des données d'un parc immobilier ====== |
| + | < | ||
| Soit le modèle relationnel des données suivant : | Soit le modèle relationnel des données suivant : | ||
| Ligne 33: | Ligne 34: | ||
| DELIMITER ; | DELIMITER ; | ||
| </ | </ | ||
| - | | + | - Alternative empêchant l’insertion (aucune action, transaction interrompue) si il y a un prix et pas de place de parking, |
| - | | + | |
| - < | - < | ||
| IF NEW.placeParking = 0 AND NEW.prixParking IS NOT NULL THEN | IF NEW.placeParking = 0 AND NEW.prixParking IS NOT NULL THEN | ||
| Ligne 47: | Ligne 47: | ||
| - Modifier l' | - Modifier l' | ||
| < | < | ||
| - | -- Insertion d'un immeuble | + | -- Insertion d'un immeuble |
| INSERT INTO immeuble | INSERT INTO immeuble | ||
| (Id, adrNum, adrVoie, adrCodePostal, | (Id, adrNum, adrVoie, adrCodePostal, | ||
| Ligne 54: | Ligne 54: | ||
| </ | </ | ||
| < | < | ||
| - | -- Insertion de deux appartements, | + | -- Insertion de deux appartements, |
| -- les deux ayant un prix de place de parking | -- les deux ayant un prix de place de parking | ||
| - | -- La première insertion doit échouer, la seconde réussir. | ||
| INSERT INTO appartement | INSERT INTO appartement | ||
| | | ||
| Ligne 66: | Ligne 65: | ||
| ===== A vous de jouer ! ===== | ===== A vous de jouer ! ===== | ||
| - | - Adapter les triggers précédents afin de vérifier la contrainte suivante : un appartement ne peut avoir de place de parking si l’immeuble n’a pas de parking privatif ; | + | - Adapter les triggers précédents afin de vérifier la contrainte suivante : un appartement ne peut pas avoir de place de parking si l’immeuble n’a pas de parking privatif ; |
| - | - On souhaite que la contrainte suivante soit vérifiée | + | - On souhaite que la contrainte suivante soit appliquée: la superficie totale d’un appartement doit être égale à la somme de la superficie de chacune de ses pièces. Pour ce faire, créer les triggers nécessaires. |
| - Combien en créez-vous ? sur quels événements ? sur quelle(s) tables() ? | - Combien en créez-vous ? sur quels événements ? sur quelle(s) tables() ? | ||
| - Comment les appelez-vous ? | - Comment les appelez-vous ? | ||
| Ligne 74: | Ligne 73: | ||
| ===== Tests unitaires ===== | ===== Tests unitaires ===== | ||
| - | * Insérer une pièce de superficie X et constater que la superficie de l’appartement à augmenter de X. | + | * définissez les tests unitaires à réaliser |
| - | * Supprimer une pièce, constater la mise à jour de la superficie. | + | |
| - | * Modifier la superficie d’une pièce, constater la mise à jour de la superficie. | + | |
| - | * ... | + | |
| - | + | ||
| + | ====== D4-A07 : Exercice applicatif sur les déclencheurs : (2) Gestion de commandes de formations ou de livres ====== | ||
| + | - {{ : | ||
| + | - [[https:// | ||