SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
Daqch Rima
Base de Données : NoSQL sous MongoDB
Devoir Final
Partie 1: Questions Théoriques
Expliquez les caractéristiques clés des bases de données NoSQL et pourquoi elles sont
utilisées dans certaines situations par rapport aux bases de données relationnelles.
- La principale différence entre les bases de données relationnelles et non relationnelles
NoSQL réside dans la façon dont les données sont stockées et organisées. Les bases de
données non relationnelles ne stockent pas de données de manière tabulaire.
- NoSQL est une base de données distribuée. Cela signifie que les données peuvent être
stockées sur des serveurs différents en local ou en cloud. Cette caractéristique est un
avantage majeur aujourd'hui. Effectivement, le cloud permet de mettre à disposition
facilement et pour pas cher une grande quantité de serveurs.
2. Qu'est-ce que MongoDB ? Quels sont ses principaux avantages par rapport aux bases de
données relationnelles traditionnelles ?
-MongoDB est une base de données NoSQL open source. Puisqu'il s'agit d'une base de
données non relationnelle, elle peut traiter des données structurées, semi-structurées et
non structurées. Elle utilise un modèle de données non relationnel, orienté document, et un
langage de requête non structuré.
-MongoDB est très flexible et permet d'associer et de stocker plusieurs types de données.
Elle permet également de stocker et de gérer des volumes de données plus importants que
les bases de données relationnelles traditionnelles.
3. Qu'est-ce qu'un document dans MongoDB ? Comment les documents sont-ils organisés
dans des collections ?
Dans MongoDB, un document est une unité de données JSON stockée dans une collection.
Les documents sont des enregistrements individuels, similaires à des lignes dans une base de
données relationnelle, mais avec une structure flexible. Les collections regroupent des
documents similaires, et chaque document doit avoir un champ "_id" unique.
4. Quelle est la différence entre une base de données relationnelle et une base de données
NoSQL en ce qui concerne la flexibilité du schéma ?
Les bases de données relationnelles ont un schéma rigide et prédéfini, tandis que les
bases de données NoSQL offrent une flexibilité de schéma, permettant des structures
de données variables au sein d'une même collection.
5. Quels sont les types d'indexation pris en charge par MongoDB et pourquoi l'indexation
est-elle importante ?
Les types d'indexation pris en charge par MongoDB incluent les index simples,
composés, géospatiaux, texte et de hachage. L'indexation est importante car elle
améliore les performances des requêtes en permettant à MongoDB de localiser
rapidement les documents qui correspondent à certains critères de recherche,
réduisant ainsi la charge du serveur et optimisant les opérations de tri.
Partie 2: Questions Pratiques
1. Créer une BD Gestion_Livre
2. Opérations CRUD
• Insérez un nouvel auteur dans la collection "auteurs".
• Supprimez un emprunteur de la collection "emprunteurs".
• Mettez à jour le nom d'un auteur spécifique dans la collection "auteurs".
3. Création et Modification :
• Créez une nouvelle collection "commentaires" pour stocker les commentaires des
utilisateurs sur les livres. Chaque document doit contenir les champs suivants :
"ID_Livre", "ID_Utilisateur", "Contenu", "Date_Creation".
• Ajoutez un nouvel index à la collection "livres" pour le champ "année_de_publication"
pour améliorer les performances des requêtes basées sur
l'année de publication.
• Ajoutez une nouvelle colonne "année_de_publication" à la collection "livres" et mettez à
jour les documents existants avec l'année de publication appropriée.
4. Agrégation (suite) :
• Calculez le nombre total de livres empruntés pour chaque mois de l'année.
• Trouvez l'auteur avec le plus grand nombre de livres empruntés.
5. Sécurité (suite) :
• Créez un rôle personnalisé dans MongoDB avec des privilèges limités pour lire
uniquement la collection "livres".
• Créez un utilisateur avec ce rôle personnalisé et connectez-vous en utilisant ces
informations d'identification pour vérifier les restrictions d'accès.
Gestion des erreurs :
• Gérez une erreur lors de la tentative d'insertion d'un livre avec un ISBN déjà
existant dans la collection "livres".
• Gérez une erreur lors de la tentative de suppression d'un emprunteur qui a
encore des livres empruntés

Contenu connexe

Tendances

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Introduction à la big data v3
Introduction à la big data v3 Introduction à la big data v3
Introduction à la big data v3 Mehdi TAZI
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en JavaOussama BEN KHIROUN
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de donnéeszied kallel
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…MongoDB
 

Tendances (20)

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
introduction à MongoDB
introduction à MongoDBintroduction à MongoDB
introduction à MongoDB
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Introduction à la big data v3
Introduction à la big data v3 Introduction à la big data v3
Introduction à la big data v3
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 

Similaire à Devoir Final dans No Sql Base de donnée avec corrigé

Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptx
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptxIntroduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptx
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptxTrayOumayma
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdfhbadir
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptxAbdoulayeTraore48
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Desconnets Jean-Christophe
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
ch5_indexation.pdf
ch5_indexation.pdfch5_indexation.pdf
ch5_indexation.pdfnihedattia2
 
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ?
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ? RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ?
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ? ADBS
 

Similaire à Devoir Final dans No Sql Base de donnée avec corrigé (20)

Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptx
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptxIntroduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptx
Introduction-a-MongoDB-Une-Base-de-Donnees-NoSQL (1).pptx
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
Big data
Big dataBig data
Big data
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
Formation NoSQL
Formation NoSQLFormation NoSQL
Formation NoSQL
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Web sémantique
Web sémantique Web sémantique
Web sémantique
 
Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
Évolution de la normalisation - Catherine Coppolani
Évolution de la normalisation - Catherine CoppolaniÉvolution de la normalisation - Catherine Coppolani
Évolution de la normalisation - Catherine Coppolani
 
ch5_indexation.pdf
ch5_indexation.pdfch5_indexation.pdf
ch5_indexation.pdf
 
NoSQL MeetUp
NoSQL MeetUpNoSQL MeetUp
NoSQL MeetUp
 
Td3 bibnum
Td3 bibnumTd3 bibnum
Td3 bibnum
 
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ?
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ? RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ?
RDA : le nouveau paradigme du catalogage (2). Qu'est-ce que le RDA ?
 

Devoir Final dans No Sql Base de donnée avec corrigé

  • 1. Daqch Rima Base de Données : NoSQL sous MongoDB Devoir Final Partie 1: Questions Théoriques Expliquez les caractéristiques clés des bases de données NoSQL et pourquoi elles sont utilisées dans certaines situations par rapport aux bases de données relationnelles. - La principale différence entre les bases de données relationnelles et non relationnelles NoSQL réside dans la façon dont les données sont stockées et organisées. Les bases de données non relationnelles ne stockent pas de données de manière tabulaire. - NoSQL est une base de données distribuée. Cela signifie que les données peuvent être stockées sur des serveurs différents en local ou en cloud. Cette caractéristique est un avantage majeur aujourd'hui. Effectivement, le cloud permet de mettre à disposition facilement et pour pas cher une grande quantité de serveurs. 2. Qu'est-ce que MongoDB ? Quels sont ses principaux avantages par rapport aux bases de données relationnelles traditionnelles ? -MongoDB est une base de données NoSQL open source. Puisqu'il s'agit d'une base de données non relationnelle, elle peut traiter des données structurées, semi-structurées et non structurées. Elle utilise un modèle de données non relationnel, orienté document, et un langage de requête non structuré. -MongoDB est très flexible et permet d'associer et de stocker plusieurs types de données. Elle permet également de stocker et de gérer des volumes de données plus importants que les bases de données relationnelles traditionnelles. 3. Qu'est-ce qu'un document dans MongoDB ? Comment les documents sont-ils organisés dans des collections ? Dans MongoDB, un document est une unité de données JSON stockée dans une collection. Les documents sont des enregistrements individuels, similaires à des lignes dans une base de données relationnelle, mais avec une structure flexible. Les collections regroupent des documents similaires, et chaque document doit avoir un champ "_id" unique. 4. Quelle est la différence entre une base de données relationnelle et une base de données NoSQL en ce qui concerne la flexibilité du schéma ? Les bases de données relationnelles ont un schéma rigide et prédéfini, tandis que les bases de données NoSQL offrent une flexibilité de schéma, permettant des structures de données variables au sein d'une même collection.
  • 2. 5. Quels sont les types d'indexation pris en charge par MongoDB et pourquoi l'indexation est-elle importante ? Les types d'indexation pris en charge par MongoDB incluent les index simples, composés, géospatiaux, texte et de hachage. L'indexation est importante car elle améliore les performances des requêtes en permettant à MongoDB de localiser rapidement les documents qui correspondent à certains critères de recherche, réduisant ainsi la charge du serveur et optimisant les opérations de tri. Partie 2: Questions Pratiques 1. Créer une BD Gestion_Livre 2. Opérations CRUD • Insérez un nouvel auteur dans la collection "auteurs". • Supprimez un emprunteur de la collection "emprunteurs". • Mettez à jour le nom d'un auteur spécifique dans la collection "auteurs".
  • 3. 3. Création et Modification : • Créez une nouvelle collection "commentaires" pour stocker les commentaires des utilisateurs sur les livres. Chaque document doit contenir les champs suivants : "ID_Livre", "ID_Utilisateur", "Contenu", "Date_Creation". • Ajoutez un nouvel index à la collection "livres" pour le champ "année_de_publication" pour améliorer les performances des requêtes basées sur l'année de publication. • Ajoutez une nouvelle colonne "année_de_publication" à la collection "livres" et mettez à jour les documents existants avec l'année de publication appropriée.
  • 4. 4. Agrégation (suite) : • Calculez le nombre total de livres empruntés pour chaque mois de l'année. • Trouvez l'auteur avec le plus grand nombre de livres empruntés.
  • 5. 5. Sécurité (suite) : • Créez un rôle personnalisé dans MongoDB avec des privilèges limités pour lire uniquement la collection "livres". • Créez un utilisateur avec ce rôle personnalisé et connectez-vous en utilisant ces informations d'identification pour vérifier les restrictions d'accès. Gestion des erreurs : • Gérez une erreur lors de la tentative d'insertion d'un livre avec un ISBN déjà existant dans la collection "livres". • Gérez une erreur lors de la tentative de suppression d'un emprunteur qui a encore des livres empruntés