Tp 2 pratique mongodb bases de donnees nosql bda 2021 2022 b
Télécharger PDFBases de Données NoSQL avec MongoDB
Ce document sert de guide pratique pour les travaux dirigés sur MongoDB, une base de données NoSQL orientée document.
Exercice 1 : Installation et Opérations CRUD avec MongoDB
1. Installation de MongoDB sous Windows
Pour installer MongoDB sous Windows :
- Téléchargez la version zip de MongoDB pour Windows (64-bit).
- Extrayez l'archive zip dans le dossier
C:\MongoDB(elle doit contenir un répertoirebin\). - Créez les dossiers
C:\dataetC:\data\db. Ces répertoires sont utilisés par MongoDB pour stocker les données.
2. Lancement du Serveur MongoDB
Dans une ligne de commande, lancez le serveur MongoDB (mongod) en exécutant : bin\mongod.exe.
3. Connexion au Client MongoDB
Après avoir lancé le serveur mongod, vous devez utiliser un client pour interagir avec lui. Dans une nouvelle ligne de commande, exécutez le client MongoDB : bin\mongo.exe.
4. Commandes et Aide
Le client MongoDB vous permet de manipuler la base de données. Pour apprendre les commandes basiques, la documentation officielle de MongoDB est recommandée. Rappelez-vous que la commande help permet d'afficher la liste des commandes disponibles, et vous pouvez obtenir plus d'informations sur une commande en tapant commande.help().
5. Création d'une Base de Données MongoDB et Opérations CRUD
Cette section détaille la création d'une base de données et les opérations CRUD (Create, Read, Update, Delete).
a. Créez une nouvelle base de données nommée info et vérifiez qu'elle est sélectionnée.
b. Créez une nouvelle collection nommée produits et insérez-y le document suivant :
nom: Macbook Profabricant: Appleprix: 11435,99options: Intel Core i5 Retina Display Long life battery
c. Ajoutez un autre document dans produits :
nom: Macbook Airfabricant: Appleprix: 125794,73ultrabook: trueoptions: Intel Core i7 SSD Long life battery
d. Enfin, un dernier document :
nom: Thinkpad X230fabricant: Lenovoprix: 114358,74ultrabook: trueoptions: Intel Core i5 SSD Long life battery
e. Effectuez les requêtes suivantes :
- Récupérer tous les produits.
- Récupérer le premier produit.
- Trouver l'ID du Thinkpad et faites la requête pour récupérer ce produit avec son ID.
- Récupérer les produits dont le prix est supérieur à 13723 DA.
- Récupérer le premier produit ayant le champ
ultrabookàtrue. - Récupérer le premier produit dont le nom contient "Macbook".
- Récupérer les produits dont le nom commence par "Macbook".
- Incrémenter de 200 le prix des produits ayant déjà le champ
ultrabook. - Supprimer les deux produits dont le fabricant est Apple.
- Supprimer le Lenovo X230 en utilisant uniquement son ID.
Exercice 2 : Requêtes Avancées et Analyse de Données avec MongoDB
1. Téléchargement et Extraction de la Base de Données "gym"
Téléchargez la base de données MongoDB "gym" et extrayez l'archive zip dans le dossier C:\MongoDB\.
2. Restauration de la Base de Données "gym" et Connexion avec Robo3T
Pour restaurer la base de données "gym" :
- Depuis l'invite de commande, accédez au dossier
binde MongoDB :cd C:\MongoDB\bin. - La commande de restauration est :
mongorestore -d gym C:\MongoDB\gym.
Pour l'interface graphique :
- Installez Robo3T (anciennement RoboMongo).
- Lancez
robo3t.exeet connectez-vous au serveur local. Il affichera vos bases de données MongoDB. - Connectez-vous à la base
gym.
3. Requêtes via Robo3T
Répondez aux requêtes suivantes en utilisant Robo3T :
- a. Quels sont les sportifs (identifiant, nom et prénom) qui ont entre 20 et 30 ans ?
- b. Quels sont les gymnases de "Villetaneuse" ou de "Sarcelles" qui ont une surface de plus de 400 m² ?
- c. Quels sont les sportifs (identifiant et nom) qui pratiquent du hand-ball ?
- d. Dans quels gymnases et quels jours y a-t-il des séances de hand-ball ?
- e. Dans quels gymnases peut-on jouer au hockey le mercredi après 15h ?
- f. Quels sportifs (identifiant et nom) ne pratiquent aucun sport ?
- g. Quels gymnases n'ont pas de séances le dimanche ?
- h. Quels gymnases ne proposent que des séances de basket-ball ou de volley-ball ?
- i. Quels sont les entraîneurs qui sont aussi joueurs ?
- j. Quels sont les sportifs qui sont des conseillers ?
- k. Pour le sportif "Kervadec", quel est le nom de son conseiller ?
- l. Quels entraîneurs entraînent du hand-ball et du basket-ball ?
- m. Quelle est la moyenne d'âge des sportives qui pratiquent du basket-ball ?
- n. Quels sont les sportifs les plus jeunes ?
- o. Quels sont les gymnases de "Stains" ou de "Montmorency" qui ont la plus grande surface ?
- p. Quels entraîneurs n'entraînent que du hand-ball ou du basket-ball ?
- q. Quels sportifs n'ont pas de conseillers ?
- r. Pour chaque gymnase de Stains, donner par jour d'ouverture les horaires des premières et dernières séances.
- s. Quels sont les gymnases ayant plus de 15 séances le mercredi ?
4. Requêtes avec Map-Reduce
Répondez aux questions suivantes en utilisant le paradigme Map-Reduce :
- a. Calculer le nombre de gymnases pour chaque ville.
- b. Calculer le nombre de séances pour chaque jour de la semaine.
- c. De même pour chaque sport.
- d. Calculer la superficie moyenne des gymnases pour chaque ville. Pour cela, vous devez calculer la somme des superficies et le nombre de gymnases (à émettre dans un même objet et à réduire en tenant compte que ce double aspect).
Questions Fréquemment Posées sur MongoDB
Qu'est-ce que MongoDB ?
MongoDB est un système de gestion de base de données NoSQL orienté document. Il stocke les données sous forme de documents BSON (JSON binaire), offrant une flexibilité et une évolutivité élevées, idéales pour les applications modernes.
Pourquoi utiliser une base de données NoSQL comme MongoDB ?
Les bases de données NoSQL sont préférables pour gérer de grands volumes de données non structurées ou semi-structurées, pour les applications nécessitant une grande évolutivité horizontale et pour les projets agiles où le schéma de données peut évoluer fréquemment.
Qu'est-ce que le Map-Reduce en MongoDB ?
Map-Reduce est un modèle de programmation utilisé pour le traitement de grands ensembles de données distribués. En MongoDB, il permet d'effectuer des agrégations complexes et des analyses de données en deux phases : la phase "Map" qui traite chaque document et émet des paires clé-valeur, et la phase "Reduce" qui agrège les valeurs associées à chaque clé.