Académique Documents
Professionnel Documents
Culture Documents
RABAT
1) Ecrire les requêtes SQL qui permettent de créer les différentes tables de la base de
données : Etudiant, Professeur, Matiere, Note, Absence. N’oublier pas les contraintes
d’intégrité : clés primaires, clés étrangères, contraintes de domaine.
2) Ajouter les contraintes d’intégrité suivantes :
a- Pour la table Note : noteC et noteEx doit être entre 0 et 20 ;
b- Pour la table Absence : Le nombre d’heures doit être strictement positif.
1/2
2) la mise à jour de la note d’examen de tous les étudiants de la table Note suivant les
conditions de la question 3.
Exercice 2
Considérons la base de données « enseignement ».
1) Créer la table Resultat (NumE, NomE, NumMatiere, Noteglobale). Ecrire un
programme PL/SQL permettant d’insérer dans la table Resultat tous les tuples
constitués du numéro d’un étudiant, de son nom, du code d’une matière et de la note
obtenue par cet étudiant dans cette matière. Le calcul de cette note doit tenir compte
des coefficients de contrôle continu et d’examen définis pour la matière en question.
Utiliser un curseur avec la boucle FOR…LOOP
2) Créer la table Classement (NumE, NomE, moy_generale, Mention). Ecrire un
programme PL/SQL permettant d’insérer dans la table Classement tous les tuples
constitués du numéro d’un étudiant, de son nom, de la moyenne générale obtenue dans
toutes les matières par cet étudiant et de sa mention (selon les conditions suivantes :
o Si moyenne< 10 ‘echec’
o Si 10<=moyenne< 12 ‘aucune mention’
o Si 12<= moyenne< 14 ‘ assez bien’
o Si 14<= moyenne< 16 ‘ bien’
o Si 16<= moyenne<= 20 ‘ très bien’
Exercice 3
Considérons la base de données « enseignement ».
1) Ecrire une procédure Affiche_Absence qui permet d’afficher le nombre d’absences
d’un étudiant dans une matière. Cette procédure a comme paramètres d’entrée le
numéro de l’étudiant et le numéro de matière. La procédure doit gérer les erreurs
suivantes :
- Numéro de l’étudiant erroné ;
- Numéro de matière erroné.
2) Créer une procédure Supprimer_etudiant qui permet de supprimer un enregistrement
dans la table Etudiant, avec en paramètre d’entrée le numéro de l’enregistrement à
supprimer. Si ce dernier comporte un enregistrement fils cela génère l’erreur ORA-
02292 qu’il faudra traiter. Créer un programme qui fait appel à la procédure
Supprimer_etudiant.
2/2