Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:2i009:tme_triggers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:licence:2i009:tme_triggers [19/03/2019 15:22]
amann
site:enseignement:licence:2i009:tme_triggers [15/04/2019 19:24] (Version actuelle)
amann [Rappel PL/SQL]
Ligne 64: Ligne 64:
 </​code>​ </​code>​
  
-Le code d'une exception utilisateur doit être compris entre -20999 et 20000.+Le code d'une exception utilisateur doit être compris entre -20999 et -20000.
  
 ** Limitations : ** ** Limitations : **
Ligne 111: Ligne 111:
  
 ==== Question 1 ==== ==== Question 1 ====
- Créer ​un trigger ​qui assure ​que les valeurs des attributs NIVEAU et CODEUE, entrées dans la table TD, soient en majuscules, quelle que soit la casse utilisée ​lors des instructions d’insertion ou de mise à jour (utilisez la fonction UPPER). ​+Créer ​deux triggers ​qui assurent ​que les valeurs des attributs NIVEAU et CODEUE, entrées dans la table TD et INSCRIPTION, soient en majuscules, quelle que soit la casse utilisée ​dans les instructions d’insertion ou de mise à jour (utilisez la fonction UPPER). Vérifiez si les triggers sont corrects.
 ==== Question 2 ==== ==== Question 2 ====
  ​Créez un trigger qui empêche qu'un étudiant s'​inscrive dans plus que 6 UEs.   ​Créez un trigger qui empêche qu'un étudiant s'​inscrive dans plus que 6 UEs. 
Ligne 117: Ligne 117:
 Créez un trigger qui empêche que le nombre de groupes de TD par UE dépasse 4. Créez un trigger qui empêche que le nombre de groupes de TD par UE dépasse 4.
 ==== Question 4 ==== ==== Question 4 ====
-Créez un trigger qui empêche le nombre d'​étudiants dans chaque groupe de dépasser 32.+Créez un trigger qui empêche ​qu’un étudiant suive deux TDs enseignés par le même enseignant.
 ==== Question 5 ==== ==== Question 5 ====
 Pour empêcher un étudiant de s’inscrire à des TD incompatibles (i.e. ayant lieu en même temps), ​ on introduit une nouvelle contrainte d’intégrité dans la base : un étudiant ne peut pas avoir deux inscriptions qui lui imposent d’être, au même moment, à deux endroits différents. Pour empêcher un étudiant de s’inscrire à des TD incompatibles (i.e. ayant lieu en même temps), ​ on introduit une nouvelle contrainte d’intégrité dans la base : un étudiant ne peut pas avoir deux inscriptions qui lui imposent d’être, au même moment, à deux endroits différents.
Ligne 131: Ligne 131:
 </​code>  ​ </​code>  ​
   * si l’étudiant a déjà pris une inscription correspondant au même jour et à la même heure, la contrainte de table précédente provoque le rejet du nouveau quadruplet ​ (NoETUDIANT,​ JOUR, HEURE, SALLE), le trigger est arrêté sur erreur, et l’instruction d’insertion d’un nouvel élément dans la table INSCRIPTION est, par suite, arrêtée sur erreur. ​   * si l’étudiant a déjà pris une inscription correspondant au même jour et à la même heure, la contrainte de table précédente provoque le rejet du nouveau quadruplet ​ (NoETUDIANT,​ JOUR, HEURE, SALLE), le trigger est arrêté sur erreur, et l’instruction d’insertion d’un nouvel élément dans la table INSCRIPTION est, par suite, arrêtée sur erreur. ​
 +
 +==== Question 6 (optionnel) ====
 +Trouvez une solution pour la question précédente qui évite d’introduire la table supplémentaire LOCETUD. Conseil : il faut faire une jointure sur les tables TD et INSCRIPTION.
  
        
  
site/enseignement/licence/2i009/tme_triggers.1553005366.txt.gz · Dernière modification: 19/03/2019 15:22 par amann