Difference between revisions of "Dbms workshop"

From Fixme.ch
Jump to: navigation, search
(Semaine 4 17/06/2014)
(Semaine 4 17/06/2014)
Line 181: Line 181:
  
 
== Semaine 4 17/06/2014 ==
 
== Semaine 4 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/bin
 
> bsondump
 
mongo
 
mongod
 
mongodump
 
mongoexport
 
mongofiles
 
mongoimport
 
mongooplog
 
mongoperf
 
mongorestore
 
mongos
 
mongostat
 
mongotop
 
 
Un repertoire data/db à la racine.
 
 
## Lancement du serveur
 
> /u01/projets/mongodb/bin/mongod --dbpath /u01/projets/mongodb/data/db
 
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
 
> 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
 
 
## Creation de la base FFH
 
 
> use FFH
 
switched to db FFH
 
> 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**
 
>db.membre.insert(M1)
 
WriteResult({ "nInserted" : 1 })
 
db.membre.insert(M2)
 
WriteResult({ "nInserted" : 1 })
 
 
 
**Verification de l'insertion.**
 
> 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 **
 
> show collections
 
membre
 
system.indexes
 
 
On Quitte et on se reconnecte
 
> exit
 
bye
 
pboizot@dbi-ntbk02:/u01/projets/mongodb/doc$ /u01/projets/mongodb/bin/mongo
 
MongoDB shell version: 2.6.2
 
connecting to: test
 
> show dbs
 
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
 
> db.membre.remove({})
 
WriteResult({ "nRemoved" : 0 })
 
 
drop collection
 
> db.membre.drop()
 
true
 
 
show collections
 
system.indexes
 
 
**Drop database** 
 
> use FFH
 
switched to db FFH
 
> db.dropDatabase();
 
{ "dropped" : "FFH", "ok" : 1 }
 
> exit
 
bye
 
pboizot@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
 
test  (empty)
 
>
 

Revision as of 19:17, 17 June 2014

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 du mois .


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
ffh=# \d
                    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)

ffh=# \d langue
                                 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 4 17/06/2014