# Base de données
Une fois votre base de données reliée à la plateforme, cette section permet d’interagir avec vos tables. Voyons comment.
# Tableau de bord
Cliquer sur ouvre le tableau de bord composé de plusieurs sections.
# Les données générales :

La première section donne le cumul des lignes de toutes les tables hors logs (si présents).
ouvre une fenêtre où il est possible d’entrer son mot de passe utilisateur pour récupérer les identifiants de connexion de la base de données à rentrer dans MySQLWorkbench par exemple.

ouvre une fenêtre de paramétrage.

Table :
Liste toutes les tables de la base de données.
Visible :
Si la cace est cochée, la table apparaîtra dans le menu latéral et sera accessible au visionnage, aux requêtage, etc.

Colonne date :
Colonne utilisée dans les courbes de mises à jour de la table. Par exemple ici, la colonne "date_publication" permet d’obtenir le nombre de lignes ajoutées journalièrement dans la table "bodacc" visible dans le tableau de bord de la base de données.


Colonne id :
Colonne des identifiants de la table ("id" par défaut).
Description :
Rapide description de la table.
Actions :
Ce bouton permet de lier des traitements faisant appel à la table et donne leur nombre (voir l’étape base de données dans l’éditeur de scénarios pour en savoir plus). Il ouvre une fenêtre de ce type :

Projet :
Menu déroulant permettant de choisir le traitement à lier à la table.
Nom :
Nom du bouton sous lequel apparaîtra le traitement dans la vue de la table. Par exemple, nous avons bien deux boutons d’action "Ajouter ou modifier" et "Supprimer" en bas de la vue de la table "changement_pharmacie" :

Cliquer sur ces boutons lancera le traitement lié.
Afficher le nombre de lignes :
Affiche le nombre de lignes résultant de la requête (voir querybuilder).
Autres boutons :
Enfin comme leurs noms l’indiquent, "Supprimer" supprime l’action, "Ajouter une action" crée une nouvelle action et "Revenir à la liste des tables" revient à l’écran précédent.
Iframe :
Permet de compléter le tableau de bord avec une datavisualisation en entrant son url et en lui donnant un nom.

Ajouter une table :
ajoute une nouvelle table à la liste.
Mettre à jour :
met à jour les paramètres des tables.
# Les mises à jour
Si des colonnes dates sont paramétrées, la seconde partie du tableau de bord permet de voir rapidement leurs évolutions dans le temps et par table.

La date indique depuis quand les enregistrements sont comptabilisés. La modifier change la période montrée et le nombre de lignes ajoutées.

# Les tables
Les tables disponibles dans le menu latéral apparaissent ainsi :

Par défaut, seules les 100 dernières lignes de la table sont chargées. Elles apparaissent par page de 10 lignes.
# Navigation
Le bloc de navigation permet de sélectionner la page voulue :
# Modifications
# Tri
Un tri croissant ou décroissant peut être effectué en cliquant sur la flèche à droite du nom de la colonne souhaitée. La flèche s’assombrit et son sens change selon le tri.

Un tri décroissant sur la colonne "stat" donnerait ceci :

# Menu en-têtes de colonnes
Un clic droit sur les en-têtes de colonnes fait apparaître un menu permettant de réaliser plusieurs actions.

Changer les valeurs de la colonne :
Permet de modifier toutes les valeurs d’une colonne en une seule opération. Ces modifications ne seront effectives que sur les lignes chargées : les 100 dernières lignes de la table dans l’affichage par défaut ou les lignes résultant d’une requête (voir querybuilder).
Exemple :
J’ai sélectionné les scores vides via une requête. Seules 281 lignes sont concernées.

Je souhaite remplacer ces scores vides par un "0".

Je clique sur "Changer les valeurs de la colonne" pour valider.

Les valeurs de la colonne "score" passent à "0". Attention! Ces changements ne sont pas encore enregistrés en base de données. Pour ce faire, une dernière étape est nécessaire en cliquant sur le bouton
(voir update).
Changer nom :
Cette option permet de changer le nom affiché d’une colonne (il n’est pas modifié en base de données).
Ici, la colonne "marque" sera modifiée en "Marque" après avoir cliqué sur "Changer nom".

Supprimer colonne :
Cette option permet de retirer une colonne de l’affichage.
Par exemple ici, la colonne "date" sera supprimée après avoir cliqué sur "Supprimer colonne".


Recharger la page permet de retrouver la colonne.
Colonnes :
Cette option permet de choisir rapidement quelles colonnes doivent apparaître ou non. Cliquer sur "Colonnes" fait apparaître la liste des colonnes. Seules les colonnes cochées apparaitront.

Par exemple ici, seules les colonnes "marque" et "stat" sont conservées.

# Réécrire une cellule
Toutes les cellules peuvent être modifiées une à une. Pour ce faire, cliquez sur la cellule désirée et modifiez la.


Attention! Les modifications apportées ne concernent que la vue. Il faut mettre à jour la table pour que les changements soient enregistrés en base. (voir update).
# Ajouter une ligne
Le bouton permet d’ajouter un enregistrement dans la vue et dans la table en base de données. Pour ce faire, il ouvre une fenêtre comme celle-ci :

Toutes les colonnes sont indiquées. Leurs éventuelles contraintes sont précisées ("ne peut être nul", etc). Dans notre table exemple, la colonne "id" est obligatoire. Je dois donc tenir compte du dernier id présent et l’incrémenter de 1. Les colonnes avec des valeurs doivent être cochées.

Après validation, un message nous indique qu’une ligne a été ajoutée :

La nouvelle ligne apparaitra après un rafraichissement de la page ou après avoir cliqué sur "Exécuter la requête".

La nouvelle ligne est bien présente en base de données :

# Update
Hormis "Ajouter une ligne" ci-dessus, toutes les modifications nécessitent un "update" pour être enregistrées en base de données.

Cliquer sur "update" déplie sa section :

Reprenons l’exemple développé ici. Nous avons 281 lignes modifiées. Nous retrouvons ce nombre sur ce bouton et pouvons vérifier les lignes qui seront insérées dans le tableau suivant :

Cliquer sur modifiera la base de données.
Une fois termimé, l’affichage de ma requête change. Je n’ai plus aucune ligne correspondant à ma condition.

# Delete à partir d’un csv
Comme pour l’update, cliquer sur fait apparaître sa section. L?objectif est ici de supprimer des lignes à partir d’un fichier csv.
Il faut tout d’abord importer un fichier csv puis cliquer sur pour supprimer les lignes.

Nous avons alors une réponse pour chaque ligne :

Et nous pouvons immédiatement constater les changements opérés sur la base de données. Les lignes ont bien disparu et le nombre de lignes a diminué.

# Update à partir d’un csv
Ce bouton fonctionne sur le modèle du "Delete à partir d’un csv". Cliquer sur fait apparaître sa section.
Il faut tout d’abord importer un fichier csv puis cliquer sur pour mettre à jour la table.

Nous avons alors une réponse pour chaque ligne :

La table est passée de cela :

À cela :

# Fusion
# Querybuilder
Il permet d’effectuer des requêtes SQL sur la table sélectionnée.

Le premier champ permet de préciser la requête via quelques options ou d’écrire la condition après le WHERE d’une requête SQL.

No limit : Toutes les lignes de la table seront affichées et non plus les 100 dernières.
100 derniers : Option par défaut. Affiche les 100 derniers enregistrements de la table.
Structure : Donne la structure de la table de la même façon qu’un MySQLWorkbench par exemple.

Order by id limit 10 : Affiche les 10 premiers enregistrements triés par id en ordre croissant.

Doublons : Recherche les doublons sur les colonnes précisées en cliquant sur le bouton
. Une fenêtre apparaît permettant de sélectionner les colonnes.
Par exemple, nous avons ici deux lignes aux contenus identiques, exception faite de leurs id :

Nous sélectionnons l’option "doublons" dans le menu déroulant puis cliquons sur le bouton "Colonnes id" pour définir les colonnes clés. Il faut que les contenus des colonnes "marque", "score", "stat" et "date" soient identiques.
L’exécution de la requête nous donne toutes les lignes en doubles :

Il est ensuite possible d’éliminer les lignes en trop par de simples clics droits/supprimer ligne (ne pas oublier de cliquer sur le bouton "update" pour mettre à jour la table).
Condition spécifique : Il est possible de préciser la condition après le WHERE de la requête SQL. Par exemple ici, je veux récupérer les enregistrements de l’id 11 à 40 :

# Créer des requêtes
Il peut être délicat d’écrire ses propres requêtes SQL. C’est pourquoi le querybuilder nous vient en aide avec une suite de menus déroulants. Le premier liste toutes les colonnes présentes pour choisir celle sur laquelle va s’effectuer la requête.

Le second offre les options conditionnelles selon le type du champ. Pour les champs de type TEXT ou VARCHAR :

Pour les champs de type "nombre" comme ici un FLOAT :

Le troisième champ permet de préciser la valeur recherchée :
Il suffit ensuite "d’exécuter la requête" pour en voir le résultat.

Il est possible d’enchaîner les requêtes articulées autour des "ET" et des "OU". Par exemple, je recherche ici les lignes dont la marque est MOTOBECANE et dont le score est supérieur à 0.

Rechercher les lignes où la marque est égale à MOTOBECANE ou LIFAN donnerait ceci :

On peut aller bien plus loin dans la construction des requêtes en utilisant des groupes et des règles comme ici où je recherche les lignes où la marque est MOTOBECANE ou LIFAN et dont le score est égal à 0.

Enfin le bouton efface la requête et
fait apparaître une fenêtre contenant la requête SQL permettant ainsi de la copier/coller pour la sauvegarder par exemple.
