Adloun

Corrigé CCINP 2025 Informatique MP — Partie I (Q1 à Q3) : Base de données du réseau

Sujet officiel du concours CCINP, session 2025, épreuve Informatique MP. Corrigé rédigé par Ibrahim Alame.

Sujet officiel (PDF, site du concours)

Énoncé

Le réseau Ultranet du Listenbourg relie des villes par des liaisons physiques directes, au plus une entre deux villes ; chaque liaison a une bande passante (en Tb/s). Figure 2 du sujet : le graphe simplifié du réseau, le poids d'une arête étant la bande passante de la liaison.

La base de données a deux tables :

Contenu d'exemple (figure 3 du sujet), tables villes puis liaisons :

idnompop
0Lurenberg12.0
1Veroja10.0
2Aschlöss8.0
3Stratord5.2
4Gossard5.1
5La Galinera5.0
6Sainte Marie5.0
7Atlanitkischer4.7
8Gasparländ3.5
id1id2bp
0224.0
0621.0
0718.0
086.0
124.0
1317.0
1413.0
1512.0
239.0
247.0
2622.0
2816.0
3811.0
4523.0
468.0
565.0
7819.0

Q1. Proposer et justifier des clés primaires pour les deux tables ; identifier les clés étrangères.
Q2. Écrire des requêtes valables pour tout contenu de la base : (a) les noms des villes de strictement plus de cinq millions d'habitants ; (b) la bande passante moyenne des liaisons incidentes à la ville d'identifiant 2 ; (c) les noms des deux villes reliées par la liaison de bande passante maximale (bandes passantes supposées toutes distinctes).
Q3. Donner le résultat, sur l'exemple, de la requête :


SELECT nom, COUNT(*) AS d
  FROM villes
    JOIN (SELECT id1 AS x, id2 FROM liaisons UNION SELECT id2 AS x, id1 FROM liaisons)
    ON id = x
  GROUP BY id
  HAVING d >= 4
  ORDER BY id ASC

Corrigé

Q1. Table villes : la clé primaire est id. L'énoncé en fait l'identifiant unique d'une ville ; le nom ne convient pas, puisque deux villes peuvent être homonymes, et la population non plus (La Galinera et Sainte Marie ont toutes deux ).

Table liaisons : la clé primaire est le couple (id1, id2). Il existe au plus une liaison entre deux villes, et la convention id1 < id2 impose une seule écriture de chaque liaison : deux lignes distinctes ne peuvent donc pas porter le même couple. Aucun des deux attributs n'est une clé à lui seul (la ville figure quatre fois dans la colonne id1). L'attribut bp n'en est pas une non plus : rien, à ce stade du sujet, ne garantit que deux liaisons ont des bandes passantes différentes (cette hypothèse n'arrive qu'en Q2(c) et en partie II), et une grandeur mesurée n'identifie pas un objet.

Clés étrangères : liaisons.id1 et liaisons.id2 font toutes deux référence à la clé primaire villes.id : chaque extrémité d'une liaison doit être une ville existante.

Q2. (a) La population est exprimée en millions d'habitants : le seuil est .


SELECT nom FROM villes WHERE pop > 5

Sur l'exemple : Lurenberg, Veroja, Aschlöss, Stratord, Gossard (La Galinera et Sainte Marie, à , sont exclues par l'inégalité stricte). Deux villes homonymes de plus de cinq millions d'habitants donneraient deux fois le même nom, ce qui est conforme à la question (on y demande les villes, pas les noms distincts).

(b) Une liaison est incidente à la ville si est l'une de ses deux extrémités, en première ou en seconde position (jamais les deux, puisque id1 < id2) :


SELECT AVG(bp) FROM liaisons WHERE id1 = 2 OR id2 = 2

La fonction d'agrégation AVG porte sur les lignes qui passent le WHERE : ici les six liaisons , de moyenne . Pour une ville sans liaison, la requête renverrait NULL.

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, gratuitement

Inscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.

Toutes les parties de l'épreuve

Corrigé complet gratuit →