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:// | ||