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:3i009:tme_triggers_vues

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
site:enseignement:licence:3i009:tme_triggers_vues [21/10/2015 19:39]
amann créée
site:enseignement:licence:3i009:tme_triggers_vues [10/12/2018 18:14] (Version actuelle)
hubert
Ligne 1: Ligne 1:
-{{indexmenu_n>​28}}+{{indexmenu_n>​12}}
  
-====== TME Triggers et Vues  ======+====== TME 11-b Triggers et Vues  ======
  
 ===== MISE - À - JOUR DE VUES AVEC TRIGGERS ===== ===== MISE - À - JOUR DE VUES AVEC TRIGGERS =====
Ligne 13: Ligne 13:
  
 Vues : Vues :
-  * POLICIER (COTE, TITRE, AUTEUR) +  * POLICIER (COTE, TITRE, AUTEUR) ​ //​(185 nuplets)// 
-  * LECTEUR_CATEGORIE (NOLECTEUR, CATEGORIE) +  * LECTEUR_CATEGORIE (NOLECTEUR, CATEGORIE) ​//(21 nuplets)// 
-  * LECTEUR_POLICIER(NOLECTEUR,​ NOM, ADRESSE, COTE, DATEEMPRUNT,​ DATELIMITE) +  * LECTEUR_POLICIER(NOLECTEUR,​ NOM, ADRESSE, COTE, DATEEMPRUNT,​ DATELIMITE) ​ //(18 nuplets)// 
-  * DEPASSEMENTS (NOLECTEUR, COTE, DATELIMITE) +  * DEPASSEMENTS (NOLECTEUR, COTE, DATELIMITE) ​ //(4 nuplets)// 
-  * STATISTIQUES (NOLECTEUR, NBLIVRES)+  * STATISTIQUES (NOLECTEUR, NBLIVRES) ​//(3 nuplets)//
  
-  - Définissez un trigger pour pouvoir ​ensuite ​insérer un nouveau roman policier ​au moyen de la +  - Définissez un trigger pour pouvoir ​ insérer un nouveau roman policier ​dans la vue Policier. La commande ​suivante peut être utilisée ​SQL INSERT et en utilisant seulement la vue POLICIER :
-commande SQL INSERT et en utilisant seulement la vue POLICIER :+
 <code sql> <code sql>
 INSERT INTO POLICIER VALUES ('​PIW01','​Ma vie','​Sherlock Holmes'​) ; INSERT INTO POLICIER VALUES ('​PIW01','​Ma vie','​Sherlock Holmes'​) ;
Ligne 29: Ligne 28:
  
 <code sql> <code sql>
-CREATE TRIGGER nom-trigger+CREATE ​OR REPLACE ​TRIGGER nom-trigger
 INSTEAD OF INSERT | DELETE | UPDATE INSTEAD OF INSERT | DELETE | UPDATE
 ON nom-table [ORDER valeur de priorité] ON nom-table [ORDER valeur de priorité]
Ligne 40: Ligne 39:
 Attention : On ne peut pas spécifier l'​attribut mis-à-jour avec l'​option INSTEAD OF UPDATE. Attention : On ne peut pas spécifier l'​attribut mis-à-jour avec l'​option INSTEAD OF UPDATE.
  
-  - Définissez des triggers (si nécessaire) pour pouvoir ​effectuer les mises-à-jour ​suivants ​sur les vues. Vérifiez la propagation des mises-à-jour dans les données.+**Définissez des triggers (lorsque ​nécessaire) pour pouvoir ​propager l'​effet ​ des mises-à-jour ​des vues sur les table à partir desquelles elles sont calculées **
  
 a) <code sql>​DELETE DEPASSEMENTS where nolecteur=5 ;</​code>​ a) <code sql>​DELETE DEPASSEMENTS where nolecteur=5 ;</​code>​
 Attention : on ne veut pas effacer les n-uplets dans la table PRET. Attention : on ne veut pas effacer les n-uplets dans la table PRET.
 +
 b) <code sql>​UPDATE LECTEUR_POLICIER SET DATELIMITE = DATELIMITE+14;</​code>​ b) <code sql>​UPDATE LECTEUR_POLICIER SET DATELIMITE = DATELIMITE+14;</​code>​
 +
 c) <code sql>​UPDATE LECTEUR_POLICIER SET NOM = '​Gaspart Dupond'​ WHERE NOM = '​Gaspard Dupont';</​code>​ c) <code sql>​UPDATE LECTEUR_POLICIER SET NOM = '​Gaspart Dupond'​ WHERE NOM = '​Gaspard Dupont';</​code>​
 Attention : Attention :
-  * Il peut exister un homonyme de Gaspard Dupont qui ne lit pas des romans policiers. ​ 
   * Il faut que la mise-à-jour b) fonctionne toujours !   * Il faut que la mise-à-jour b) fonctionne toujours !
 +  * Il y a deux lecteurs homonymes '​Gaspard Dupont'​ mais un seul est lecteur de policiers.
site/enseignement/licence/3i009/tme_triggers_vues.1445449151.txt.gz · Dernière modification: 21/10/2015 19:39 par amann