Changes

Dbms workshop

3,818 bytes added, 01:14, 14 November 2015
La date de la rencontre est en commentaire. La rencontre n'a plus lieu depuis belle lurette.
= 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 &quot;Pirboazo&quot;, Member_num : 123001, Langue:'fr' })db.membre.insert(M2)WriteResult({ "nInserted" &quot;Member_pseudo&quot; : &quot;Pirboazo&quot;, &quot;Member_num&quot; : 123001, &quot;Langue&quot; : 1 &quot;fr&quot; })
M2 = { Member_pseudo : &quot;Yv&quot;, Member_num : 3001, Langue:'fr' }
{ &quot;Member_pseudo&quot; : &quot;Yv&quot;,
&quot;Member_num&quot; : 3001,
&quot;Langue&quot; : &quot;fr&quot; }
</pre>
**'''Creation de la Collection Membre'''Code:<pre> &gt;db.membre.insert(M1) </pre> Résultat:<pre>WriteResult({ &quot;nInserted&quot; : 1 }) </pre> Code:<pre>db.membre.insert(M2) </pre> Résultat:<pre>WriteResult({ &quot;nInserted&quot; : 1 })</pre> '''Verification de l'insertion.**'''  Code:<pre> &gt; db.membre.find(){ "_id" &quot;''id&quot; : ObjectId("&quot;53a07eba52a032beb132c6ba"&quot;), " &quot;Member_pseudo" &quot; : "&quot;Pirboazo"&quot;, " &quot;Member_num" &quot; : 123001, " &quot;Langue" &quot; : "&quot;fr" &quot; { "_id" &quot;''id&quot; : ObjectId("&quot;53a07ed752a032beb132c6bb"&quot;), "&quot;Member_pseudo" &quot; : "&quot;Yv"&quot;, " &quot;Member_num" &quot; : 3001, " &quot;Langue" &quot; : "&quot;fr" &quot; }</pre>** Nota **  Code:<pre>&gt; show collections</pre> Résultat:<pre> membre
** Nota **
> show collections
membre
system.indexes
</pre>
On Quitte et on se reconnecte<pre> exit&gt; 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>&gt; 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>
&gt; db.membre.remove({})
</pre>
Delete all MemberRésultat:<pre> db.membre.remove({})WriteResult({ "&quot;nRemoved" &quot; : 0 })</pre>drop collection
drop collectionCode:<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 /> Code:<pre> &gt; use FFH</pre> Résultat:<pre> switched to db FFH</pre>  Code:<pre>&gt; db.dropDatabase();</pre> Résultat:<pre>{ "&quot;dropped" &quot; : "&quot;FFH"&quot;, "&quot;ok" &quot; : 1 }</pre>  Code:<pre> &gt; 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>
&gt; show dbs
</pre>
 
Résultat:
<pre>
admin (empty)
local 0.078GB
test (empty)
&gt;
</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.
44
edits