Vous êtes sur la page 1sur 2

UNIVERSITE IBA DER THIAM DE THIES

UFR SET
LGI S / EXAMEN SESSION 1 /2022-2023

Pr C THIAM / email cthiam@univ-thies.sn

1. Ecrire un trigger sur la table inscription qui augmente le nombre d’inscrits qui se trouve dans la
table cours

CREATE TRIGGER Trig_Inscrits After INSERT ON INSCRPTION FOR EACH ROW //pour chaque
nouvel inscrit BEGIN Update Cours SET Nb_Inscrits=Nb_Inscrits+1 where Cours.Sem=new.Sem AND
Cours.NumC=new.Numc; END;

2. On veut garder la trace des opérations effectuées par les utilisateurs sur une table Inscrits en
insérant le nom d’utilisation (USER) , le mot « insertion » et la date système SYSDATE dans la
table tab_logs(Utilisateur, operation, heure)

CREATE TRIGGER TRIG_INSC AFTER INSERT ON Inscrits BEGIN Insert into


tab_logs(Utilisateur, operation, heure) values (USER, ‘insertion’, SYSDATE); END;

3. Ecrire un trigger qui affiche , à chaque s insertion dans la table employé le message suivant :
‘On passera de N a N+1'
N étant le nombre d’employés avant insertion. Utiliser la fonction dbms_output.put por afficher
le message

CREATE TRIGGER compter BEFORE INSERT ON Emp DECLARE nombre number; BEGIN
nombre := select COUNT(*) from EMP; dbms_output.put(‘On passera de' || :nombre);
dbms_output.put(‘a ' || :nombre+1); END;

4. Pour gérer facilement la base de données de l'école, le gestionnaire de base de


données décide de créer des déclencheurs. Voici un extrait du schéma de base de
données:
• Etudiant(eid:integer, enom:string, age:integer, niveau:string, section:string)
• Cours(cnom:string, heure_cours:time, salle: string, #pid:integer)
• Inscription(#eid:integer, #cnom:string)
• Professeur(pid:integer, pnom:string, #depid:integer)

Travail à faire
Exprimez les exigences suivantes en utilisant des déclencheurs :
• Chaque Cours a un effectif maximum de 30 étudiants.
• Seuls les enseignants du département avec depid = 33 enseignent plus de trois cours.
• Chaque étudiant doit être inscrit au cours "informatique théorique".
• Aucun département ne peut avoir plus de 10 enseignants.
• Le nombre d'élèves inscrits dans la section base de données doit être supérieur au
nombre d'élèves dans la section Mathématiques.
• le nombre d'inscription aux cours enseignés par les enseignants du département avec
depid = 33 est supérieur au nombre d'inscriptions dans la section mathématique.
• Les professeurs de différents départements ne peuvent pas enseigner dans la même
salle

5. NoSQL
a. Créer une nouvelle base de données nommée info et vérifiez qu'elle est sélectionnée.
b. Créer une nouvelle collection nommée produits et y insérer le document suivant:
c. Ajout d’autres documents:
d. Récupérer tous les produit
e. Récupérer le premier produit.
f. Trouver l’id du Thinkpad X230 et faire la requête pour récupérer ce produit avec son id.
g. Récupérer les produits dont le prix est supérieur à 13723 DA.
h. Récupérer le premier produit ayant le champ ultrabook à true.
i. On affiche ici les produits dans l’ordre croissant de leur prix
j. Récupérer le premier produit dont le nom contient Macbook.
k. Mise à jour d’un document dans une collection Dans cet exemple on modifié le prix de
produit de nom Macbook Air.
l. Supprimer les deux produits dont le fabricant est Apple

Vous aimerez peut-être aussi