ER 図作成ツール — テキストから ER 図(実体関連図)を作成
データベースのスキーマをテキストで書くと、ER 図がリアルタイムに描画されます。PDF や SVG にエクスポートできます。
すべてブラウザ内で動作し、図がアップロードされることはありません。スクロールでズーム、ドラッグで移動できます。PDF 書き出しでは印刷ダイアログが開くので、「PDF として保存」を選んでください。
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
この無料の ER 図作成ツールは、入力に合わせてテキストを ER 図(実体関連図)として描画します。左側でテーブルとそのフィールドを定義し、標準的なカーディナリティ記法(1 対多、多対多)でつなぐと、右側の図がリアルタイムに更新されます。ドキュメント用には PDF、スライドや Wiki 用には SVG でエクスポートできます。
実際のデータベース作業では、テキストベースの作図のほうがドラッグ&ドロップより優れています。スキーマをバージョン管理でき(マイグレーションと一緒に git に入れられます)、プルリクエストでレビューでき、四角形を何分も動かし回す代わりに数秒で編集できます。構文は標準的な Mermaid の erDiagram 記法なので、ここで作った図は GitHub、GitLab、Notion でも描画されます。
使い方
- ツールバーの「ガイド」を開いて 2 分で読める構文リファレンスを確認するか、組み込みのスキーマの例を読み込みます。
- 各エンティティをブロックとして定義します。エンティティ名の後に、属性ごとに 1 行ずつ型と一緒に書きます。主キーには PK、外部キーには FK を付けます。
- カーディナリティの矢印でエンティティをつなぎます。CUSTOMER ||--o{ ORDER : places は「1 人の顧客が 0 件以上の注文をする」という意味です。
- スクロールでズーム、ドラッグで移動、「全体表示」で中央に戻します。「PDF をダウンロード」(印刷ダイアログが開くので「PDF として保存」を選択)または「SVG をダウンロード」でエクスポートします。
よくある質問
ER 図とは何ですか?
ER 図(実体関連図)は、データベースを設計・文書化するための標準的な方法です。エンティティ(顧客、注文、商品など、保存する対象)を箱で表し、各箱の中に属性(フィールド)を書き、エンティティどうしの関係(1 対 1、1 対多、多対多)をカーディナリティの記号付きの線で示します。チームでマイグレーションを書く前にスキーマを合意したり、既存のデータベースを文書化したりするのに使われます。
このツールはどの構文を使っていますか?
標準的な Mermaid の erDiagram 構文です。オープンで広くサポートされているテキスト記法です。ここで書いた図は、GitHub の README、GitLab、Notion、Obsidian など、Mermaid に対応したあらゆる場所で同じように描画されるので、ソースのテキストをどこへでも持ち運べます。
多対多の関係はどう表しますか?
エンティティの間に }o--o{(両側とも 0 以上)を使うか、中間テーブルで明示的にモデル化します。たとえば POST ||--o{ POST_TAG と TAG ||--o{ POST_TAG のようにすると、実際に SQL で実装する形に近くなります。組み込みのブログの例で、中間テーブルのパターンを確認できます。
スキーマはどこかにアップロードされますか?
いいえ。描画はすべてブラウザ内で行われ、テキストが端末の外に出ることはありません。本番データベースのスキーマを図にするときには重要な点です。
作業内容を保存するには?
図のソースはプレーンテキストです。ファイル、チケット、リポジトリにコピーしておき、いつでも貼り付け直せば続きから作業できます。完成した図は、PDF(ドキュメント用)または SVG(いくらでも拡大でき、スライドや Wiki にきれいに埋め込める)でエクスポートしてください。
カーディナリティ記法の早見表
• || — ちょうど 1(必須の単一レコード)
• o| — 0 または 1(任意の単一レコード)
• |{ — 1 以上(必須の複数)
• o{ — 0 以上(任意の複数)
両側から記号を 1 つずつ組み合わせます。CUSTOMER ||--o{ ORDER は、すべての注文がちょうど 1 人の顧客に属し、顧客は何件でも注文を持てることを意味します。ビジネスのスキーマで最もよくある関係です。非識別関係には、実線(--)の代わりに破線(..)を使います。
コードを書く前にスキーマを設計すべき理由
孤立したレコード、重複したデータ、誰も結合できないテーブルなど、高くつくデータベースの問題の多くは、計画なしに膨らんだスキーマに原因があります。10 分間 ER 図を描くだけで、重要な問いに早い段階で向き合えます。このエンティティを一意に識別するものは何か。この関係は本当に 1 対多でよいのか、顧客が 2 つ目の住所を持った途端に多対多になるのではないか。削除したらどうなるのか。
ER 図は、技術者とそうでない関係者をつなぐ最も手早い共通言語でもあります。事業の責任者が図から「1 人の顧客が多数の注文をする」と読み取って、誤った前提が半年分のコードに組み込まれる前に指摘してくれます。図を共有すれば、実装前にチームでスキーマについて合意しやすくなります。