Professional Documents
Culture Documents
BD ENSA Corrections TP Enseignement
BD ENSA Corrections TP Enseignement
2. Créez les tables dans cette base de données en respectant le schéma Entité-Association.
create table Etudiant (Num int not null auto_increment, Nom varchar(30), Prenom varchar(20), Adresse
varchar(40), Ville varchar(20), CodePostal int, Email varchar(20), Annee int, Groupe int, primary key(Num));
create table Prof (Num int not null auto_increment, Nom varchar(30), Prenom varchar(20), Bureau
varchar(20), Email varchar(25), Telephone varchar(15), MatSpec int, primary key(Num), foreign
key(MatSpec) references matiere(code));
create table Matiere (Code int not null auto_increment, Libelle varchar(30), HCoursPrev int, HCoursRealise
int, HTPPrevu int, HTPRealise int, Discipline varchar(20), CoeffTest int, CoeffControl int, ProfResp int,
primary key(Code), foreign key(ProfResp) references Prof(Num));
create table Enseignement (CodeMat int, NumProf int, NumEt int, foreign key(CodeMat) references
Matiere(Code), foreign key(NumProf) references Prof(Num), foreign key(NumEt) references
Etudiant(Num));
create table Notation(NumEtud int, CodeMat int, NoteTest int, NoteCC int, foreign key(NumEtud)
references Etudiant(Num), foreign key(CodeMat) references Matiere(Code));
3. Insérez des données dans les tables en respectant l’intégrité de la base de données (clés étrangères en
accord avec les clés primaires). Minimum 10 enregistrements par table.
insert into Etudiant (Nom, Prenom, Adresse, Ville, CodePostal, Email, Annee, Groupe) values ("Ahmed",
"Aziz", "Traverse", "Oujda", 60000, "ahmed@free.fr", 2, 1), ("Yahia", "Ali", "Pin", "Berkane", 61000,
"ali@ensa.ma", 1, 3), ("Dubois", "Safia", "Chez", "Jerada", 63000, "safia@jerada.ma ", 2, 4), ("Blanche",
"neige", "Chemin", "Oujda", 60000, "neige@free.fr", 1, 3);
insert into prof (Nom, Prenom, Bureau, Email, Telephone, MatSpec) values ("Saber", "Mohamed", 123,
"saber@ensa.ma", "06.91.17.79.17", 3);
insert into prof (Nom, Prenom, Bureau, Email, Telephone, MatSpec) values ("Azizi", "Mostafa", "Jamaique",
"azizi@ensao.ma", "06.91.17.79.19", 2);
……..
insert into matiere (Libelle, HCoursPrev, HCoursRealise, HTPPrevu, HTPRealise, Discipline, CoeffTest,
CoeffControl, ProfResp) values ("Architecture", 10, 8, 12, 10, "Informatique", 1, 1, 3), ("Bases de donnees",
8, 8, 12, 12, "Informatique", 1, 1, 1), ("Protocoles", 12, 12, 16, 16, "Reseaux", 1, 1, 2);
insert into matiere (Libelle, HCoursPrev, HCoursRealise, HTPPrevu, HTPRealise, Discipline, CoeffTest,
CoeffControl, ProfResp) values ("Communication 1", 10, 10, 10, 10, "Communication", 1, 1, 4), ("Gestion 1",
10, 10, 10, 10, "Gestion", 1, 1, 5);
1
Corrections pour la BD "Enseignement"
insert into enseignement (CodeMat, NumProf, NumEt) values (1, 1, 1), (1, 2, 3), (2, 3, 2), (3, 3, 3);
insert into Notation values (1, 1, 12, 15), (1, 2, 13, 14), (1, 3, 10, 16), (2, 3, 11, 11);
4. Quels sont les nom et prénoms des enseignants occupant le bureau "Port au prince".
select nom, prenom from prof where bureau like "Port au prince";
7.Affichez la liste des matières enseignées (leur libellé), avec les volumes horaires prévus pour les cours et
les TP dans toutes les disciplines sauf en "Communication" et en "Gestion".
select code, libelle from matiere where discipline not in ("Communication", "Gestion");
8. Donnez le total des heures prévues en cours et en TP pour toutes les matières dans la discipline
"Informatique".
9. Quels sont les codes et les libellés des matières pour lesquelles le numéro du professeur responsable
n’est pas valorisé dans la base de données (ProfResp = null).
10. Donnez pour un étudiant la liste par ordre décroissant des notes de test obtenues avec le code de la
matière associée.
11. Donnez la liste des matières (code et libellé) enseignées par Ilhame El Farissai.
12. Quels sont les groupes de 3ème année pour lesquels Mohamed Saber a effectué un enseignement.
select etudiant.groupe, etudiant.annee from etudiant, enseignement, prof where etudiant.annee=2 and
etudiant.num=enseignement.numet and enseignement.numprof=prof.num and prof.nom="Madjarov";
2
Corrections pour la BD "Enseignement"
13. Donnez la liste, par ordre alphabétique, des noms de tous les étudiants ayant suivi l’enseignement
effectué par un professeur, par ailleurs responsable d’une matière.
select distinct etudiant.num, etudiant.nom, etudiant.prenom from etudiant, enseignement, prof, matiere
where etudiant.num=enseignement.numet and enseignement.numprof=prof.num and
prof.num=matiere.profresp order by etudiant.nom asc;
14. Donnez la liste, par ordre alphabétique, des noms de tous les étudiants ayant suivi l’enseignement
d’une matière effectué par le professeur responsable de cette matière.
16. Quelle est la moyenne des notes de contrôle continu pour la matière "Base de données".
17. Quelle est la moyenne des notes de contrôle continu pour la discipline "Informatique".
18. Quels sont les professeurs (nom de prof) ayant donné des cours à l’étudiant X, toutes matières
confondues.
19. Pour la matière dont le libellé est "Math", donnez la note moyenne obtenue par les étudiants en tenant
compte des coefficients de contrôle continu et de test.
20. Quelle est la matière (libellé), dont le coefficient est le plus faible.
21. Quelle est la matière dans laquelle la meilleure note de test a été obtenue.
3
Corrections pour la BD "Enseignement"
22. Quels sont les noms des étudiants qui ont obtenu, toutes matières confondues, la meilleure note de
test.
23. Donnez la moyenne générale de l’étudiant X en prenant compte les coefficients de contrôle continu et
de test.
24. Affichez le relevé de note pour un étudiant X. Un relevé de note affiche les moyennes par matière pour
l’étudiant en tenant compte des coefficients de contrôle continu et de test.