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

<table><tr><td style="vertical-align: middle;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0; font-size:smaller" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> </td> <td> <span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Le cours "Informatique pour les historiens"</span> de <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Francesco Beretta</span>, avec tous les documents, fichiers et scripts associés, est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.</td></tr></table>

Retour vers l'accueil

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

Veuillez trouver ici quelques indications pour apprendre à utiliser PostgreSQL.

Procédure d'installation détaillée:

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.

En exécutant la requête SQL que vous voyez dans la boîte de dialogue SQL, le serveur PostgreSQL a créé les tables et ajouté les données que contient la requête SQL (instruction INSERT).

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

Ouvrez le schema_parametres.sql

Si le logiciel vous demande si vous voulez sauvegarder le texte que vous venez d'effacer à l'étape précédente, dites : non – car le nouveau texte SQL doit remplacer celui qui vient d'être exécuté

Exécutez le script, etc.

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

En exécutant ce script SQL, le serveur PostgreSQL produit 3 nouvelles tables avec les séquences numériques associées, et alimente les tables avec les données que contient le script même (instruciton INSERT)

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 le fichier qui sert d'interface à la base de données

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

ATTENTION que l'adresse est bien celle-ci et aucune autre (pas par ex. dbname=bd_td_exercice hostaddr=127.0.0.1 port=5432). Car pour les utilisateurs Mac j'ai hélas laissé cette adresse là par mégarde. Il faut mettre l'adresse correcte (nom de la base de données et port) pour que tout se passe bien

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 :

Accéder au menu Fichier, enregistrer sous…

renommez la copie que vous allez créer, l'appelant par ex. bd_personnelle – vous pouvez également la mettre dans un autre dossier, par ex. le dossier principal de votre travail de Master

Validez et vous vous trouverez désormais dans le nouveau fichier de Base qui (pour mémoire) vous sert de client pour accéder au serveur PostgreSQL

Il faudra maintenant changer les paramètres de connexion pour changer de base PostgreSQL interfacée

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 vous ê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

Si vous avez tout effectué correctement jusqu'ici vous disposez désormais d'une base de données à vous, vous permettant de créer des objets et de les associer entre eux. Par exemple, de créer un acteur et de l'associer à la bibliographie qui le concerne.

Sauvegarde de votre base personnelle !!!

IMPORTANT: il faut effectuer des sauvegardes régulières de votre base de données personnelle en exportant en format SQL le contenu du schéma 'objets'. Vous pourrez ainsi recréer uen copie identique de votre base dans n'importe quel serveur PostgreSQL, par ex. sur un autre ordinateur.

Ouvrir le client PGAdminIII et vous connecter à la base de données 'bd_personnelle'

Déplier les schémas dans l'arboréscence à gauche

sélectionner le schéma Objets, faire un click droit et sélectionner la commande sauvegarder

créer un dossier de sauvegarde de vos données dans le dossier du TD ou de votre Master

atteindre ce dossier par le bouton '…' de la sauvegarde de PGAdminIII

comme nom du ficher de sauvegarde taper 'schema_objets_20141004.sql' Vous saurez ainsi directement à quelle date vous avez effectué la dernière sauvegarde. Vérifiez que le suffixe est bien .sql.

Ensuite paramétrer dans le même onglet:

Format : fichier plat ( ! )

Codage : UTF8

Le reste : vide

Onglet 'Options 1': cocher 'Ne pas sauvegarder: Propriétaire, Droits'; le reste décoché

Onglet 'Options 2' : cocher 'Requêtes : Utiliser les colonnes pour les Insert, Utiliser les commandes pour les insert' Le reste décoché, sauf laisser 'Messages en mode verbeux'

Puis appuyer sur Sauvegarder.

Si tout va bien, la liste des messages termine par 'Le process a retourné le code de sortie 0.' (si c'est '1' il y a un problème, '0' c'est OK)

Vérifier que vous trouvez le nouveau document dans le dossier des sauvegardes.

Ce n'est pas nécessaire de sauvegarder les autres schémas car normalement vous ne les touchez pas. Ils sont donc identiques aux fichiers que je vous ai envoyés et vous pouvez mettre une simple copie de ceux-ci dans votre dossier de sauvegarde.

Le fichier de sauvegare vous permettra de recréer une copie exacte de votre schéma 'objets' de données sur un autre serveur (exactement comme on a fait lors de l'installation de la base de données pour le fichier exercice que je vous ai fourni). Donc si votre ordinateur a une défaillance, ou qu'on vous le vole, et si vous avez une copie de ces fichiers sur un disque dur à la maison, vous pourrez recréer votre base sur un nouvel ordinateur. Exactement comme on fait avec un document de traitement de texte.

Le fichier de sortie .sql est un fichier texte, facilement stockable sur une clé USB et très facile à mettre sur n'importe quelle autre plateforme, garantissant ainsi la pérennité de vos données.

Plus tard, vous pourrez aussi m'envoyer ces fichiers et je pourrai voir vos données, vous donner des indications et précisions et vous paramétrer des requêtes d'exploitation, pour vous apprendre à exploiter vos données

Mise à jour de la base de données et de l'interface

Base de données 'bd_td_exercice'

Télécharger la version à jour de la base de données de l'exercice. La version à jour est datée du 21 novembre 2014.
Dézipper le dossier et le placer dans votre endroit préféré pour ce TD.

Installer la base de données SQL (PostgreSQL)

Procéder à l'installation de la dernière version de la base de données de l'exercice:

Ne toucher en aucun cas à sa base de données personnelle (appelée 'bd_personnelle') qui n'est pas concernée par l'exercice

La prodédure est semblable à celle indiquée ici mais la création de la base se fera en une seule fois

Ouvrir pgAdminIII

Ouvrir le serveur PostgreSQL 9.3

Ouvrir le dossier des bases de données

Activer la base de données 'bd_td_exercice'

Click droit sur la base de donnée et sélectionner 'Supprimer' dans le menu

Répondre 'Oui' à la question 'Êtes vous sur de vouloir la supprimer'

Créer une nouvelle base de données vide appelée 'bd_td_exercice' et ouvrir la boite de dialogue SQL (la loupe)

Ouvrir le dossier téléchargé (dézippé préalablement) et dans ce dossier ouvrir le fichier 'bd_td_exercice.sql'

Patienter un petit moment car l'ouverture de ce document, qui contient la sauvegarde de toute la base de données, prend un petit moment

Exécuter ce script SQL : bouton vert = exécuter la requête

Patienter quelques secondes pendant l'installation de la base de données

Si vous avez un message terminant par la ligne “La requête a été exécutée avec succès en 21247 ms, mais ne renvoie aucun résultat.” c'est OK, sinon refaite l'opération puis, en cas de nouvel échec, appelez-moi à l'aide…

Mise-à-jour de l'interface

prenez le fichier bd_td_exercice.odb qui contient l'interface de votre base de données qui se trouve dans le dossier téléchargé et mettez-le à la place de votre fichier actuel

vérifiez les paramètres de connexion du fichier à votre base de données sont corrects (nom de la base: bd_td_exercice, port 5432) vous aurez accès à votre nouvelle interface et aux nouvelles données.

Base de données 'td_personnelle'

Ouvrir votre base de données personnelle (bd_personnelle) avec pgAdminIII

Déplier dans l'arboréscence de gauche les schémas (rouge)

NE TOUCHEZ JAMAIS au schéma 'objets', sauf si:

vous avez créé une version antérieure au permier novembre 2014: dans ce cas, voir les instructions spécifiques ci-dessous

sélectionner le schéma vues_affichage, puis click droit: supprimer en cascade

sélectionner le schéma paramètre, puis click droit: supprimer en cascade

recrééz les schémas paramètre et vues_affichage selon les instructions données ci-dessus et SANS TOUCHER au schéma 'objets'

Version de la base de données antérieure au premier novembre 2014

Mise-à-jour de l'interface

prenez le fichier bd_personnelle.odb qui contient l'interface de votre base de données qui se trouve dans le dossier téléchargé et mettez le à la place de votre fichier actuel

si les paramètres de votre base de données sont corrects (nom de la base: bd_personnelle, port 5432) vous aurez accès à votre nouvelle interface et aux nouveaux paramètres – ainsi à vos données que vous n'avez pas touchées.

si ce n'est pas le cas, vérifiez le paramètrage selon les indications données ci-dessus