= Base de Données # Syteme de gestion de base de données : DBMS =
Prochaine date le 17 Juin puis à partir de Juillet 2 ieme et 4 ieme Mardi <!-- Tous les deuxièmes mardis du mois , nous nous rencontrons à 19:30 jusqu'à au plus tard 21:30 pour discuter base de données.-->
== Semaine 1 - 11.03.2014 ==
== Semaine 2 - 25.03.14 ==
=== Gestion du "Foods For Hackers" ===
* Quoi : Foods For hackers
* Pourquoi : Pour connaitre produit ? Connaitre stock ?
==== Analyse Data ====
On s'interesse au food for hackers.
==== Type de Nouriture ====
<blockquote>
* extension Burgers
</blockquote>
==== Produits ====
<blockquote>
* quantité
</blockquote>
==== Mots clef ====
<blockquote>
* Description longue
</blockquote>
==== Consommation ====
<blockquote>
* date
</blockquote>
==== Consomateurs ====
<blockquote>
* idmembre
</blockquote>
==== Langue ====
<blockquote>
</blockquote>
==== Analyse Traitement. ====
* Initialiser la base.
* Gestion de la langue
==== Objectif pour la semaine 3 ====
* avancer sur la modélisation des données (la théorie)
<pre>psql -U fixme ffh < Ffh_sql.txt</pre>
Code:
<pre>
ffh=# \d
</pre>
Résultat:
<pre>
List of relations
Schema | Name | Type | Owner
public | produit_produit_id_seq | sequence | fixme
(10 rows)
</pre>
Code:
<pre>
ffh=# \d langue
</pre>
Résultat:
<pre>
Table "public.langue"
Column | Type | Modifiers
</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
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/bin> * bsondump* mongo* mongod* mongodump* mongoexport* mongofiles* mongoimport* mongooplog* mongoperf* mongorestore* mongos* mongostat* mongotop
Un repertoire data/db à la racine.
## ==== Lancement du serveur==== 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-ntbk022014-06-17T19:05:22.151+0200 [initandlisten] db version v2.6.22014-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
</pre>
## ==== lancement du client==== Code:<pre> boizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo </pre> Résultat:<pre>MongoDB shell version: 2.6.2
connecting to: test
</pre> show dbsadmin (empty)local 0.078GB
## Creation de la base FFHCode:<pre> show dbs </pre>
Résultat:<pre> use FFHswitched to db FFHadmin (empty) > dblocal 0.078GBFFH</pre>
**Initialisation ==== Creation de données**> M1 la base FFH ==== { Member_pseudo : "Pirboazo", Member_num : 123001, Langue:'fr' }{ "Member_pseudo" : "Pirboazo", "Member_num" : 123001, "Langue" : "fr"}
> M2 = { Member_pseudo Code: "Yv", Member_num : 3001, Langue:'fr' }{<pre> "Member_pseudo" : "Yv",use FFH "Member_num" : 3001, "Langue" : "fr"}</pre>
Résultat:
<pre>
switched to db FFH
</pre>
**Creation de la Collection Membre** Code:<pre>db.membre.insert(M1)FFHWriteResult(</pre>'''Initialisation de données''' <pre> M1 = { "nInserted" Member_pseudo : 1 "Pirboazo", Member_num : 123001, Langue:'fr' })db.membre.insert(M2)WriteResult({ "nInserted" "Member_pseudo" : "Pirboazo", "Member_num" : 123001, "Langue" : 1 "fr" })
M2 = { Member_pseudo : "Yv", Member_num : 3001, Langue:'fr' }
{ "Member_pseudo" : "Yv",
"Member_num" : 3001,
"Langue" : "fr" }
</pre>
**'''Creation de la Collection Membre'''Code:<pre> >db.membre.insert(M1) </pre> Résultat:<pre>WriteResult({ "nInserted" : 1 }) </pre> Code:<pre>db.membre.insert(M2) </pre> Résultat:<pre>WriteResult({ "nInserted" : 1 })</pre> '''Verification de l'insertion.**''' Code:<pre> > db.membre.find(){ "_id" "''id" : ObjectId(""53a07eba52a032beb132c6ba""), " "Member_pseudo" " : ""Pirboazo"", " "Member_num" " : 123001, " "Langue" " : ""fr" " } { "_id" "''id" : ObjectId(""53a07ed752a032beb132c6bb""), ""Member_pseudo" " : ""Yv"", " "Member_num" " : 3001, " "Langue" " : ""fr" " }</pre>** Nota ** Code:<pre>> show collections</pre> Résultat:<pre> membre
** Nota **
> show collections
membre
system.indexes
</pre>
On Quitte et on se reconnecte<pre> exit> exit bye
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo
MongoDB shell version: 2.6.2connecting to: test</pre> show dbsFFH 0.078GBadmin (empty)local 0.078GBtest (empty)
Constat la base FFH existe.Résultat:<pre>MongoDB shell version: 2.6.2 connecting to: test </pre>use FFH
Code:<pre>> show dbs </pre> Résultat:<pre>FFH 0.078GB admin (empty) local 0.078GB test (empty)</pre> Constat la base FFH existe... <pre>use FFH</pre> <pre> show collectionsmembre
system.indexes
</pre>
Delete all Member
Code:
<pre>
> db.membre.remove({})
</pre>
Delete all MemberRésultat:<pre> db.membre.remove({})WriteResult({ ""nRemoved" " : 0 })</pre>drop collection
drop collectionCode:<pre> > db.membre.drop()</pre> Résultat:<pre>
true
</pre>
Code:<pre>> show collections</pre> Résultat:<pre>
system.indexes
**</pre> '''Drop database** '''<br /> Code:<pre> > use FFH</pre> Résultat:<pre> switched to db FFH</pre> Code:<pre>> db.dropDatabase();</pre> Résultat:<pre>{ ""dropped" " : ""FFH"", ""ok" " : 1 }</pre> Code:<pre> > exit</pre> Résultat:<pre>bye</pre>
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo
MongoDB shell version: 2.6.2 connecting to: test
Code:
<pre>
> show dbs
</pre>
Résultat:
<pre>
admin (empty)
local 0.078GB
test (empty)
>
</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: testFFH</pre> Code:<pre>> show dbscollectionsadmin membresystem.indexes > db.membre.find(empty)local 0.078GB{ "_id" : ObjectId("53bc2d51bd84677f027bbbe6"), "Member_pseudo" : "Pirboazo", "Member_num" : 123001, "Langue" : "fr" }test { "_id" : ObjectId(empty"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.