ER図はアプリのデータベース設計図です。ChatGPTやClaudeにMermaid記法で書かせれば、専門知識がなくても数分で形になります。指示文の書き方、3つのコツ、人が確認すべき点を解説します。

AIで変わる「ER図」の作り方|アプリ開発のデータベース設計をChatGPT・Claudeで自動化する

AIアプリ開発におけるER図(エンティティ・リレーションシップ図)の作成とは、ChatGPTやClaudeなどの生成AIを活用し、アプリケーションの骨組みとなるデータベースの設計図を自動生成・改善していく開発手法です。

これまで、WebサービスやアプリのデータベースはER図の作成から始まり、専門知識を持つエンジニアが専用ツール(draw.ioなど)で時間をかけて組み立てるものでした。しかし現在は、AIと「Mermaid(マーメイド)」と呼ばれるテキストで図を書く記法を組み合わせることで、日本語の指示から数秒でER図のたたき台を生成できます。

本記事では、ER図の基礎知識から、なぜAIがデータベース設計と相性が良いのか、ChatGPTやClaudeを使った実践的な指示文(プロンプト)の書き方、そしてAIに任せるときのコツと注意点までを解説します。

1. そもそもER図とは?アプリ開発における「建物の設計図」

アプリやWebシステムを開発する際、目に見えるデザイン(画面)と同じくらい重要なのが、裏側でデータをどのように保存・管理するかという「データベース設計」です。

ER図(Entity-Relationship Diagram)とは、データベース内の「データ(エンティティ)」と、それらの「関係性(リレーション)」を目に見える形で表した図のことです。

エンティティ、属性、リレーションという3つの要素でデータベースの設計を表す図
  • エンティティ(実体):アプリ内に登場するデータの塊。たとえば「ユーザー」「商品」「注文履歴」
  • 属性:エンティティが持つ具体的な情報。ユーザーなら「名前」「メールアドレス」「パスワード」
  • リレーション(関係):エンティティ同士のつながり。「1人のユーザーが複数回注文する(ユーザーと注文は1対多の関係)」など

アプリ開発においてER図は、家を建てる際の間取り図や骨組みにあたります。ここが間違っていると、後から「ユーザーの購買履歴が正しく取り出せない」といった不具合や、表示速度の低下を引き起こします。

2. AIアプリ開発で「ER図」が作りやすくなった理由

従来、ER図を作るにはデータベースの正規化(データの重複をなくす作業)などの専門知識が必要で、非エンジニアや初学者にとってはハードルの高い作業でした。ChatGPTやClaudeなどの登場により、この状況が変わりました。

2-1. AIは「構造と関係性の整理」が得意

生成AIは、膨大な文章から「概念と概念のつながり」を整理することに長けています。「フリマアプリを作りたい。ユーザーが出品して、別のユーザーが購入する機能が必要」と日本語で伝えるだけで、必要なテーブル(ユーザー、商品、取引履歴、評価など)を洗い出し、関係性を筋の通った形で示してくれます。

2-2. 修正が対話だけで完結する

図形描画ツールで手作業で作ったER図は、後から「お気に入り機能を追加したい」となった場合、図形や線を一つひとつ引き直す必要がありました。

AIを使えば、「今の構成に『お気に入り』のテーブルを追加して、ユーザーと多対多の関係で結んで出し直して」と伝えるだけで、全体の整合性を保ったまま新しい設計図が出てきます。

3. AIとER図作成をつなぐ「Mermaid(マーメイド)」とは

AIを使ってER図を作るうえで、いちばん重要なキーワードが「Mermaid(マーメイド)」です。

3-1. テキストで図を描く仕組み

生成AIの画像生成機能でER図を描かせると、文字や線のつながりが崩れやすく、後から直すのも難しくなります。一方で、生成AIはテキストを出力するのは得意です。Mermaidとは、決められた書き方に従ったテキストを、自動できれいな図(ER図やフローチャート)に変換してくれる仕組みのことです。

日本語の指示からAIがMermaidのコードを出力し、対応ツールが図に変換する流れの図

3-2. どこで図として表示できるのか

Mermaidのコードは、多くの開発ツールやドキュメントツールが標準で図として表示できます。

  • GitHub:2022年から対応しています。READMEなどのMarkdownファイル、課題(Issues)、プルリクエスト、Wikiなどに書くだけで図になります
  • Notion:ページで「/code」と入力してコードブロックを作り、言語に「Mermaid」を選んだうえで、表示を「プレビュー」または「分割」に切り替えると図として表示されます
  • Mermaid Live Editor:ブラウザ上でコードを貼り付けるとすぐにプレビューできる公式のツールです

つまり「AIがコードを書く」「ツールが図に変換する」という分業が成り立つため、図形を触らずにER図を扱えるようになります。

4. 従来の手法とAIを活用した手法の違い【比較表】

比較項目

従来の手作業(draw.io、表計算ソフトなど)

AI+Mermaid(ChatGPT / Claudeなど)

作成スピード

数時間から数日(図形を配置していく)

数秒から数分(指示文を入力するだけ)

必要な専門知識

データベース設計、正規化、リレーションの知識が必要

作りたいアプリの要件を日本語で説明できればよい

仕様変更への対応

線や図形を手作業で引き直す

「この機能を追加して」と指示するだけで作り直せる

チームでの共有

画像ファイルで共有しがちで、差分が追いにくい

テキストで共有でき、変更履歴の管理もしやすい

抜け漏れの検知

人の目によるレビューに依存する

「このテーブルに日時の項目が不足しています」といった指摘を受けられる

5. 実践ステップ:AIにER図を作らせる指示文の書き方

実際にChatGPTやClaudeを使って、精度の高いER図を生成するための指示文の例を紹介します。

ステップ1:要件を伝えてMermaidのコードを出力させる

依頼する際は、「作りたいアプリの概要」「必要な機能」「出力形式」の3つを明確に指定します。

あなたは優秀なデータベースエンジニアです。
以下の要件を満たす「フリーマーケットアプリ」のER図を作成してください。

# アプリの要件
- ユーザーはアカウント登録(名前、メールアドレス、パスワード)できる
- ユーザーは商品を出品できる(タイトル、価格、説明文、状態)
- 別のユーザーが商品を購入でき、取引履歴が残る
- ユーザー同士で評価(星1〜5、コメント)を付けられる

# 出力ルール
- データベースは第3正規形まで正規化すること
- 各テーブルの主キー(PK)と外部キー(FK)を明確にすること
- 結果は Mermaid の erDiagram 記法を使ったコードブロックのみで出力すること

ステップ2:出力されたコードを図として表示する

AIからは次のようなコードが返ってきます。これをMermaid Live Editorに貼り付けるか、NotionやGitHubのMermaid用のコードブロックに入れれば、関係図として表示されます(下のコードは、主なテーブルだけを抜粋したものです。実際の出力には評価のテーブルなども含まれます)。

erDiagram
    USERS {
        int id PK
        string name
        string email
        string password_hash
        datetime created_at
    }
    ITEMS {
        int id PK
        int seller_id FK
        string title
        int price
        string description
        datetime created_at
    }
    TRANSACTIONS {
        int id PK
        int item_id FK
        int buyer_id FK
        datetime transaction_date
    }

    USERS ||--o{ ITEMS : "出品する"
    USERS ||--o{ TRANSACTIONS : "購入する"
    ITEMS ||--o| TRANSACTIONS : "取引される"

記号の意味は、線の両端にある形で関係の数を表します。「||」が1つ、「o{」が0個以上(複数)、「o|」が0個または1つです。つまり上の例は「1人のユーザーが複数の商品を出品する」「1つの商品は0件または1件の取引になる」という関係を表しています。

1対多、1対1、多対多という代表的な関係の読み方を示した図

6. AIにデータベース設計を依頼する際の3つのコツ

コツ1:「正規化」を明示的に指示する

データベース設計において、データが重複しないようにテーブルを分割する作業を「正規化」と呼びます。単に「設計して」と言うのではなく、「第3正規形まで正規化し、将来の拡張を考慮した設計にしてください」と付け加えることで、無駄の少ないテーブル構造が出てきます。

コツ2:論理削除と日時の項目を考慮させる

実際の運用では、ユーザーが退会しても過去の取引データを残すために「論理削除(削除済みかどうかを示す項目)」を使ったり、作成日時や更新日時を記録したりするのが一般的です。「すべてのテーブルに作成日時・更新日時と、論理削除のための項目を含めてください」と指定すると、実務に近い設計になります。

コツ3:「不足している点はないか」をAIに聞き返す

AIは壁打ちの相手として有効です。最初のER図が出た後に、「この設計で、将来ポイント機能やクーポン機能を追加する場合、つまずきそうな部分はありますか。改善案を含めて出し直してください」と投げかけます。AI自身が設計の弱点を挙げ、より丈夫な構成へ作り直してくれます。

7. よくある失敗と対策

失敗1:AIの出力をそのまま信じてしまう

AIは、実態と合わないつながり(1対多と多対多の取り違えなど)を作ることがあります。出力されたER図を見て、「1人のユーザーが複数の商品を持てる設計になっているか」など、実際の業務ルールと一致しているかを人が最終確認する工程が欠かせません。

失敗2:要件を一度に詰め込みすぎる

最初から「ユーザー管理、決済、チャット、レコメンド機能を持つ大規模アプリ」の設計を一度に頼むと、話の前提が混乱し、破綻した図が出やすくなります。

まずは「ユーザー管理」と「商品管理」といった最小限の中核機能から始め、対話の中で段階的にテーブルを足していくのが確実です。

失敗3:本番のデータや秘密情報を貼り付けてしまう

設計の相談をする際に、実際の顧客データやAPIキーをそのままチャットに貼り付けるのは避けてください。設計に必要なのは項目の名前と関係性だけで、中身のデータは不要です。

8. 今日から始めるAIデータベース設計チェックリスト

  • 作りたいアプリの中核となる機能要件を、箇条書きで整理しているか
  • AIに対して、出力形式を「MermaidのerDiagram記法」と明確に指定しているか
  • 指示文の中で「主キー」「外部キー」「正規化」の要件を伝えているか
  • 出力されたER図に対し、「不足している項目はないか」とAIに壁打ちを依頼したか
  • テーブル間の関係(1対多、多対多など)が、実際の業務ルールと矛盾していないか人の目で確認したか
  • 相談の際に、実データや認証情報をチャットに貼り付けていないか

9. まとめ:設計の「壁打ち相手」としてAIを活用する

AIを使ったアプリ開発において、ER図の作成はAIの恩恵を受けやすい領域の一つです。図形ツールを操作する時間をなくし、日本語の指示とMermaid記法を組み合わせるだけで、データベースの設計図を短時間で用意できます。

非エンジニアや初学者にとって、AIは単なる図の作成ツールではなく、アプリの骨組みを一緒に考えてくれる設計の相談相手です。まずは小さなアプリのアイデアから、「MermaidでER図を書いて」と依頼してみてください。

この記事を書いた人

野澤 孝理の横顔と上半身

株式会社curve

野澤 孝理

デジタルマーケティングを中心にClaude CodeやCodexを活用したサイト型LP制作、集客ツール設計、解析ツール導入や業務改善システムの構築等の集客×AIを掛け合わせた包括的支援を展開しております。

この内容を自社で相談する →