Outils pour utilisateurs

Outils du site


informatique:databases

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
informatique:databases [2022/08/23 14:05] alexisinformatique:databases [2022/09/22 19:09] – [Récupérer les mots de passe sauvegardés] alexis
Ligne 4: Ligne 4:
 [[informatique:databases:join_representation|Cette page]] décrit visuellement les différents types de jointures entre 2 tables. [[informatique:databases:join_representation|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. Cela permet de visualiser quelles données sont récupérées.
 +
 +===== Types de bases de données =====
 +  * Relationnelle -- [[https://en.wikipedia.org/wiki/MySQL|MySQL]], [[https://en.wikipedia.org/wiki/Oracle_Database|Oracle Database]], [[https://en.wikipedia.org/wiki/PostgreSQL|PostgreSQL]], [[https://en.wikipedia.org/wiki/SQLite|SQLite]].
 +  * Orientée documents -- [[https://en.wikipedia.org/wiki/Elasticsearch|Elasticsearch]], [[https://en.wikipedia.org/wiki/MongoDB|MongoDB]].
 +  * Clé-valeur -- [[https://en.wikipedia.org/wiki/LevelDB|LevelDB]], [[https://github.com/cockroachdb/pebble|Pebble]], [[https://en.wikipedia.org/wiki/Redis|Redis]], [[https://en.wikipedia.org/wiki/RocksDB|RocksDB]].
 +  * Série temporelle -- [[https://en.wikipedia.org/wiki/Prometheus_(software)|Prometheus]], [[https://en.wikipedia.org/wiki/TimescaleDB|TimescaleDB]].
 +  * Vectorielle -- [[https://github.com/featureform/featureform|featureform]], [[https://milvus.io/|Milvus]], [[https://www.pinecone.io/|Pinecone]], [[https://weaviate.io/|Weaviate]].
 +
 +
 +
  
 ===== MySQL ===== ===== MySQL =====
Ligne 47: Ligne 57:
 ==== Permissions ==== ==== 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. 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.
 +<WRAP prewrap>
 <code bash> <code bash>
 # La base de données n'est pas accessible en écriture # La base de données n'est pas accessible en écriture
Ligne 60: Ligne 71:
 -rwxrwxrwx 1    100 82 6696960 Feb 22 06:41 db.sqlite -rwxrwxrwx 1    100 82 6696960 Feb 22 06:41 db.sqlite
 </code> </code>
 +</WRAP>
  
 ==== Requête sur plusieurs bases de données ==== ==== 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. 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 [[https://www.sqlite.org/lang_attach.html|attacher la base de données]] ciblée à celle utilisée ((Attention, le nombre de base de données attachées est limité)) avec la commande suivante : Pour cela, il faut commencer par [[https://www.sqlite.org/lang_attach.html|attacher la base de données]] ciblée à celle utilisée ((Attention, le nombre de base de données attachées est limité)) avec la commande suivante :
 +<WRAP prewrap>
 <code sql> <code sql>
 ATTACH 'db.sqlite' AS other; ATTACH 'db.sqlite' AS other;
 </code> </code>
 +</WRAP>
  
 Ensuite, il suffit de référencer les tables de cette base de données de la manière suivante : Ensuite, il suffit de référencer les tables de cette base de données de la manière suivante :
 +<WRAP prewrap>
 <code sql> <code sql>
 SELECT * SELECT *
Ligne 74: Ligne 89:
 JOIN other.table AS b ON a.id = b.id JOIN other.table AS b ON a.id = b.id
 </code> </code>
 +</WRAP>
 +====== DBeaver ======
 +
 +===== Récupérer les mots de passe sauvegardés =====
  
 +  - Localiser le fichier contenant les mots de passe avec la commande suivante : <WRAP prewrap><code bash>find . -iname \*credentials-config.json</code></WRAP>
 +  - Déchiffrer le fichier contenant les mots de passe avec la commande suivante : <WRAP prewrap><code bash>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</code></WRAP>
 +  - Afficher les informations des bases de données en ouvrant le fichier de configuration des connexions avec la commande suivante : <WRAP prewrap><code bash>cat .local/share/DBeaverData/workspace6/General/.dbeaver/data-sources.json | jq</code></WRAP>
 +  - Comparer les résultats des 2 commandes précédentes pour lier une connexion à son utilisateur et son mot de passe.
informatique/databases.txt · Dernière modification : 2023/09/18 04:58 de alexis