NOM : DJAMPA NJUITCHA ANICET 21T2692
NOM : AMANA BADANG JEAN EYMARD 20Y104
Tp De base de donnees
1. Noms et prénoms des enseignants qui n'interviennent dans aucune
salle.
Réponse : Pour répondre à cette question, il faudrait vérifier la table
"Enseignant" et identifier les enseignants qui n'ont pas de
correspondance dans la table "dispense" avec un nom de salle.
2. Nom des filières ayant le même nombre d'étudiants.
Réponse : Pour répondre à cette question, il faudrait compter le
nombre d'étudiants pour chaque filière et identifier les filières ayant
le même nombre d'étudiants.
3. Pour chaque cours, quel est sa durée moyenne ?
Réponse : Pour répondre à cette question, il faudrait consulter la
table "cours" et calculer la durée moyenne de chaque cours en
utilisant les colonnes "heureDebut" et "heureFin" de la table
"dispense".
4. Le nom et prénom de l'enseignant qui dispense le plus grand
nombre de cours.
Réponse : Pour répondre à cette question, il faudrait compter le
nombre de cours dispensés par chaque enseignant en utilisant la
table "dispense" et identifier l'enseignant ayant le plus grand
nombre de cours.
5. En considérant l'année 2024, pour chaque étudiant (groupé par
nom), déterminer le nombre d'années qu'il lui reste pour atteindre
l'âge de 25 ans.
Réponse : Pour répondre à cette question, il faudrait utiliser la
colonne "anNaiss" de la table "Etudiant" pour calculer l'âge de
chaque étudiant en 2024, puis soustraire cet âge de 25 pour obtenir
le nombre d'années restantes.
6. Noms de la filière de l'étudiant ayant obtenu la note maximale.
Réponse : Pour répondre à cette question, il faudrait trouver
l'étudiant ayant la note maximale dans la table "suivie" et utiliser la
colonne "#nomFil" pour obtenir le nom de sa filière.
7. Noms et prénoms des étudiants qui suivent tous les cours.
Réponse : Pour répondre à cette question, il faudrait vérifier si
chaque étudiant a une correspondance dans la table "suivie" pour
tous les cours de la table "cours".
8. Nom des cours qui commencent le plus tôt.
Réponse : Pour répondre à cette question, il faudrait consulter la
colonne "heureDebut" de la table "dispense" et identifier les cours
ayant l'heure de début la plus tôt.
9. Nom de la filière où on retrouve le plus d'étudiants de sexe féminin.
Réponse : Pour répondre à cette question, il faudrait compter le
nombre d'étudiants de sexe féminin pour chaque filière et identifier
la filière ayant le plus grand nombre d'étudiantes.
10. Les requêtes suivantes sont liées :
a) Pour chaque cours, calculer la moyenne générale des notes obtenues
dans ce cours.
b) Pour le cours ayant obtenu la moyenne générale maximale, déterminer
le nom et prénom des étudiants (faisant ce cours) ayant une note
strictement supérieure à cette moyenne générale.
c) Parmi ces étudiants, le nom et prénom de l'étudiant le plus jeune.
Réponse : Pour répondre à ces questions, il faudrait calculer la moyenne
générale pour chaque cours en utilisant la table "suivie" et ensuite
identifier le cours ayant la moyenne générale maximale. Ensuite, il
faudrait trouver les étudiants ayant une note strictement supérieure à
cette moyenne dans la table "suivie" pour ce cours, puis identifier
l'étudiant le plus jeune parmi eux en utilisant la colonne "anNaiss" de la
table "Etudiant".
J'espère que ces réponses vous seront utiles ! Si vous avez besoin de plus
d'informations ou d'éclaircissements, n'hésitez pas à demander.
repondez aux questions du pdf
ChatGPT
Poe
Voici les réponses aux questions du document :
1. Noms et prénoms des enseignants qui n’interviennent dans aucune
salle.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
Copier
SELECT nom, prenom
FROM Enseignant
WHERE idEnseignant NOT IN (SELECT #idEnseignant FROM dispense)
2. Nom des filières ayant le même nombre d’étudiants.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
apache
Copier
SELECT [Link]
FROM Filiere f1, Filiere f2, Etudiant e1, Etudiant e2
WHERE [Link] <> [Link]
AND e1.#nomFil = [Link]
AND e2.#nomFil = [Link]
GROUP BY [Link], [Link]
HAVING COUNT(DISTINCT [Link]) = COUNT(DISTINCT [Link])
3. Pour chaque cours, quel est sa durée moyenne ?
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
Copier
SELECT nomCours, AVG(heureFin - heureDebut) AS duree_moyenne
FROM dispense
GROUP BY nomCours
4. Le nom et prénom de l’enseignant qui dispense le plus grand
nombre de cours.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
sql_more
Copier
SELECT nom, prenom
FROM Enseignant
WHERE idEnseignant = (
SELECT #idEnseignant
FROM dispense
GROUP BY #idEnseignant
ORDER BY COUNT(*) DESC
LIMIT 1
)
5. En considérant l’année 2024, pour chaque étudiant (groupé par
nom), déterminer le nombre d’années qu’il lui reste pour atteindre
l'âge de 25 ans.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
Copier
SELECT nom, 25 - (2024 - anNaiss) AS annees_restantes
FROM Etudiant
GROUP BY nom
6. Noms de la filière de l’étudiant ayant obtenu la note maximale.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
Copier
SELECT [Link]
FROM Filiere f, Etudiant e, suivie s
WHERE [Link] = e.#nomFil
AND [Link] = s.#matricule
AND [Link] = (
SELECT MAX(note)
FROM suivie
)
7. Noms et prénoms des étudiants qui suivent tous les cours.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
sql_more
Copier
SELECT nom, prenom
FROM Etudiant
WHERE matricule IN (
SELECT #matricule
FROM cours
GROUP BY #matricule
HAVING COUNT(DISTINCT nomCours) = (SELECT COUNT(*) FROM cours)
)
8. Nom des cours qui commencent le plus tôt.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
Copier
SELECT nomCours
FROM cours
WHERE heureDebut = (SELECT MIN(heureDebut) FROM cours)
9. Nom de la filière où on retrouve le plus d’étudiants de sexe féminin.
Réponse : Pour répondre à cette question, il faudrait exécuter la
requête suivante :
sql_more
Copier
SELECT nomFil
FROM Filiere
WHERE nomFil IN (
SELECT #nomFil
FROM Etudiant
WHERE sexe = 'feminin'
GROUP BY #nomFil
HAVING COUNT(*) = (
SELECT MAX(count)
FROM (
SELECT COUNT(*) AS count
FROM Etudiant
WHERE sexe = 'feminin'
GROUP BY #nomFil
) AS counts
)
)
10. Les requêtes suivantes sont liées :
a) Pour chaque cours, calculer la moyenne générale des notes obtenues
dans ce cours.
b) Pour le cours ayant obtenu la moyenne générale maximale, déterminer
le nom et prénom des étudiants (faisant ce cours) ayant une note
strictement supérieure à cette moyenne générale.