Vous êtes sur la page 1sur 2

ChatGPT & Midjourney | New bot, [03/01/2024 20:30]

3.1 Langage relationnel :


3.1.1 SELECT nom, prenom FROM Etudiant WHERE matricule NOT IN (SELECT matricule
FROM Suivie);
3.1.2 SELECT nom, prenom FROM Etudiant WHERE matricule IN (SELECT matricule
FROM Suivie WHERE nomCours = "INF221" OR nomCours = "INF261");
3.1.3 SELECT nomCours FROM Dispense INNER JOIN Salle ON Dispense.nomSalle =
Salle.nomSalle WHERE capacite >= 500;
3.1.4 SELECT nom, prenom FROM Etudiant WHERE matricule IN (SELECT matricule
FROM Suivie INNER JOIN Enseignant ON Suivie.nomCours = Enseignant.idEnseignant
WHERE grade = "CC");
3.1.5 SELECT nom, prenom FROM Enseignant WHERE idEnseignant IN (SELECT
idEnseignant FROM Dispense WHERE heureFin > "16:00");

3.2 Langage SQL :


3.2.1 SELECT nomFil, COUNT(CASE WHEN sexe = 'M' THEN 1 END) AS
nombre_etudiants_masculins FROM Etudiant GROUP BY nomFil;
3.2.2 SELECT nomFil FROM Etudiant INNER JOIN Filière ON Etudiant.nomFil =
Filière.nomFil WHERE note = (SELECT MIN(note) FROM Suivie);
3.2.3 SELECT nom, prenom, grade FROM Enseignant WHERE idEnseignant IN (SELECT
#idEnseignant FROM Cours GROUP BY #idEnseignant ORDER BY COUNT(*) DESC LIMIT
1);
3.2.4 SELECT nom, prenom FROM Enseignant WHERE idEnseignant IN (SELECT
#idEnseignant FROM Cours INNER JOIN Dispense ON Cours.nomCours =
Dispense.#nomCours INNER JOIN Salle ON Dispense.nomSalle = Salle.nomSalle WHERE
capacite = 300);
3.2.5 SELECT nom, prenom, 2024 - anNaiss AS age_2024 FROM Etudiant;
3.2.6 SELECT nomSalle FROM Dispense INNER JOIN Enseignant ON
Dispense.#nomCours = Enseignant.idEnseignant WHERE grade = "MC";
3.2.7 SELECT nomCours FROM Dispense GROUP BY nomCours ORDER BY
SUM(TIMESTAMPDIFF(MINUTE, heureDebut, heureFin)) DESC LIMIT 1;

ChatGPT & Midjourney | New bot, [04/01/2024 06:00]


2.1.1 En considérant la relation R(X, Y), la définition de X −→ Y est que Y est
fonctionnellement dépendant de X, c'est-à-dire que pour chaque valeur de X, il existe une
seule valeur de Y associée.

2.1.2.a La dépendance fonctionnelle numEmploye −→ numProjet est valide car un employé


est associé à un ou plusieurs projets.

2.1.2.b La dépendance fonctionnelle numEmploye, numProjet −→ numService est invalide


car un employé peut être affecté à plusieurs projets dans différents services.

2.1.2.c La dépendance fonctionnelle numEmploye −→ role est valide car pour chaque
employé, il y a un rôle associé.

2.1.2.d La dépendance fonctionnelle numprojet −→ numService est invalide car un projet


peut être réalisé dans différents services.
2.1.2.e La dépendance fonctionnelle numService −→ nomEmploye est invalide car un
service peut avoir plusieurs employés.

2.2.1 Les redondances éventuelles dans la relation Article sont les attributs nomAuteur et
anneePublication qui sont tous deux fonctionnellement déterminés par numAuteur et
titreArticle.

2.2.2 La clé primaire de la relation Article est numAuteur, titreArticle car cette combinaison
permet d'identifier de manière unique chaque article. La forme normale de la relation Article
est la 3NF (troisième forme normale).

2.2.3 Proposition de décomposition en BCNF sans perte d'information :


Nous pouvons décomposer la relation Article en deux relations :
- Relation 1 : Article1(numAuteur, titreArticle, position)
- Relation 2 : Article2(numAuteur, nomAuteur, anneePublication)
Cela permet de supprimer les redondances et de respecter la BCNF (Boyce-Codd Normal
Form) sans perte d'information.

ChatGPT & Midjourney | New bot, [04/01/2024 06:03]


3.1.1 Nom et prénom des étudiants qui ne suivent aucun cours :
π(nom, prenom)(Etudiant - π(matricule)(Suivie))

3.1.2 Liste des étudiants qui suivent les cours intitulés "INF221" et "INF261" :
π(nom, prenom)(σ(nomCours="INF221" ∨ nomCours="INF261")(Etudiant ⨝ Suivie))

3.1.3 Nom des cours qui sont dispensés dans une salle dont la capacité est supérieure ou
égale à 500 :
π(nomCours)(Dispense ⨝ σ(capacite ≥ 500)(Salle))

3.1.4 Liste des étudiants qui suivent des cours dispensés par des enseignants dont le grade
est "CC" :
π(nom, prenom)(Etudiant ⨝ Suivie ⨝ (Cours ⨝ Enseignant) | (grade="CC"))

3.1.5 Noms et prénoms des enseignants qui dispensent un cours qui se termine après 16
heures :
π(nom, prenom)(Cours ⨝ Enseignant ⨝ (σ(heureFin > "16:00")(Dispense)))

Vous aimerez peut-être aussi