データベース設計って、地味に時間がかかりますよね。テーブルを洗い出して、カラムを考えて、ER図をdraw.ioやFigmaでポチポチ手作業で描いて……気づいたら設計だけで数時間経っていた、なんて経験はありませんか?
この記事では、Claude Codeを使ってテーブル設計・ER図を爆速で仕上げる方法を解説します。プロンプトの書き方からMermaid記法でのER図出力まで、実際に使えるテクニックを詰め込みました。「DB設計を効率化したい」「Claude Codeの活かし方がわからない」という方に、きっと役立つ内容です。
結論:Claude Codeに設計を"考えさせる"のがポイント
「Claude Codeは設計書を書くツール」ではなく、「設計を一緒に考えるパートナー」として使うのが正解です。
DB設計で悩んでいませんか?「テーブル構成をどうするか迷う」「ER図を毎回手で描くのが面倒」「設計の抜け漏れが怖い」——これらはすべて、Claude Codeとの対話で解決できます。
✅ 要件をざっくり伝えるだけでテーブル候補を提案してくれる
✅ Mermaid記法でER図を自動生成してくれる
✅ カラム名・型・制約まで一括出力できる
✅ 既存テーブルとの関係も踏まえた設計が可能
なぜClaude Codeを使うとDB設計が速くなるのか
私はこれまでFigmaやdraw.ioでER図を手作業で描いていましたが、Claude Codeを使い始めてから設計にかかる時間が体感で1/5以下になったと感じています。
その理由は、Claude Codeがコードベースを自律的に調査し、既存テーブルの構造を把握した上で提案してくれるからです。「ゼロから考える」作業から「レビューして判断する」作業に変わるので、思考のコストが劇的に下がります。
| 作業 | 従来の方法 | Claude Code活用後 |
|---|---|---|
| テーブル定義の洗い出し | 手動で要件書を見ながら整理 | 要件を渡すと自動で候補を提案 |
| ER図の作成 | draw.io・Figmaで手作業 | Mermaid記法で即出力 |
| カラム設計(型・制約) | 経験とドキュメントをもとに手作業 | 指示一発で雛形生成 |
| 既存テーブルとの整合性確認 | 手でコードやマイグレーションを読む | コードベースを自動参照して確認 |
エンジニアなら読むべき本を30冊以上紹介しています。
正直、私の仕事のやり方をガラッと変えた神本やSQLのチューニングに悩んだ時にめちゃくちゃ役に立ったもあります👇
→記事を読む
実際の使い方:4ステップで設計を完成させる
Step 1:要件をClaude Codeに伝える
最初のプロンプトはざっくりで大丈夫です。「ユーザーが商品を注文できるECサイトのDB設計を一緒にやりたい」くらいの粒度で十分です。
「ユーザー管理テーブルを作成したい。
ユーザーはメールアドレスとパスワードでログインし、複数の住所を持てる。
必要なテーブルと関係を提案して。」
Claude Codeはこれだけで、テーブル構成の候補と各カラムの型・制約まで提案してくれます。
Step 2:ER図をMermaid記法で出力させる
設計の方向性が固まったら、ER図の出力を依頼します。
「上記の設計をMermaid記法のerDiagramで出力して。
カーディナリティ(1:N, N:Mなど)も明記すること。」
出力例はこんな感じです👇
Mermaid記法なので、GitHubやNotionでそのまま図としてレンダリングできます。draw.ioに貼り付けてビジュアル調整も可能です。
Step 3:カスタムスラッシュコマンドで再利用する
毎回同じようなプロンプトを書くのが手間に感じてきたら、カスタムスラッシュコマンドに登録しましょう。.claude/ディレクトリにスキルファイルを置くだけで、/db-designのように短いコマンドで呼び出せます。
# db-design スキル(.claude/skills/db-design/SKILL.md)
description: 要件を3段階で分析してDB設計を行う
Claude Codeを用いたテーブル設計を行います。
最終的なアウトプットとしてMermaid形式のERDを生成します。
## テーブル設計フロー
1. 事前準備:設計したいテーブルの概要を受け取る
2. 要件フェーズ:テーブル要件ファイルを作成・確認
3. ERD生成:Mermaid形式でER図を出力
| スキル名 | 役割 |
|---|---|
db-design |
DB設計・ER図生成 |
req-estimate |
要件分析・工数見積もり |
detail-design |
詳細設計・シーケンス図 |
Step 4:既存テーブル情報を渡して整合性を担保する
既存のプロジェクトに新しいテーブルを追加するケースでは、tblsというツールを使うのがおすすめです。tblsはDBのスキーマ情報をMarkdownで自動出力してくれるツールで、これをClaude Codeに渡すことで、既存テーブルとの整合性を保ちながら設計できます。
# tblsでMarkdown形式のスキーマ情報を出力
tbls doc postgres://user:password@localhost/mydb docs/schema
あとはdocs/schema/*.mdをClaude Codeのコンテキストとして渡すだけ。既存のマイグレーションファイルを読み込んでくれるので、「あのテーブルとの関係、どうなってたっけ?」という確認作業も不要になります。
テーブル設計でClaude Codeを使うときの注意点
✅ Claude Codeの提案はあくまでたたき台として扱う
✅ ハルシネーション(誤情報)が起きやすいので、設計の根拠は必ず確認する
❌ 「言われた通りに実装」はNG。レビューして判断するのは人間の役割
❌ 論点が散漫なままだとClaude Codeも迷走する。Step1で要件を整理してから渡すこと
私が実際に使ってみて感じたのは、「論点をどれだけ事前に整理できているか」が、アウトプットの質を大きく左右するということです。雑に渡せば雑な設計が返ってくる。丁寧に渡せば、驚くほど整合性の高い設計が返ってくる。これはエンジニアとして改めて実感した気づきでした。
Mermaid記法でER図を書くときの基本文法
表でまとめておきます。後で見返しやすいよう、よく使うものだけに絞りました。
| 記法 | 意味 | 例 |
|---|---|---|
PK |
主キー | int id PK |
FK |
外部キー | int user_id FK |
||--o{ |
1対多(多側は0以上) | USERS ||--o{ ORDERS : "has" |
||--|| |
1対1 | USERS ||--|| PROFILES : "has" |
}o--o{ |
多対多 | PRODUCTS }o--o{ CATEGORIES : "belongs" |
◎ Mermaid記法はGitHub・Notion・Zennなど多くのプラットフォームでレンダリング対応済みなので、チームへの共有もスムーズです。
まとめ
- Claude Codeは「設計を一緒に考えるパートナー」として使うのが正解
- 要件 → Mermaid ER図 → カラム定義の流れで設計を爆速化できる
- カスタムスラッシュコマンドに登録すれば繰り返し使いやすくなる
- 既存テーブルはtblsでMarkdown化してコンテキストに渡すと整合性が保てる
- アウトプットはたたき台として扱い、最終判断は必ず人間が行う
DB設計は、システムの土台です。ここの質がアプリ全体の保守性を決めると言っても過言ではありません。Claude Codeをうまく活用して、設計の"考える時間"により多くを使えるようにしていきましょう。
エンジニアなら読むべき本を30冊以上紹介しています。
正直、私の仕事のやり方をガラッと変えた神本やSQLのチューニングに悩んだ時にめちゃくちゃ役に立ったもあります👇
→記事を読む