Création de deux bases de données, interfacées avec Base (LibreOffice / OpenOffice)

Nous allons créer deux bases de données, bd_td_exercice et bd_personnelle, qui contiendront respectivement les données que je vous fournis pour les exercices et celles que vous alles produire vous-mêmes.

Création de la base de données bd_td_exercice

Téléchargez le dossier zippé contenant les fichiers à utiliser

Dézippez-le: il contient deux dossier → mettez-les dans le dossier du cours, dans un sous-dossier que vous nommerez 'bases_importees'

Ouvrez le logiciel pgAdmin III qui se trouve dans 'Programmes' > 'PostgreSQL 9.3' et connectez vous au serveur PostgreSQL 9.3 en utilisant le compte postgres et le mot de passe utilisé lors de l'installation. Cf. cette image

Ouvrez dans l'arboréscence de gauche les bases de données et, avec un click droit, ajouter une nouvelle base de données

Appelez la nouvelle base de données 'bd_td_exercice'; avant de clicker sur 'OK' vérifier que dans l'onglet 'Définition' le codage des caractères est bien à UTF-8

Sélectionnez la base de données 'bd_td_exercice' et activez-là par double click

Clicquez sur le bouton SQL (une sorte de loupe sur fonds orange)

Normalement, l'onglet 'Editeur SQL' qui s'ouvre est vide, sinon effacez le texte qu'il contient

Si le logiciel vous demande si vous voulez sauvegarder le texte que vous venez d'effacer à l'étape précédente, dites : non

A partir du menu 'Fichier' > 'Ouvrir', ouvrez les fichiers à installer qui se trouvent dans le dossier 'bases_importees' > 'bases_de_donnees_20141003' > 'bd_td_exercice' que vous venez de dézipper

Ouvrir dans le fichier schema_objets.sql

Une fois le fichier ouvert (vous pourrez donc lire dans l'onglet 'Editeur SQL' une série de scripts SQL prêts à exécution), exécuter avec le menu Requêtes > Exécuter ou avec le bouton avec la forme d'une fleche verte

Vous regardez la dernière ligne du message : “La requête a été exécutée avec succès en 391 ms, mais ne renvoie aucun résultat.” (le reste ne compte pas, même pas les lignes annulées) – Si vous voyez ce résultat (même si la durée en ms est différente) c'est bon.

Vous répétez ensuite l'opération avec les fichiers : schema_parametres.sql et schema_vues_affichage.sql

ATTENTION : exécuter les trois fichiers .sql exactement DANS L'ORDRE INDIQUÉ

Fermez ensuite l'Editeur SQL'

Sélectionner le dossier 'Schémas' (image rouge et blanche) dans l'arboréscence de gauche et rafraichir (Affichage > Rafraîchir ou bouton vert et rouge en haut)

Déploiez l'arboréscence du schéma par un click et trois schémas (=dossiers) apparaîssent, en plus du schema 'public', contenant les tables et vues de votre base de données

Par exemple, ouvrir le schéma 'objets', puis selectionner 'Tables', vous verrez la liste des trois tables

Dépliez l'arboréscence des tables, sélectionnez la table 'Objet', clickquez sur le bouton en forme de table, bleu et blanc, à droite du bouton de la loupe SQL et vous verrez apparaître une table contenant les données

Voilà ! Si vous en êtes là, le plus difficile est fait, vous avez créé la base de données de l'exercice.

Création de la base de données bd_personnelle

Maintenant il faut créer une base de données vide ou, plus précisément, une base de données dont les tables du schéma 'objets' sont vides – car c'est là que vous allez mettre vos propres données.

A ce sujet, voici quelques indications importantes:

le rôle d'un schéma dans PostgreSQL est analogue à celui d'un dossier du disque dur: il réunit des tables, des fonctions, des séquences numériques, etc. tout comme un dossier réunit des fichier

pour nous permettre de travailler de manière collaborative, vous alimentez avec vos données les tables du schéma 'objets' de votre base de données personnelle, mais vous ne touchez pas aux autres schémas et aux données qu'ils contiennent.

ceci me permettra de mettre à jour le contenu des schémas 'parametres' et 'vues_affichage', vous pourrez les écraser et remplacer par les nouveaux, et on ne TOUCHERA PAS vos données

quant aux tables qui les contiennent (celles du schéma objets) vous en ferez des sauvegardes régulières selon la procédure que j'indiquerai plus pas

Ceci étant dit, il faut donc:

créer une nouvelle base de donnée que vous appellerez bd_personnelle

Activez cette base par double click

Clicquez sur le bouton SQL orange pour ouvrir l' Editeur SQL

S'il n'est pas vide, effacez le texte qu'il contient sans le sauvegarder

A partir du menu 'Fichier' > 'Ouvrir', ouvrez les fichiers à installer qui se trouvent dans le dossier 'bases_importees' > 'bases_de_donnees_20141003' > 'bd_td_personnelle' que vous venez de dézipper (et pas 'db_td_exercice')

Ouvrir dans le fichier schema_objets.sql

Une fois le fichier ouvert (vous pourrez donc lire dans l'onglet 'Editeur SQL' une série de scripts SQL prêts à exécution), exécuter avec le menu Requêtes > Exécuter ou avec le bouton avec la forme d'une fleche verte

Vous répétez ensuite l'opération avec les fichiers : schema_parametres.sql et schema_vues_affichage.sql

ATTENTION : exécuter les trois fichiers .sql exactement DANS L'ORDRE INDIQUÉ

Fermez ensuite l'Editeur SQL'

Sélectionner le dossier 'Schémas' (image rouge et blanche) dans l'arboréscence de gauche et rafraichir (Affichage > Rafraîchir ou bouton vert et rouge en haut)

Déploiez l'arboréscence du schéma par un click et trois schémas (=dossiers) apparaîssent, en plus du schema 'public', contenant les tables et vues de votre base de données

Par exemple, ouvrir le schéma 'objets', puis selectionner 'Tables', vous verrez la liste des trois tables

Dépliez l'arboréscence des tables, sélectionnez la table 'Objet', clickquez sur le bouton en forme de table, bleu et blanc, à droite du bouton de la loupe SQL

Cette fois, la table est vide car c'est à vous de la remplir

Interfaçage avec le logiciel Base

Après avoir créé les deux bases de données ci-dessus, on peut accéder aux tables et aux données qu'elles contiennent en utilisant le logiciel client PgAdminIII. Toutefois, ce n'est pas très pratique pour saisir et visualiser les données.

Je vous ai donc créé une interface de saisie avec le logiciel Base de la suite LibreOffice que nous utiliserons comme client de la base de données pour la saisie et le travail sur les données, alors que nous utilisons le client PgAdminIII comme client pour la gestion de la base elle même (schémas, tables, requêtes SQL etc.)

Le logiciel serveur lui même, c'est-à-dire PostgreSQL, tourne toujours lorsque votre ordinateur est allumé (sans consommer de ressources) mais il n'est pas directement visible. Il devient visible grâce à des logiciels clients. On parle d'une architecture client–serveur.

PRINCIPE ESSENTIEL : Grâce à cette architecture logicielle on sépare soigneusement le stockage des données de leur visualisation. Je pourrai donc améliorer progressivement l'affichage dans Base et faire évoluer le système SANS TOUCHER À VOS DONNÉES qui se trouvent dans le schéma 'objets' et, plus tard, dans le schéma 'unites_de_connaissance'. Vos données resteront toujours sur votre ordinateur, et vous pourrez les sauvegarder régulièrement, mais le reste du système d'information pourra évoluer.

TUTORIELS : il existe plein de tutoriels pour apprendre à utiliser Base de LibreOffice/OpenOffice

Liste dans developpez.com

Questions et problèmes habituels

Procédure à suivre pour l'installation de l'interface

Télécharger la version du fichier qui correspond au système de fonctionnement de l'ordinateur:

Fichier pour Mac

Fichier pour Windows

Le dézipper et le mettre dans le dossier du cours

Ouvrir le fichier avec le logiciel Base de la suite LibreOffice

ATTENTION: ce fichier ne marche qu'avec la version stable de LibreOffice: 4.2.6.3, et pas avec la version 4.3. Si vous avez installé la version de développement de LibreOffice (4.3), désinstallez-là et remplacez là par la version stable.

Dans l'interface principale de la base de données, dans le menu 'Edition' > Bases de données > Propriétés, on voit l'adresse de connection vers la base de données PostgreSQL:

dbname=bd_td_exercice hostaddr=127.0.0.1 port=5432

Il n'y a rien a changer à ce sujet

Dans le cadre de gauche, dans 'Formulaires', on peut ouvrir le formulaire objets et retrouver les objets déjà créées à partir des notices biographiques de l'exercice précédent

Au moment d'ouvrir le formulaire, Base vous demandera votre mot de passe utilisé lors de l'installation de PostgreSQL

On peut parcourir les objets un par un, ou ouvrir la liste de tous les objets que contient la table –en utilisant le bouton en bas à droite – puis appliquer de filtres, trier, etc. C'est très pratique car l'objet sélectionné dans la liste est celui qu'on voit sur la fiche

ATTENTION: ne pas toucher au contenu des tables du schéma paramètre car elles permettent à votre base de données de fonctionner correctement et vous risquez de compromettre l'affichage de vos données (mais pas les données elles mêmes car elles sont stockées à part)

Installer l'interface de sa base personnelle

Il s'agit maintenant de créer une interface pour la base de données personnelle que vous avez créé plus haut dans PostgreSQL: bd_personnelle

Pour ce faire :

fermez le fichier td_histoire_numerique s'il est ouvert avec Base

faites en une copie dans le même dossier ou dans un autre dossier dédié à votre propre base de données et travail de master – la copie s'effectue par simple copier–coller du fichier

renommez le fichier, l'appelant par ex. bd_personnelle

ouvrez le fichier par double click

allez dans le menu Edition > Base de données > Propriétés

remplaces le nom de la base de données : 'dbname=bd_td_exercice' devient 'dbname=bd_personnelle'

vous changez ainsi la base de données du serveur PostgreSQL qui devient visible grâce au client Base

Testez la connexion avec le bouton de la même interface, mettant votre mot de passe.

Si vous ovus êtes trompés de mot de passe, il faut fermer et réouvrir le fichier

ouvrez le formulaire 'objets': maintenant il sera vide car les tables du schéma 'objets' de votre base personnelle sont vides – à vous de les remplir

pour créer un nouvel objet, uitliser le formulaire 'objets_creation' car le formulaire 'objets' sert uniquement à visualiser et modifier des objets existants

Création des objets et indexation des textes

Sauvegarde de la base de données