Outils pour utilisateurs

Outils du site


informatique:databases

Bases de données

Représentation visuelle des jointures

Cette page décrit visuellement les différents types de jointures entre 2 tables. Cela permet de visualiser quelles données sont récupérées.

Types de bases de données

MySQL

Commentaires

Les commentaires sont importants pour la pérennité du code. Encore faut-il qu'ils soient mis à jour en même temps que le code lié. Il en est de même avec ce que l'on met dans notre base de données. Cette page décrit les différents types de commentaires qu'il est possible d'utiliser, ainsi que l'ensemble des éléments qu'il est possible de commenter.

Procédures et fonctions

La base de données propose un nombre fini d'instructions. Cependant, il est possible de les combiner pour étendre les possibilités de manipulation de données. Cette page décrit les bases de ce qu'il y a à savoir quand on écrit et utilise procédures et fonctions.

Requêtes

Pour manipuler la base de données, il existe deux catégories de requêtes, celles pour la manipulation des données et celles pour l'administration de la base de données. Techniquement, ces dernières sont des requêtes qui se font sur les base de données internes.

Hiérarchie de données

Cette page décrit certaines solutions de stockage d'une hiérarchie ainsi que leur utilisation.

Outils

Cette page recense certains outils pour manipuler la base de données.

Sqlite

Permissions

Pour pouvoir modifier une base de données Sqlite, il faut non seulement que le fichier qui la contienne ait les bonnes permissions mais aussi que le répertoire parent ait les mêmes permissions.

# La base de données n'est pas accessible en écriture
dr-xr-xr-x 3    100 82    4096 Feb 22 06:41 .
-r-xr-xr-x 1    100 82 6696960 Feb 22 06:41 db.sqlite
 
# La base de données n'est pas accessible en écriture
dr-xr-xr-x 3    100 82    4096 Feb 22 06:41 .
-rwxrwxrwx 1    100 82 6696960 Feb 22 06:41 db.sqlite
 
# La base de données est accessible en écriture
drwxrwxrwx 3    100 82    4096 Feb 22 06:41 .
-rwxrwxrwx 1    100 82 6696960 Feb 22 06:41 db.sqlite

Requête sur plusieurs bases de données

Il est possible de faire des requêtes en ciblant des tables situées dans des bases de données différentes. Pour cela, il faut commencer par attacher la base de données ciblée à celle utilisée 1) avec la commande suivante :

ATTACH 'db.sqlite' AS other;

Ensuite, il suffit de référencer les tables de cette base de données de la manière suivante :

SELECT *
FROM local_table AS a
JOIN other.table AS b ON a.id = b.id

DBeaver

Récupérer les mots de passe sauvegardés

  1. Localiser le fichier contenant les mots de passe avec la commande suivante :
    find . -iname \*credentials-config.json
  2. Déchiffrer le fichier contenant les mots de passe avec la commande suivante :
    openssl aes-128-cbc -d -K babb4a9f774ab853c96c2d653dfe544a -iv 00000000000000000000000000000000 -in "${HOME}/.local/share/DBeaverData/workspace6/General/.dbeaver/credentials-config.json" | dd bs=1 skip=16 2>/dev/null | jq
  3. Afficher les informations des bases de données en ouvrant le fichier de configuration des connexions avec la commande suivante :
    cat .local/share/DBeaverData/workspace6/General/.dbeaver/data-sources.json | jq
  4. Comparer les résultats des 2 commandes précédentes pour lier une connexion à son utilisateur et son mot de passe.
1)
Attention, le nombre de base de données attachées est limité
informatique/databases.txt · Dernière modification : 2023/09/18 04:58 de alexis