SQLを貼り付けるだけで、ER図とテーブル定義書
ErdDocs は、手元にあるスキーマから ER図を自動生成するツールです。SQL のダンプ、Prisma スキーマ、マイグレーションを貼り付けると、インタラクティブな ER図ができあがります。あわせてテーブル定義書も作られ、そのまま印刷できます。テーブル・カラム・型・リレーションを一覧にした資料です。登録もインストールも不要。解析はブラウザの中だけで行われ、スキーマが外部に送信されることはありません。
アップロードは一切ありません。スキーマはこのブラウザの中だけに保存され、サイトデータを消去すると削除されます。
使い方
SQL のダンプから ER図とテーブル定義書を作るには:
- 01スキーマを出力します。PostgreSQL なら
pg_dump --schema-only、MySQL ならmysqldump --no-dataを使います。 - 02上のパネルに貼り付けるか、.sql ファイルをそのままドロップします。
- 03ER図を確認します。テーブルにカーソルを合わせるとリレーションが強調され、クリックで固定できます。
- 04「テーブル定義書」タブに切り替えると、カラム・型・デフォルト値・インデックス・リレーションが一覧になり、PDF として印刷できます。
本番のダンプを前提に作っています
本番のスキーマは、きれいに並んだ CREATE TABLE 文の一覧ではありません。そこでパーサーは実在のスキーマで検証しています。pagila、sakila、GitLab、Discourse、WordPress、PrestaShop です。形式ごとの読み取り精度は、公開されている 89 のスキーマで測っています。
- パーティションは一つのテーブルのままです。
paymentの月別パーティションが 55 個あるダンプでも、カードは 56 枚ではなくpaymentの 1 枚です。 - 定義されていない外部キーを補います。 Rails や Django のプロジェクトは、データベースに外部キーを一つも宣言していないことがよくあります。それでもカラム名を見れば、どこがどこを指すかはわかります。そうしたリレーションは破線で描きます。
- 読めない文が一つあっても、ファイル全体は止まりません。 読めない部分は飛ばして報告し、残りのスキーマはそのまま描きます。
- 大きなスキーマも切り捨てません。 数百テーブルのスキーマでも、貼り付けたものはすべて解析して配置します。
ErdDocs の特長
- 図だけでなく、テーブル定義書まで。 納品・引き継ぎ・監査で実際に求められるのは、ER図と一緒に渡す定義書です。
- 登録不要、インストール不要。 結果を見る前にアカウントを作る必要はなく、プロジェクトに何かを追加する必要もありません。
- 買い切り。 サブスクリプションではなく、一度だけの支払いです。
- スキーマは手元から出ません。 解析はブラウザ内で完結し、スキーマはサーバーに送られません。本番のスキーマも、データベースの構造が漏れる心配なく貼り付けられます。
形式どうしの変換
ErdDocs は 10 種類の形式を読み、8 種類の形式で書き出します。どれも上のパネルでできます。下のページは変換ルートを一つずつ扱い、サンプルが入った状態で開きます(ページは英語です)。
- Prisma スキーマから ER図:
schema.prismaが生成するデータベースを、中間テーブルまで含めて。 - DBML から ER図:dbdiagram の言語を図に。アカウントなしで、印刷用のテーブル定義書もつきます。
- SQL から PlantUML:ダンプを
.pumlに。JVM も Graphviz も要りません。 - Mermaid ER図ジェネレーター:10 種類のどの入力からでも、README 用の
erDiagramテキストを。 - DBML から Mermaid:変換結果の横に図が出るので、正しく変換できたか確かめられます。
- SQLAlchemy のモデルから ER図:pip も Graphviz も使わずに Python のモデルを図に。
- Sequelize のモデルから ER図:アソシエーションから導かれるキーも含めて。
- Prisma スキーマから SQL:CLI をインストールせずに
CREATE TABLEを。 - Django のモデルから ER図:Django が作るテーブルを、Graphviz なしで。
- TypeORM から ER図:テキストで貼り付けたエンティティと、それが作る中間テーブル。
- Prisma から DBML:dbdiagram と dbdocs 用に。出力の横に図が出ます。
- Prisma から PlantUML:CLI も generator ブロックもなしで
.pumlを。 - MySQL ER図ジェネレーター:Workbench をインストールせずに mysqldump のファイルから。
よくある質問
テーブル定義書とは何ですか?
データベースの全テーブルについて、カラム名・データ型・NULL 可否・デフォルト値・インデックス・リレーションを一覧にした資料です。開発の引き継ぎや納品、監査で使われます。ErdDocs は貼り付けたスキーマからこれを自動で作り、そのまま印刷できます。
カラムの日本語名(論理名)は表示されますか?
はい。PostgreSQL の COMMENT ON TABLE / COMMENT ON COLUMN や MySQL の COMMENT 句に書いた日本語名は、そのまま読み込まれてテーブル定義書の説明欄に表示されます。物理名はテーブル名・カラム名として、論理名はコメントとして並びます。
スキーマはどこかにアップロードされますか?
いいえ。解析と描画はすべてブラウザの中で行われます。SQL が端末の外に出ることはなく、作成するアカウントもありません。ErdDocs は稼働中のデータベースにあえて接続しないので、接続情報を渡す必要もありません。ページビューは Cookie を使わない計測ビーコンで数えています。ビーコンにわかるのは開いたページだけで、そこに書かれた中身は一切わかりません。
どのデータベースと形式に対応していますか?
SQL は PostgreSQL・MySQL・SQL Server・SQLite に対応しています。ALTER TABLE ONLY ... ADD CONSTRAINT 文を含む pg_dump、mysqldump、SSMS で生成したスクリプト、SQLite の .schema コマンドの出力のどれでも読めます。SSMS の GO バッチや角かっこで囲んだ名前も読み取ります。ほかに 9 種類の入力をそのまま読みます。Prisma スキーマ、DBML、Mermaid の erDiagram、PlantUML、Django のモデル、SQLAlchemy のモデル、Sequelize のモデル、TypeORM のエンティティ、Laravel のマイグレーションです。Prisma では、@map の名前、リレーションフィールド、暗黙の多対多の中間テーブルを、データベースに実際にできるテーブルとして解決します。形式は貼り付けた内容から判定し、その判定は手で変えられます。
外部キーが定義されていないダンプでも描けますか?
はい。Rails や Django、Laravel のプロジェクトではリレーションをアプリ側だけで管理していることがよくあります。ErdDocs は命名規則も読むので、user_id は users テーブルにつながります。名前から推定したリレーションは破線で描かれ、データベースが宣言しているものと区別できます。
dbdiagram、drawSQL、sqltoerdiagram とは何が違いますか?
ErdDocs の支払いは一度だけです。dbdiagram と drawSQL の有料プランは、サブスクリプションしかありません。ErdDocs は Prisma のスキーマ、Django・SQLAlchemy・Sequelize・TypeORM のモデル、Laravel のマイグレーションを読めます。dbdiagram と drawSQL は、そのどれも読めません。Mermaid や PlantUML への書き出しも、どちらにもありません。drawSQL では、アカウントがないと画像さえ書き出せません。DBML は取り込めますが、書き出せません。dbdiagram で外部キーのないリレーションを見つけるのは AI アシスタントで、有料プランでしか使えません。ErdDocs はカラム名から、無料で見つけます。sqltoerdiagram には、印刷できるテーブル定義書がありません。また、ダンプ内のパーティションを一つずつ別のテーブルとして描きます。ErdDocs はそれを親テーブルにまとめます。sqltoerdiagram は Laravel のマイグレーションを読めません。Django と TypeORM では、先にモデルから SQL を生成するよう求めます。
料金はかかりますか?
25 テーブルまでのスキーマは登録なしで無料ですべて表示でき、画像の書き出しも無料です。それより大きいスキーマも全体を解析し、上限を超えたテーブルはロックされた状態で表示されます。一度だけ $9 を支払うと、上限がなくなり、テーブル定義書も全体が使えるようになります。税は決済時に Paddle が加算します。
もっと見る
- ER図作成ツール:描くのではなく、SQL から生成する ER図
- テーブル定義書の自動生成:スキーマから定義書を作って PDF に
- ER図の記号:IE 記法(鳥の足)の読み方
- ER図のサンプル:図書館・病院・学校のスキーマ例
- 料金:無料プランと買い切りライセンス