25-NSIJ2AN1-3
-
Plusieurs passagers peuvent réserver le même vol, donc l'attribut
id_vol
ne peut à lui seul identifier de manière unique une réservation d'un passager. -
Le couple
(id_vol, id_passager)
peut être utilisé comme une clé primaire. En effet,id_passager
n'est pas suffisant car un passager pourrait réserver plusieurs vols (typiquement une correspondance). -
Une clé étrangère est un attribut qui fait référence à une clé primaire d'une autre relation.
-
Cette requête renvoie tous les identifiants des vols dont l'aéroport d'arrivé est CDG, plus précisement l'aéroport Charles de Gaulle à Paris. Suivant la table donnée en exemple, cette requête renvoie :
id_vol
AI0015 AI0258 AI0292 -
L'
id_vol
AI0256 est déjà utilisé, or cet attribut est utilisé comme clé primaire de la relationvol
, cela aboutit donc à une erreur. Il suffit de choisir unid_vol
non-utilisé comme AI9999. -
L'expression
graphe_airinfo['T']['P']
renvoie10
. - Ou plus simplement :
-
-
Seule la proposition A est correcte.
-
La fonction
parcours
est récursive parce qu'elle s'appelle elle-même à la ligne 12. -
À la fin de l'exécution :
visitees1
contient['W', 'P', 'T', 'B', 'S']
visitees2
contient['W', 'P', 'B']
.
-
La fonction
parcours
repose sur un parcours en profondeur récursif, donc proposition C. -
L'appel
mystere(graphe_airinfo, 'W', [], 0, 'B')
affiche : -
Plus généralement, cette fonction effectue un parcours en profondeur à partir de la ville de départ
ville
. Elle explore récursivement les villes voisines jusqu'à atteindre la villearrivee
et afficher le chemin parcouru et sa distance totale.Cependant, puisqu'il s'agit d'un parcours en profondeur, il peut s'engager dans un cul-de-sac et revenir en arrière pour explorer d'autres branches du graphe. Le chemin affiché n'est donc pas garanti comme un itinéraire réalisable sans rebroussement. Autrement dit, cette fonction ne fournit pas nécessairement un plan de vol valide, à moins qu'un avion puisse se téléporter. Auquel cas, il suffit de se téléporter directement à
arrivee
😄