Difference between revisions of "Dbms workshop"

From Fixme.ch
Jump to: navigation, search
(Creation de la base FFH)
(La date de la rencontre est en commentaire. La rencontre n'a plus lieu depuis belle lurette.)
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Base de Données # Syteme de gestion de base de données : DBMS =
 
= Base de Données # Syteme de gestion de base de données : DBMS =
  
Prochaine date le 17 Juin puis à partir de Juillet
+
<!-- Tous les deuxièmes mardis du mois, nous nous rencontrons à 19:30 jusqu'à au plus tard 21:30 pour discuter base de données. -->
 
+
2 ieme et 4 ieme Mardi du mois .
+
 
+
  
 
== Semaine 1 - 11.03.2014 ==
 
== Semaine 1 - 11.03.2014 ==
Line 32: Line 29:
 
== Semaine 2 - 25.03.14 ==
 
== Semaine 2 - 25.03.14 ==
  
== Gestion du "Foods For Hackers" ==
+
=== Gestion du "Foods For Hackers" ===
  
 
* Quoi : Foods For hackers
 
* Quoi : Foods For hackers
Line 41: Line 38:
 
* Pourquoi : Pour connaitre produit ? Connaitre stock ?
 
* Pourquoi : Pour connaitre produit ? Connaitre stock ?
  
=== Analyse Data ===
+
==== Analyse Data ====
  
 
On s'interesse au food for hackers.
 
On s'interesse au food for hackers.
  
=== Type de Nouriture ===
+
==== Type de Nouriture ====
  
 
<blockquote>
 
<blockquote>
Line 55: Line 52:
 
* extension Burgers
 
* extension Burgers
 
</blockquote>
 
</blockquote>
=== Produits ===
+
==== Produits ====
  
 
<blockquote>
 
<blockquote>
Line 67: Line 64:
 
* quantité
 
* quantité
 
</blockquote>
 
</blockquote>
=== Mots clef ===
+
==== Mots clef ====
  
 
<blockquote>
 
<blockquote>
Line 74: Line 71:
 
* Description longue
 
* Description longue
 
</blockquote>
 
</blockquote>
=== Consommation ===
+
==== Consommation ====
  
 
<blockquote>
 
<blockquote>
Line 82: Line 79:
 
* date
 
* date
 
</blockquote>
 
</blockquote>
=== Consomateurs ===
+
==== Consomateurs ====
  
 
<blockquote>
 
<blockquote>
Line 88: Line 85:
 
* idmembre
 
* idmembre
 
</blockquote>
 
</blockquote>
=== Langue ===
+
==== Langue ====
  
 
<blockquote>
 
<blockquote>
Line 95: Line 92:
 
</blockquote>
 
</blockquote>
  
=== Analyse Traitement. ===
+
==== Analyse Traitement. ====
  
 
* Initialiser la base.
 
* Initialiser la base.
Line 109: Line 106:
 
* Gestion de la langue
 
* Gestion de la langue
  
=== Objectif pour la semaine 3 ===
+
==== Objectif pour la semaine 3 ====
  
 
* avancer sur la modélisation des données (la théorie)
 
* avancer sur la modélisation des données (la théorie)
Line 148: Line 145:
 
<pre>psql -U fixme ffh < Ffh_sql.txt</pre>
 
<pre>psql -U fixme ffh < Ffh_sql.txt</pre>
  
 +
Code:
 
<pre>
 
<pre>
 
ffh=# \d
 
ffh=# \d
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
                     List of relations
 
                     List of relations
 
  Schema |            Name            |  Type  | Owner  
 
  Schema |            Name            |  Type  | Owner  
Line 164: Line 166:
 
  public | produit_produit_id_seq      | sequence | fixme
 
  public | produit_produit_id_seq      | sequence | fixme
 
(10 rows)
 
(10 rows)
 +
</pre>
  
 +
Code:
 +
<pre>
 
ffh=# \d langue
 
ffh=# \d langue
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
                                 Table "public.langue"
 
                                 Table "public.langue"
 
     Column    |  Type  |                        Modifiers                           
 
     Column    |  Type  |                        Modifiers                           
Line 179: Line 188:
 
</pre>
 
</pre>
  
 +
== Semaine 5 - 17.06.2014 ==
 +
=== Mise en place d'une base mongodb ===
  
== Semaine 4 17/06/2014 ==
+
==== Installation ====
== Mise en place d'une base mongodb ==
+
 
+
=== Installation ===
+
  
 
Téléchargement depuis le site http://www.mongodb.org/downloads
 
Téléchargement depuis le site http://www.mongodb.org/downloads
Line 193: Line 201:
 
Soit la racine /u01/projets/mongodb
 
Soit la racine /u01/projets/mongodb
  
les binaires dans /u01/projets/mongodb/bin
+
les binaires dans /u01/projets/mongodb/
<pre> bsondump  
+
 
mongo  
+
* bsondump  
mongod  
+
* mongo  
mongodump  
+
* mongod  
mongoexport  
+
* mongodump  
mongofiles  
+
* mongoexport  
mongoimport  
+
* mongofiles  
mongooplog  
+
* mongoimport  
mongoperf  
+
* mongooplog  
mongorestore
+
* mongoperf  
mongos  
+
* mongorestore
mongostat
+
* mongos  
mongotop
+
* mongostat
</pre>
+
* mongotop
 +
 
  
 
Un repertoire data/db à la racine.
 
Un repertoire data/db à la racine.
  
=== Lancement du serveur ===
+
==== Lancement du serveur ====
  
<pre>/u01/projets/mongodb/bin/mongod --dbpath /u01/projets/mongodb/data/db  
+
Code:
 +
<pre>
 +
/u01/projets/mongodb/bin/mongod --dbpath /u01/projets/mongodb/data/db  
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 
2014-06-17T19:05:22.147+0200 [initandlisten] MongoDB starting : pid=14868 port=27017 dbpath=/u01/projets/mongodb/data/db 64-bit host=dbi-ntbk02  
 
2014-06-17T19:05:22.147+0200 [initandlisten] MongoDB starting : pid=14868 port=27017 dbpath=/u01/projets/mongodb/data/db 64-bit host=dbi-ntbk02  
 
2014-06-17T19:05:22.151+0200 [initandlisten] db version v2.6.2  
 
2014-06-17T19:05:22.151+0200 [initandlisten] db version v2.6.2  
Line 220: Line 235:
 
</pre>
 
</pre>
  
=== lancement du client ===
+
==== lancement du client ====
  
<pre>boizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo MongoDB shell version: 2.6.2 connecting to: test show dbs admin (empty) local 0.078GB
+
Code:
 +
<pre>
 +
boizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo  
 
</pre>
 
</pre>
=== Creation de la base FFH ===
 
  
<pre>use FFH switched to db FFH db FFH
+
Résultat:
 +
<pre>
 +
MongoDB shell version: 2.6.2
 +
connecting to: test
 +
</pre>
 +
 
 +
Code:
 +
<pre>
 +
show dbs
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 +
admin (empty)
 +
local 0.078GB
 +
</pre>
 +
 
 +
==== Creation de la base FFH ====
 +
 
 +
Code:
 +
<pre>
 +
use FFH  
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 +
switched to db FFH  
 +
</pre>
 +
 
 +
Code:
 +
<pre>
 +
db FFH
 
</pre>
 
</pre>
 
'''Initialisation de données'''  
 
'''Initialisation de données'''  
Line 241: Line 288:
  
 
'''Creation de la Collection Membre'''
 
'''Creation de la Collection Membre'''
 +
Code:
 
<pre> &gt;db.membre.insert(M1)  
 
<pre> &gt;db.membre.insert(M1)  
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
WriteResult({ &quot;nInserted&quot; : 1 })  
 
WriteResult({ &quot;nInserted&quot; : 1 })  
 +
</pre>
 +
 +
Code:
 +
<pre>
 
db.membre.insert(M2)  
 
db.membre.insert(M2)  
WriteResult({ &quot;nInserted&quot; : 1 })</pre>
+
</pre>
 +
 
 +
Résultat:
 +
<pre>
 +
WriteResult({ &quot;nInserted&quot; : 1 })
 +
</pre>
  
 
'''Verification de l'insertion.'''  
 
'''Verification de l'insertion.'''  
 +
 +
Code:
 
<pre>
 
<pre>
 
&gt; db.membre.find()  
 
&gt; db.membre.find()  
Line 258: Line 321:
 
  &quot;Member_num&quot; : 3001,
 
  &quot;Member_num&quot; : 3001,
 
  &quot;Langue&quot; : &quot;fr&quot; }
 
  &quot;Langue&quot; : &quot;fr&quot; }
 
+
</pre>
 
** Nota **  
 
** Nota **  
 +
 +
Code:
 
<pre>
 
<pre>
 
&gt; show collections
 
&gt; show collections
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
  membre  
 
  membre  
 +
 
system.indexes
 
system.indexes
 
</pre>
 
</pre>
  
 
On Quitte et on se reconnecte  
 
On Quitte et on se reconnecte  
 +
<pre>
 
&gt; exit bye  
 
&gt; exit bye  
 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo  
 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo  
MongoDB shell version: 2.6.2 connecting to: test
+
</pre>
  
 +
Résultat:
 +
<pre>
 +
MongoDB shell version: 2.6.2
 +
connecting to: test
 +
</pre>
 +
 +
Code:
 +
<pre>
 
&gt; show dbs  
 
&gt; show dbs  
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
FFH 0.078GB  
 
FFH 0.078GB  
 
admin (empty)  
 
admin (empty)  
 
local 0.078GB  
 
local 0.078GB  
 
test (empty)
 
test (empty)
 +
</pre>
  
 
Constat la base FFH existe...  
 
Constat la base FFH existe...  
Line 281: Line 365:
 
</pre>
 
</pre>
  
<blockquote>show collections membre system.indexes
+
<pre>show collections  
</blockquote>
+
membre  
 +
system.indexes
 +
</pre>
 
Delete all Member  
 
Delete all Member  
 +
Code:
 
<pre>
 
<pre>
 
&gt; db.membre.remove({})  
 
&gt; db.membre.remove({})  
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 
WriteResult({ &quot;nRemoved&quot; : 0 })
 
WriteResult({ &quot;nRemoved&quot; : 0 })
 
</pre>
 
</pre>
drop collection &gt; db.membre.drop() true
+
drop collection  
  
show collections system.indexes
+
Code:
 +
<pre>
 +
&gt; db.membre.drop()
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 +
true
 +
</pre>
 +
 
 +
Code:
 +
<pre>
 +
> show collections  
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 +
system.indexes
 +
 
 +
</pre>
  
 
'''Drop database'''<br />
 
'''Drop database'''<br />
 +
 +
Code:
 +
<pre>
 +
&gt; use FFH
 +
</pre>
 +
 +
Résultat:
 +
<pre>
 +
switched to db FFH
 +
</pre>
 +
 +
Code:
 +
<pre>
 +
&gt; db.dropDatabase();
 +
</pre>
 +
 +
Résultat:
 
<pre>
 
<pre>
&gt; use FFH switched to db FFH
 
&gt; db.dropDatabase();
 
 
{ &quot;dropped&quot; : &quot;FFH&quot;, &quot;ok&quot; : 1 }
 
{ &quot;dropped&quot; : &quot;FFH&quot;, &quot;ok&quot; : 1 }
  &gt;exit  
+
</pre>
 +
 
 +
Code:
 +
<pre>
 +
  &gt; exit  
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 
bye  
 
bye  
 
</pre>
 
</pre>
Line 303: Line 436:
 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo  
 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo  
 
MongoDB shell version: 2.6.2 connecting to: test  
 
MongoDB shell version: 2.6.2 connecting to: test  
 +
 +
Code:
 
<pre>
 
<pre>
&gt; show dbs  
+
&gt; show dbs
 +
</pre>
 +
 
 +
Résultat:
 +
<pre>
 
admin (empty)  
 
admin (empty)  
 
local 0.078GB  
 
local 0.078GB  
Line 310: Line 449:
 
  &gt;
 
  &gt;
 
</pre>
 
</pre>
 +
 +
== Semaine 6 - 08.07.2014 ==
 +
Objectif pour ce soir:
 +
* corriger le wiki
 +
* procédure pour exporter une base de données mongo
 +
 +
=== Export d'une base mongodb ===
 +
L'export d'une base est extrêmement simple : du moins il y a une forme simple .
 +
la commande est mongodump.
 +
 +
Nous utiliserons la forme suivante de la commande :
 +
 +
Code:
 +
<pre>
 +
    ./mongodump --db FFH --out /u01/projets/mongodb/backup/
 +
</pre>
 +
 +
Cette commande crée un repertoire FFH avec le contenue suivant :
 +
<pre>
 +
/u01/projets/mongodb/backup/FFH$ ls -la
 +
</pre>
 +
Résultat:
 +
<pre>
 +
total 20
 +
drwxrwxr-x 2 pboizot pboizot 4096 Jul  8 20:00 .
 +
drwxrwxr-x 3 pboizot pboizot 4096 Jul  8 20:01 ..
 +
-rw-rw-r-- 1 pboizot pboizot  164 Jul  8 20:00 membre.bson
 +
-rw-rw-r-- 1 pboizot pboizot  92 Jul  8 20:00 membre.metadata.json
 +
-rw-rw-r-- 1 pboizot pboizot  65 Jul  8 20:00 system.indexes.bson
 +
</pre>
 +
 +
Nous pouvons alors créer un tar , le stocker sur le ftp.fixme.ch un autre utilisateur peu alors le récuperer et le restore sur sa machine
 +
 +
=== Restore d'une base mongodb ===
 +
 +
On recupere le fichier tar on l'extrait puis on lance le restore.
 +
 +
Code:
 +
<pre>
 +
./mongorestore /u01/projets/mongodb/backup/FFH
 +
</pre>
 +
Résultat:
 +
</pre>
 +
connected to: 127.0.0.1
 +
2014-07-08T20:43:32.576+0200 /u01/projets/mongodb/backup/FFH/membre.bson
 +
2014-07-08T20:43:32.576+0200 going into namespace [FFH.membre]
 +
2 objects found
 +
2014-07-08T20:43:32.577+0200 Creating index: { key: { _id: 1 }, name: "_id_", ns: "FFH.membre" }
 +
</pre>
 +
 +
On verifie le chargement.
 +
 +
Code:
 +
<pre>
 +
/u01/projets/mongodb/bin$ ./mongo FFH
 +
</pre>
 +
Résultat:
 +
<pre>
 +
MongoDB shell version: 2.6.2
 +
connecting to: FFH
 +
</pre>
 +
 +
Code:
 +
<pre>
 +
> show collections
 +
membre
 +
system.indexes
 +
 +
> db.membre.find()
 +
{ "_id" : ObjectId("53bc2d51bd84677f027bbbe6"), "Member_pseudo" : "Pirboazo", "Member_num" : 123001, "Langue" : "fr" }
 +
{ "_id" : ObjectId("53bc2d54bd84677f027bbbe7"), "Member_pseudo" : "Yv", "Member_num" : 3001, "Langue" : "fr" }
 +
>
 +
</pre>
 +
 +
== meeting du 9 Juin 2015 ==
 +
 +
Installation de postgresql depuis les sources.
 +
 +
Pourquoi installer depuis les sources ? Pour choisir ou on installe et quelle version on installe.
 +
Pour installer les contributions que l'on veut , pour ne pas être dépendant des choix du gestionnaire de package.
 +
 +
== Metting du 14  Juillet 2015 ==
 +
 +
Exploration des source de psql
 +
 +
Objectif analyser comment ajouter une commande \pa qui permettrait une execution  d'un fichier sql se trouvant dans une varaible SQLPGPATH.

Latest revision as of 04:14, 14 November 2015

Base de Données # Syteme de gestion de base de données : DBMS

Semaine 1 - 11.03.2014

Définition :

Base de données : Ensemble de données organisées et structurées pour être interrogées par un logiciel

Syteme de gestion de base de données : il permet de stocker et de retrouver un ensemble d'informations de plusieurs natures ainsi que les liens qui existent entre les différentes informations.

Les principaux types de base de données.

   Base de données hiérarchique
   Base de données réseau
   Base de données relationnelle
   Base de données orientée objet
   Base de données orientée documents
   Base de données orientée graphe
   Base de données XML


Chaque type de base s'appuie sur une modélisation différente de l'information. ( merise, Niam, objet .....)


Prochain réunion le 25 mars 19:00

Semaine 2 - 25.03.14

Gestion du "Foods For Hackers"

  • Quoi : Foods For hackers
  • Qui : Mardi BDD ---- Stockage des données.
  • Où : Fixme , données ---> foo
  • Quand : dev durée du workshop durée infini....
  • Comment : Ensemble de donnée à définir interactions - saisie , mise à jour. crud interface python / web (php) script (initialisation / maj )
  • Pourquoi : Pour connaitre produit ? Connaitre stock ?

Analyse Data

On s'interesse au food for hackers.

Type de Nouriture

  • boissons
  • Friandises
  • Nouilles( pates )
  • Fruits sec
  • Biscuits aperitifs
  • extension Burgers

Produits

  • des prix ( achat, ventes )
  • date de livraison
  • date de péremptions
  • type de nourriture
  • Descriptions textuels
  • Mot clef
  • Whish
  • quantité

Mots clef

  • Langue
  • MotsClef
  • Description longue

Consommation

  • Produit
  • Quantité
  • comsommateur
  • date

Consomateurs

  • pseudo
  • idmembre

Langue

  • Code
  • nom long

Analyse Traitement.

  • Initialiser la base.
  • Ajouter un produit
  • Réassortir le stock
  • Ajouter un Consomateur
  • Consommer un produit
  • Saisir un produit en wish list
  • Mise à jour stock
  • Statistique de consommation
  • Creation gestion des TAG ( mot clef )
  • Gestion fermée des TAG.
  • Gestion de la langue

Objectif pour la semaine 3

  • avancer sur la modélisation des données (la théorie)
  • créer les scripts de la base de données

Semaine 3 - 22.04.14

Utilisation de LibreOffice Base

Nous avons recherché des solutions pour décrire une base de données avec l'aide de LibreOffice Base. Selon Pirboazo, cette solution graphique n'est, à comparaison avec d'autres solutions, pas si pertinente que l'on pense. Dans LibreOffice Base, il existe la possibilité de se connecter à différente base de donnée distante avec l'aide de connecteurs particuliers. Après avoir mis en pratique ce que nous avons théorisé la semaine 2, la base de donnée fut crée avec Postgresql, mais au final, il s'est révélé que l'interface graphique ne soit pas si performante en comparaison avec la ligne de commandes pour pouvoir décrire une base de donnée.

semaine 4 - 20.05.2014

Creation User & database

avec l'utilisateur postgres

# Creation PG user : fixme

DBUSER="fixme"
DBNAME="ffh"

USER_OPTS="--no-superuser --no-createrole --no-createdb $DBUSER --pwprompt"

echo "On cree l'user $DBUSER..."
createuser $USER_OPTS -U postgres

echo "On cree la base $DBNAME..."
createdb --owner $DBUSER $DBNAME -U postgres

avec votre utilisateur ajouter le paramètre -U postgres

Creation de table

Fichier d'ordre de création des tables de la base ffh sous postgresql media:ffh_sql.txt

psql -U fixme ffh < Ffh_sql.txt

Code:

ffh=# \d

Résultat:

                    List of relations
 Schema |             Name             |   Type   | Owner 
--------+------------------------------+----------+-------
 public | langue                       | table    | fixme
 public | langue_langue_id_seq         | sequence | fixme
 public | member                       | table    | fixme
 public | member_member_id_seq         | sequence | fixme
 public | motclef                      | table    | fixme
 public | motclef_motclef_id_seq       | sequence | fixme
 public | nourriture                   | table    | fixme
 public | nourriture_nourriture_id_seq | sequence | fixme
 public | produit                      | table    | fixme
 public | produit_produit_id_seq       | sequence | fixme
(10 rows)

Code:

ffh=# \d langue

Résultat:

                                 Table "public.langue"
     Column     |  Type   |                         Modifiers                          
----------------+---------+------------------------------------------------------------
 langue_id      | integer | not null default nextval('langue_langue_id_seq'::regclass)
 langue_libelle | text    | not null
Indexes:
    "langue_pkey" PRIMARY KEY, btree (langue_id)
Referenced by:
    TABLE "member" CONSTRAINT "member_langue_id_fkey" FOREIGN KEY (langue_id) REFERENCES langue(langue_id)
    TABLE "motclef" CONSTRAINT "motclef_langue_id_fkey" FOREIGN KEY (langue_id) REFERENCES langue(langue_id)

Semaine 5 - 17.06.2014

Mise en place d'une base mongodb

Installation

Téléchargement depuis le site http://www.mongodb.org/downloads

on décompresse le dossier

Puis on crée les arborescences pour accueillir une base de test et les binaires

Soit la racine /u01/projets/mongodb

les binaires dans /u01/projets/mongodb/

  • bsondump
  • mongo
  • mongod
  • mongodump
  • mongoexport
  • mongofiles
  • mongoimport
  • mongooplog
  • mongoperf
  • mongorestore
  • mongos
  • mongostat
  • mongotop


Un repertoire data/db à la racine.

Lancement du serveur

Code:

/u01/projets/mongodb/bin/mongod --dbpath /u01/projets/mongodb/data/db 

Résultat:

2014-06-17T19:05:22.147+0200 [initandlisten] MongoDB starting : pid=14868 port=27017 dbpath=/u01/projets/mongodb/data/db 64-bit host=dbi-ntbk02 
2014-06-17T19:05:22.151+0200 [initandlisten] db version v2.6.2 
2014-06-17T19:05:22.152+0200 [initandlisten] git version: 4d06e27876697d67348a397955b46dabb8443827 
2014-06-17T19:05:22.152+0200 [initandlisten] build info: Linux build10.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49

lancement du client

Code:

boizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo 

Résultat:

MongoDB shell version: 2.6.2 
connecting to: test

Code:

 
show dbs 

Résultat:

admin (empty) 
local 0.078GB

Creation de la base FFH

Code:

use FFH 

Résultat:

switched to db FFH 

Code:

db FFH

Initialisation de données

 M1 = { Member_pseudo : "Pirboazo", Member_num : 123001, Langue:'fr' } 
{ "Member_pseudo" : "Pirboazo",
 "Member_num" : 123001,
 "Langue" : "fr" }

M2 = { Member_pseudo : "Yv", Member_num : 3001, Langue:'fr' }
 { "Member_pseudo" : "Yv",
 "Member_num" : 3001,
 "Langue" : "fr" }

Creation de la Collection Membre Code:

 >db.membre.insert(M1) 

Résultat:

WriteResult({ "nInserted" : 1 }) 

Code:

db.membre.insert(M2) 

Résultat:

WriteResult({ "nInserted" : 1 })

Verification de l'insertion.

Code:

> db.membre.find() 
{ "''id" : ObjectId("53a07eba52a032beb132c6ba"),
 "Member_pseudo" : "Pirboazo",
 "Member_num" : 123001,
 "Langue" : "fr" }

 { "''id" : ObjectId("53a07ed752a032beb132c6bb"),
 "Member_pseudo" : "Yv",
 "Member_num" : 3001,
 "Langue" : "fr" }
    • Nota **

Code:

> show collections

Résultat:

 membre 

system.indexes

On Quitte et on se reconnecte

> exit bye 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo 

Résultat:

MongoDB shell version: 2.6.2 
connecting to: test 

Code:

> show dbs 

Résultat:

FFH 0.078GB 
admin (empty) 
local 0.078GB 
test (empty)

Constat la base FFH existe...

use FFH
show collections 
membre 
system.indexes

Delete all Member Code:

> db.membre.remove({}) 

Résultat:

WriteResult({ "nRemoved" : 0 })

drop collection

Code:

 
> db.membre.drop()

Résultat:

true

Code:

> show collections 

Résultat:

system.indexes

Drop database

Code:

> use FFH

Résultat:

 switched to db FFH

Code:

> db.dropDatabase();

Résultat:

{ "dropped" : "FFH", "ok" : 1 }

Code:

 > exit 

Résultat:

bye 

pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo MongoDB shell version: 2.6.2 connecting to: test

Code:

> show dbs

Résultat:

 
admin (empty) 
local 0.078GB 
test (empty)
 >

Semaine 6 - 08.07.2014

Objectif pour ce soir:

  • corriger le wiki
  • procédure pour exporter une base de données mongo

Export d'une base mongodb

L'export d'une base est extrêmement simple : du moins il y a une forme simple . la commande est mongodump.

Nous utiliserons la forme suivante de la commande :

Code:

    ./mongodump --db FFH --out /u01/projets/mongodb/backup/

Cette commande crée un repertoire FFH avec le contenue suivant :

/u01/projets/mongodb/backup/FFH$ ls -la

Résultat:

total 20
drwxrwxr-x 2 pboizot pboizot 4096 Jul  8 20:00 .
drwxrwxr-x 3 pboizot pboizot 4096 Jul  8 20:01 ..
-rw-rw-r-- 1 pboizot pboizot  164 Jul  8 20:00 membre.bson
-rw-rw-r-- 1 pboizot pboizot   92 Jul  8 20:00 membre.metadata.json
-rw-rw-r-- 1 pboizot pboizot   65 Jul  8 20:00 system.indexes.bson

Nous pouvons alors créer un tar , le stocker sur le ftp.fixme.ch un autre utilisateur peu alors le récuperer et le restore sur sa machine

Restore d'une base mongodb

On recupere le fichier tar on l'extrait puis on lance le restore.

Code:

./mongorestore /u01/projets/mongodb/backup/FFH

Résultat: </pre> connected to: 127.0.0.1 2014-07-08T20:43:32.576+0200 /u01/projets/mongodb/backup/FFH/membre.bson 2014-07-08T20:43:32.576+0200 going into namespace [FFH.membre] 2 objects found 2014-07-08T20:43:32.577+0200 Creating index: { key: { _id: 1 }, name: "_id_", ns: "FFH.membre" } </pre>

On verifie le chargement.

Code:

/u01/projets/mongodb/bin$ ./mongo FFH

Résultat:

MongoDB shell version: 2.6.2
connecting to: FFH

Code:

> show collections
membre
system.indexes

> db.membre.find()
{ "_id" : ObjectId("53bc2d51bd84677f027bbbe6"), "Member_pseudo" : "Pirboazo", "Member_num" : 123001, "Langue" : "fr" }
{ "_id" : ObjectId("53bc2d54bd84677f027bbbe7"), "Member_pseudo" : "Yv", "Member_num" : 3001, "Langue" : "fr" }
> 

meeting du 9 Juin 2015

Installation de postgresql depuis les sources.

Pourquoi installer depuis les sources ? Pour choisir ou on installe et quelle version on installe. Pour installer les contributions que l'on veut , pour ne pas être dépendant des choix du gestionnaire de package.

 Metting du 14 Juillet 2015

Exploration des source de psql

Objectif analyser comment ajouter une commande \pa qui permettrait une execution d'un fichier sql se trouvant dans une varaible SQLPGPATH.