🖨️ Version PDF
Reprendre la base de données bd-avion dont les fichiers JSON du contenu des 3 tables vous est fourni. On vous demande de créer une seule collection (db.createCollection ("lesavions")) nommée lesavions à partir des données ses 3 fichiers.
db.createCollection ("lesavions")
lesavions
Voici le schèma de la base de données de départ :
[ { "AV_ID" : 100, "AV_CONST" : "AIRBUS", "AV_MODELE" : "A320", "AV_CAPACITE" : 300, "AV_SITE" : "Nice" }, { "AV_ID" : 101, "AV_CONST" : "BOEING", "AV_MODELE" : "B707", "AV_CAPACITE" : 250, "AV_SITE" : "Paris" }, { "AV_ID" : 102, "AV_CONST" : "AIRBUS", "AV_MODELE" : "A320", "AV_CAPACITE" : 300, "AV_SITE" : "Toulouse" }, { "AV_ID" : 103, "AV_CONST" : "CARAVELLE", "AV_MODELE" : "Caravelle", "AV_CAPACITE" : 200, "AV_SITE" : "Toulouse" }, { "AV_ID" : 104, "AV_CONST" : "BOEING", "AV_MODELE" : "B747", "AV_CAPACITE" : 400, "AV_SITE" : "Paris" }, { "AV_ID" : 105, "AV_CONST" : "AIRBUS", "AV_MODELE" : "A320", "AV_CAPACITE" : 300, "AV_SITE" : "Grenoble" }, { "AV_ID" : 106, "AV_CONST" : "ATR", "AV_MODELE" : "ATR42", "AV_CAPACITE" : 50, "AV_SITE" : "Paris" }, { "AV_ID" : 107, "AV_CONST" : "BOEING", "AV_MODELE" : "B727", "AV_CAPACITE" : 300, "AV_SITE" : "Lyon" }, { "AV_ID" : 108, "AV_CONST" : "BOEING", "AV_MODELE" : "B727", "AV_CAPACITE" : 300, "AV_SITE" : "Nantes" }, { "AV_ID" : 109, "AV_CONST" : "AIRBUS", "AV_MODELE" : "A340", "AV_CAPACITE" : 350, "AV_SITE" : "Bastia" } ]
[ { "PI_ID" : 1, "PI_NOM" : "DORE", "PI_SITE" : "NICE" }, { "PI_ID" : 2, "PI_NOM" : "JORDANA", "PI_SITE" : "PARIS" }, { "PI_ID" : 3, "PI_NOM" : "KATERINE", "PI_SITE" : "GRENOBLE" }, { "PI_ID" : 4, "PI_NOM" : "ANN", "PI_SITE" : "NANTES" }, { "PI_ID" : 5, "PI_NOM" : "CHERHAL", "PI_SITE" : "PARIS" }, { "PI_ID" : 6, "PI_NOM" : "BIRKIN", "PI_SITE" : "TOULOUSE" }, { "PI_ID" : 7, "PI_NOM" : "FARMER", "PI_SITE" : "LYON" }, { "PI_ID" : 8, "PI_NOM" : "NAKAMURA", "PI_SITE" : "BASTIA" }, { "PI_ID" : 9, "PI_NOM" : "PUNK", "PI_SITE" : "PARIS" } ]
[ { "VO_ID" : "IT100", "VO_AVION" : 100, "VO_PILOTE" : 1, "VO_SITE_DEPART" : "NICE", "VO_SITE_ARRIVEE" : "PARIS", "VO_HEURE_DEPART" : "07:00:00", "VO_HEURE_ARRIVEE" : "09:00:00" }, { "VO_ID" : "IT101", "VO_AVION" : 100, "VO_PILOTE" : 2, "VO_SITE_DEPART" : "PARIS", "VO_SITE_ARRIVEE" : "TOULOUSE", "VO_HEURE_DEPART" : "11:00:00", "VO_HEURE_ARRIVEE" : "12:00:00" }, { "VO_ID" : "IT102", "VO_AVION" : 101, "VO_PILOTE" : 1, "VO_SITE_DEPART" : "PARIS", "VO_SITE_ARRIVEE" : "NICE", "VO_HEURE_DEPART" : "12:00:00", "VO_HEURE_ARRIVEE" : "14:00:00" }, { "VO_ID" : "IT103", "VO_AVION" : 105, "VO_PILOTE" : 3, "VO_SITE_DEPART" : "GRENOBLE", "VO_SITE_ARRIVEE" : "TOULOUSE", "VO_HEURE_DEPART" : "09:00:00", "VO_HEURE_ARRIVEE" : "11:00:00" }, { "VO_ID" : "IT104", "VO_AVION" : 105, "VO_PILOTE" : 3, "VO_SITE_DEPART" : "TOULOUSE", "VO_SITE_ARRIVEE" : "GRENOBLE", "VO_HEURE_DEPART" : "17:00:00", "VO_HEURE_ARRIVEE" : "19:00:00" }, { "VO_ID" : "IT105", "VO_AVION" : 107, "VO_PILOTE" : 7, "VO_SITE_DEPART" : "LYON", "VO_SITE_ARRIVEE" : "PARIS", "VO_HEURE_DEPART" : "06:00:00", "VO_HEURE_ARRIVEE" : "07:00:00" }, { "VO_ID" : "IT106", "VO_AVION" : 109, "VO_PILOTE" : 8, "VO_SITE_DEPART" : "BASTIA", "VO_SITE_ARRIVEE" : "PARIS", "VO_HEURE_DEPART" : "10:00:00", "VO_HEURE_ARRIVEE" : "13:00:00" }, { "VO_ID" : "IT107", "VO_AVION" : 106, "VO_PILOTE" : 9, "VO_SITE_DEPART" : "PARIS", "VO_SITE_ARRIVEE" : "BRIVE", "VO_HEURE_DEPART" : "07:00:00", "VO_HEURE_ARRIVEE" : "08:00:00" }, { "VO_ID" : "IT108", "VO_AVION" : 106, "VO_PILOTE" : 9, "VO_SITE_DEPART" : "BRIVE", "VO_SITE_ARRIVEE" : "PARIS", "VO_HEURE_DEPART" : "19:00:00", "VO_HEURE_ARRIVEE" : "20:00:00" }, { "VO_ID" : "IT109", "VO_AVION" : 107, "VO_PILOTE" : 7, "VO_SITE_DEPART" : "PARIS", "VO_SITE_ARRIVEE" : "LYON", "VO_HEURE_DEPART" : "18:00:00", "VO_HEURE_ARRIVEE" : "19:00:00" }, { "VO_ID" : "IT110", "VO_AVION" : 102, "VO_PILOTE" : 2, "VO_SITE_DEPART" : "TOULOUSE", "VO_SITE_ARRIVEE" : "PARIS", "VO_HEURE_DEPART" : "15:00:00", "VO_HEURE_ARRIVEE" : "16:00:00" }, { "VO_ID" : "IT111", "VO_AVION" : 101, "VO_PILOTE" : 4, "VO_SITE_DEPART" : "NICE", "VO_SITE_ARRIVEE" : "NANTES", "VO_HEURE_DEPART" : "17:00:00", "VO_HEURE_ARRIVEE" : "19:00:00" } ]
Une fois la structure de votre collection définie, insérer les données récupérées depuis les fichiers JSON et tentez d’exécuter les requêtes suivantes qui étaient destinées à une base de données relationnelle.
Comment allez-vous faire ? Quelle structure aura votre collection ?
Voici ci-dessous, la liste des requêtes à réaliser (ou tenter de réaliser) lorsque vous aurez créé votre collection qui contiendra des données.
Vous avez de la chance car les données provenant de d’une base de données relationnelle sont structurées… mais on vous demande d’ajouter des informations compémentaires pour certains pilotes :
Les 3 premiers avec les changements :
Pour les autres, aucun changement !
Lien vers une proposition de correction à tester