Évaluation des enseignants

A la fin du semestre, chaque enseignant est évalué par les étudiants pour chacune de ses UV. Chaque note correspond à une UV assurée par cet enseignant, et est égale à la moyenne des évaluations attribuées par les étudiants de l’UV. Dans le relevé de note apparaît une appréciation générale sur l’enseignant. Cette appréciation est la moyenne de toutes les notes de l’enseignant pour toutes ses UV. La figure suivante illustre le diagramme de classe et le modèle relationnel associé, qui modélisent l’ « évaluation des enseignants ».

Les notes sont sur 20.

Diagramme de classe
1
Enseignant(#NSS:char(13), Nom:varchar, Prenom:varchar) 
2
UV(#Code:char(5), Intitulé:varchar, Prof=>Enseignant) avec Initulé KEY  
3
Etudiant(#NumEtu:char(20), Nom:varchar, Prenom:varchar) 
4
Evaluer(#NumEtu=>Etudiant, #uv=>UV, Evaluation:[0..20]) 

Question

Écrire la vue SQL qui permet de calculer les notes de chaque UV et donnant le résultat ci-dessous : méthode UV.Note()

Notes pour chaque UV

Solution

1
CREATE VIEW vNotes (Nom, Prenom, Intitule, Note) AS
2
SELECT p.Nom, p.Prenom, UV.Intitule, AVG(Evaluation) AS Note
3
FROM  Enseignant p, Evaluer e, UV
4
WHERE e.uv = UV.Code AND UV.Prof = p.NSS
5
GROUP BY p.Nom, p.Prenom, UV.Intitule;

Question

Écrire la vue SQL qui permet d’afficher les enseignants avec leur appréciation générale : méthode Enseignant.Appreciation()

Appréciation pour chaque enseignant

Solution

1
CREATE VIEW vAppreciation (Nom, Prenom, Appreciation)
2
SELECT Nom, Prenom, AVG(Note) AS Appreciation
3
FROM vNotes
4
GROUP BY Nom, Prenom;