Exporter au format SQL

Le logiciel BaseDeFiches n’utilise pas de base de données relationnelles basée sur le langage SQL pour gérer ses données mais utilise directement du XML. Le langage SQL a cependant pour lui deux avantages :

Pour pouvoir utiliser le langage SQL, BaseDeFiches propose un mécanisme d’exportation des données au format SQL. Son principe est très simple : l’export SQL génère un fichier contenant les instructions SQL permettant la création des tables et l’insertion des données (instruction CREATE TABLE et INSERT VALUES). Il suffit alors d’exécuter ces instructions dans le logiciel de base de données de son choix (dans nos exemples, nous prendrons MySql). Bien sûr, il s’agit d’une copie destinée à la sélection de données, les modifications effectuées dans cette copie ne seront pas prises en compte. Dans nos exemples, nous verrons comment automatiser l’export afin que la copie sous forme SQL soit synchronisée tous les soirs.

Gestion des exportations SQL

La gestion se fait via Administration->Gestion des exportations SQL. On peut créer autant d’exportations SQL que l’on veut. À la création d’une nouvelle exportation, il est demandé de lui donner un nom qui est un nom « technique » (pas d’accents, pas d’espace, en minuscules).

Les paramètres d’une exportation sont les suivants :

L’implémation par défaut fr.exemole.bdf.sqlexport.DefaultSqlExport

Structure des données

L’implémentation par défaut propose de générer les tables SQL correspondant à un modèle tabulaire déjà défini. On obtiendra ainsi l’équivalent sous forme de tables SQL du classeur OpenDocument. par corpus, une table par thésaurus, une table par croisement entre thésaurus et corpus non vide et une table par croisement entre corpus non vide.

Paramètres

L’implémentation par défaut accepte les paramètres suivants :

En général, on utilise les paramètres drop_table et create_table en combinaison lorsque l’on veut que la structure des tables suivent le modèle d’exportation des données tabulaires. On utilise delete_table lorsque le modèle s’adapte à une structure de données existantes.

drop_table= 2
create_table=1

Combinaison d’écrasement de la table existante (si elle existe) et de création de la table

delete_table= 1

Suppression des données de la table