データベースの設計時に使うツールなど
PostgreSQL を主眼に置いた雑多なメモです。
似たようなものがたくさんある DB 関連のツールなどをまとめています。
他にもこんなのおすすめだよとかあれば教えてください。
まとめ
- テーブルの設計時には ER 図作って情報を共有・整理したい。
- DBeaver 使うと既存 DB の ER 図表示できるよ。
- ローカルに DB 実際に作って変更を加えながら DBeaver の ER 図見るという方法が良い感じ。
ER 図作成ツール
ER 図(Entity Relationship Diagram) はテーブル定義とテーブル間の関係を表現した図のことで、ある程度標準化されたルールがある。
テーブル設計時に書いておくと、テーブルの追加変更などの時や、開発時も参照できて便利
(参考) やさしい図解で学ぶ ER 図 表記法一覧
ER 図作成ツールには以下の機能を期待する。
- ER 図の作成・管理・共有が簡単
- 既存のデータベースから自動で ER 図を作成できる(import 機能)
- ER 図からデータベース作成クエリが自動で発行できる(export 機能)
おすすめの ER 図作成ツール のリスト
DBeaver (DB から読み込み)
0から図のみを作ることはできず、実際の DB から読み込む形のツールだが、設計時用の DB を作ってその上で作業する方式が効率的なのでご紹介。
DataGrip (DB から読み込み・編集)
DBeaver とできることが近い有料ツール。JetBrain ファミリー
PlantUML
VSCode 上でテキストファイルとして作成できるので、管理や共有が簡単。
紹介記事: PlantUML 使い方メモ
LucidChart
ブラウザ上で操作するオンラインアプリ。汎用図形ツールとして使える
その他の ER 図作成ツール
他にもたくさんありますが、軽快に動くのは少ない印象
クライアント GUI
データベースにアクセスし、操作を行う機能をもったアプリケーション。以下の機能を期待する。
- データベース接続情報を保管し、簡単に接続。
- テーブル一覧・データの閲覧・テーブル定義やインデックスなどを簡単に表示する。
- 生の SQL 書いて発行もできる。
クライアント GUI のリスト
DBeaver
UI もモダンで期待する機能が揃っていて重くない。
Enterprise Edition もあるが無料版でも十分。
pgAdmin
PostgreSQL の最も有名な古参 WEB ベースクライアント GUI。
情報が多く「pgAdmin 使ってこうやって」とか指示してくる記事もたまにある。UI が古くてわかりにくい。
DataGrip
DBeaver とできることが近い有料ツール。JetBrain ファミリー
TablePlus
機能は少ないがシンプルでわかりやすい。開発時の普段使いにはいいかも。
無料版で十分だが、$59 でフル機能版を買い切りで購入できる。(さらに1年間は最新版が出たとしても新しいのももらえる)
紹介記事「TablePlus を使ってみる。シンプルでモダンな SQL クライアントツール」https://tech-blog.s-yoshiki.com/entry/59
その他のクライアント GUI
無限にある気がするのでリストをご紹介
PostgreSQL WIKI 内のページ: https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools
DB データ可視化ツール
おまけとしてのご紹介。
クライアント GUI の一覧に登場することがあるが、テーブル定義やインデックス
の表示などはできないことが多いため別枠としてご紹介。
テーブル内のデータに関して、ある値を持ったものの数や、割合などをグラフィカルに表示してくれる ため、開発時というより運用時に活躍してくれるやつ。
このツールは特徴がそれぞれあって要件によってそれに合うかどうかで選ぶべきと考える。
データ可視化ツール
MetaBase
試しに使ってみるかくらいの感覚であれば MetaBase が簡単なのでおすすめ。
- 「OSS のデータ可視化ツール「Metabase」が超使いやすい」https://qiita.com/acro5piano/items/0920550d297651b04387
- 「オープンソースのデータ可視化ツール Metabase のご紹介」https://www.beex-inc.com/blog/metabase-overview/
Apache Superset
2021/01/21 に v1.0.0 がリリースされ、今週の GitHub トレンド1位になってる話題のやつ。
redash
使ったことはないけど、よく紹介されてて簡単そう
Grafana
DB だけじゃなくていろんなデータをいろんなグラフで可視化できる
Discussion