Vous êtes sur la page 1sur 12

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

MONGODB
Réalisé par:
Dr. Rihab Said

1
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

1) Définition: MongoDB
• Développé en 2007
• Ecrit en C++
• Orienté documents
• MongoDB (de Humongous, qui veut dire énorme)
• La présentation des données se fait à travers un schéma flexible
• Le stockage des données sous la forme des documents en utilisant le format JSON (Java Script Object Notation)
• Les documents d’une même collection ont une structure similaire
• Les documents sont organisés sous forme de collections (Groupe de documents reliés par des indexes en commun )
• Taille max d’un document : 16Mo

Dr. Rihab Said 2


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

1) Définition: MongoDB

Dr. Rihab Said 3


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

2) Comparaison: SQL vs MongoDB

Dr. Rihab Said 4


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

3) Document
❑ JSON est une syntaxe de stockage et d'échange de données.
❑ JSON est du texte, écrit avec la notation d'objet JavaScript.
❑ Exemple:
{ "first_name": "John",
"last_name": "Doe",
"age": 22,
"skills": ["Programming","Databases", "API"] }

❑ Stocké sur le disque sous forme de document BSON


❑ Documents BSON (Binary JSON) : représentation binaire d’un document JSON
❑ Supporte plus de types de données que JSON
❑ La partie valeur peut avoir n’importe quel type supporté par BSON, dont d’autres documents,
des tableaux, et des tableaux de documents

Dr. Rihab Said 5


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

3) Document
• MongoDB stocke les enregistrements de données en tant que documents BSON, qui sont
simplement appelés documents.
✓Seul champ obligatoire, utilisé comme
clé primaire dans une collection
✓Peut être de tout type autre que Tableau

• Un document est un ensemble de paires champ-valeur avec la structure suivante:


{ field_name1: value1,
field_name2: value2,
field_name3: value3, ... Les noms des champs ne peuvent pas commencer par un $, ou le caractère « null »

Dr. Rihab Said 6


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

4) Relation entre les données


❖Deux types de relation
1. Type 1: Référence:
▪ Inclusion de liens ou références d’un document à un autre
▪ C’est à l’application de résoudre ces références pour accéder aux données
associées
▪ On dit qu’on utilise des Modèles de Données Normalisés

Dr. Rihab Said 7


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

4) Relation entre les données


2. Type 2: Données imbriquées (Embedded Data):
▪ Sauvegarde des données associées dans la même structure de
documents
▪ Il est possible d’inclure des documents dans un champ ou un tableau
▪ Permet aux applications d’extraire et manipuler plusieurs niveaux de
hiérarchie en une seule instruction
▪ Ce sont les Modèles de Données Dénormalisées

Dr. Rihab Said 8


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

6) Opération de lecture
• Cible une unique collection spécifique de documents
• Cible un critère ou des conditions spécifiques, pour identifier le document à retourner
• Peut inclure une projection sur les champs du document à retourner
• Peut définir des Modificateurs pour imposer des limites, un ordre, un filtre…

Dr. Rihab Said 9


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

6) Opération de lecture
❑ Méthodes pour l’extraction de données:
1. db.collection.find() :
Accepte les critères de la requête, ainsi que les projections
Retourne un curseur vers les documents correspondants
2. db.collection.findOne() retournant un seul document

Dr. Rihab Said 10


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

7) Opération d’écriture
Modification des données d’une seule collection

1. Insertion 2. Mise à jour 3. Suppression

1. Insertion Si vous ajoutez un document sans champ _id, le système


l’ajoute lui-même
en générant un champ de type ObjectId
db.users.insert({name: « sue », age: 22})

2. Mise à jour
db.users.update({age: {$gt: 18}}, {$set: {status: ‘’A ’’}})

3. Supresssion
db.users.remove({status: ‘’D’’})

Dr. Rihab Said 11


Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

8) Création et manipulation des bases de


données sous mongoDB
✓ Création:
use DATABASE_NAME
✓ Vérification de la base de données actuellement sélectionnée:
db
✓ Vérification de la liste de bases de données
show dbs
✓ Insertion d’un document:
db.doc.insert({"name":"appel"})

✓ Remarque: la nouvelle base figure dans la liste des bases après avoir insérer au moins un
document

Dr. Rihab Said 12

Vous aimerez peut-être aussi