Sie sind auf Seite 1von 4

NOM : PRENOM : GROUPE :

EMSI Rabat
4IRT/BDA
20 12-2013
Examen de rattrapage
Durée : 2h00
Documents du cours et les scripts des TPs autorisés

Enoncé
On considère le schéma suivant de la base de données : gestion de notes.

Matiere (CodeMatiere, NomMatiere, CoefficientControlContinu, CoefficientExamen)


Etudiant(NumEtudiant, NomEtudiant, PrenomEtudiant)
Notation (NumEtudiant, CodeMatiere, NoteControlContinu, NoteExamen)

Avec les propriétés suivantes:

Attribut Type Contrainte sur l’attribut


CodeMatiere NUMBER(20) PRIMARY KEY
NomMatiere VARCHAR2(20) UNIQUE AND NOT NULL
CoefficientControlContinu NUMBER(1) NOT NULL
CoefficientExamen NUMBER(1) NOT NULL
NumEtudiant NUMBER(20) PRIMARY KEY
NomEtudiant VARCHAR2(20) NOT NULL
PrenomEtudiant VARCHAR2(20) NOT NULL
NoteControlContinu NUMBER(4,2) NOT NULL
NoteExamen NUMBER(4,2) NOT NULL

Les clés primaires sont en gras et soulignées.

Partie 1 : définition des données


On suppose que les tables Matiere et Etudiant sont déjà créées.
Q1 : Créer la table Notation et n’oubliez pas les contraintes d’intégrités référentielles (2
points)
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

1/4
NOM : PRENOM : GROUPE :

Partie 2 : Les vues (3 points)


Q2 : Créer une vue EtudiantMoyenne qui donne les étudiants et leurs moyennes par
matière. Le schéma de la vue est (NumEtudiant, CodeMatiere, NoteControlContinu ,
NoteExamen, MoyenneDelaMatiere). (3 points)
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

Q3 : Peut-on modifier ou insérer une note de control ou d’examen à travers cette vue ?
Expliquez. (2 points)
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

Partie 3: Les triggers sur vue


Q4 : Ecrire un trigger qui permet de modifier une note à travers la vue
EtudiantMoyenne. (4 points)
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

2/4
NOM : PRENOM : GROUPE :

Partie 4 : Les triggers


On veut garder la trace de chaque modification des notes avec la date et le nom de
l’utilisateur ayant modifié la note. Pour ça, on crée la table trace :
Trace(NumModification, NomUtilisateur, TypeNote, AncienneNote, NouvelleNote) avec
NumModification un numéro quelconque qui doit être généré par une SEQUENCE de
Oracle (un compteur), NomUtilisateur et le nom de l’utilisateur qu’on peut récupérer de
la variable Oracle USER ; TypeNote pour spécifier s’il s’agit d’une note de control ou
bien d’examen avec C comme valeur pour désigner la note de control et E pour la note
d’examen ; et AncienneNote et NouvelleNote désignent respectivement la note avant et
après modification.

Q5 : Créer la table Trace (2 point).

-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

Q6 : Créer la séquence NUMMODIF pour compter les nombres de modification. (1


point).
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Q7 : Ecrire un trigger pour tracer les modifications sur la table Notation et les stocker
dans la table Trace. (6 points)
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

3/4
NOM : PRENOM : GROUPE :

-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

4/4