Corrigé Mines-Ponts 2026 Informatique II MPI — Partie 1 (Q1 à Q5) : Représentation relationnelle des données (SQL)
Sujet officiel du concours Mines-Ponts, session 2026, épreuve Informatique II MPI. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Le monde d'un jeu est formé de salles reliées par des passages unidirectionnels ; des objets sont posés dans les salles (aucun, un ou plusieurs par salle). Trois tables :
salle.id est la clé primaire de salle ; (x, y) est le coin supérieur gauche de la salle ; passage.entree et passage.sortie sont des clés étrangères vers salle.id, et passage.cout est le coût (entier) pour aller de la salle entree à la salle sortie ; objet.salle_id est une clé étrangère vers salle.id et objet.type une chaîne.
Q1. Expliquer pourquoi la clé étrangère salle_id est dans objet (et non un objet_id dans salle) ; donner la cardinalité de l'association.
Q2. Requête : noms des salles accessibles directement depuis la salle de nom 'ENTRÉE'.
Q3. Requête : pour chaque salle, son nom et son nombre de passages sortants.
Q4. Requête : pour chaque salle ayant au moins un passage sortant, son nom et le coût minimal de ses passages sortants, par coût minimal décroissant puis nom croissant.
Q5. Requête : nom et nombre d'objets des salles contenant au moins deux objets.
Corrigé
Toutes les requêtes ont été exécutées (SQLite, depuis Python) sur une petite base de six salles, huit passages (dont deux passages parallèles ENTRÉECRYPTE et une boucle d'une salle sur elle-même) et sept objets, avec une salle PUITS sans passage ni objet ; les résultats obtenus sont cités sous chaque requête.
Q1. Une salle peut contenir plusieurs objets, alors qu'un objet est dans une seule salle. Un attribut objet_id dans salle ne pourrait contenir qu'une valeur (première forme normale : un attribut est atomique) : il faudrait dupliquer la ligne de la salle pour chacun de ses objets, ce qui répète nom, x, y (redondance, risques d'incohérence) et casse la clé primaire salle.id, et une salle vide exigerait un NULL. Au contraire, chaque objet ayant exactement une salle, l'attribut objet.salle_id est monovalué : la clé étrangère se place toujours du côté « plusieurs ».
Cardinalité : association (un-à-plusieurs) entre salle et objet : une salle contient , ou plusieurs objets (), un objet appartient à exactement une salle ().
Ce que le correcteur attend : la cardinalité écrite explicitement (), et pas seulement la justification du placement de la clé ; c'est l'oubli que le jury a le plus relevé.
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.