mcpField
D
database-schema-designer

database-schema-designer

github.com/borgheiデータ・データベース1.0k169 回インストール1 週間前に更新
リポジトリ

database-schema-designer について

リレーショナルデータベースを設計・レビューする開発者向けのスキルです。要件から正規化スキーマを作成し、PostgreSQL、MySQL、SQLite向けのマイグレーション、型、セキュリティポリシー、図を生成します。

主な機能

  1. 01要件から正規化スキーマを設計
  2. 02マイグレーションとロールバックを生成
  3. 03クエリパターンに沿ってインデックスを設計
  4. 04TypeScriptとPythonの型を生成
  5. 05RLSポリシーとERD図を作成

活用シーン

  1. 01新機能のテーブル設計
  2. 02スキーマの正規化と性能のレビュー
  3. 03マルチテナント分離の計画
  4. 04マイグレーションやERD文書の生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/borghei/claude-skills --skill database-schema-designer

インストール後、Claude Code で/database-schema-designerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
best-practices-and-troubleshooting.md
indexes-and-migrations.md
schema-design-and-security.md
scripts/
erd_generator.py
migration_diffr.py
schema_validator.py

詳細

データベーススキーマ設計

要件に基づいて正規化されたリレーショナルデータベーススキーマを設計し、マイグレーション、TypeScript/Python 型、シードデータ、行レベルセキュリティポリシー、インデックス戦略、ERD 図を生成します。マルチテナント、論理削除、監査証跡、楽観的ロック、多態的関連付け、時間的データのパターンに対応しています。Drizzle、Prisma、TypeORM、Alembic を使用した PostgreSQL、MySQL、SQLite をサポートします。

キーワード

データベーススキーマ、スキーマ設計、正規化、マイグレーション、ERD、行レベルセキュリティ、インデックス作成、マルチテナント、論理削除、監査証跡、Drizzle、Prisma、PostgreSQL

主な機能

  • 要件に基づくスキーマ設計 — 自然言語からエンティティと関係を抽出し、1NF~3NF の正規化を適用して、タイムスタンプ/論理削除/監査/バージョン管理を追加し、完全な DDL を生成します。
  • マイグレーション計画 — Drizzle、Prisma、TypeORM、Alembic、または生の SQL に対応した、前進およびロールバックのマイグレーション、大規模テーブル向けのゼロダウンタイムパターン、カラムの追加/型変更/バックフィルを扱います。
  • インデックス戦略 — クエリパターンに対応する複合、部分、カバリング、GIN/GiST インデックスを選定し、肥大化の検出とメンテナンスを行います。
  • 型生成 — DB スキーマから TypeScript インターフェース+Zod スキーマと Python データクラス+Pydantic モデルを生成します(列挙型は文字列のユニオン型として生成します)。
  • セキュリティ — マルチテナントの分離に向けた行レベルセキュリティ、カラムレベルの PII 暗号化、変更前/変更後の JSON スナップショットを含む監査ログに対応します。

使用する場面

  • 新機能向けのテーブルを設計する
  • 既存スキーマの正規化やパフォーマンス上の問題を確認する
  • 単一テナントのスキーマにマルチテナントを追加する
  • 互換性を損なうスキーママイグレーションを計画する
  • サービスの ERD ドキュメントを生成する

まず確認すること

スキーマを設計する前に、以下の入力を確認してください。不足している、または曖昧な入力によって結果が変わる場合は質問し、結果に影響しない場合は妥当なデフォルトを使用して、使用した内容を明記してください。

  • 要件または既存の DDL: 自然言語で記述したエンティティ/関係、またはレビュー対象のスキーマ(設計の基となる情報)。
  • エンジンと ORM: PostgreSQL/MySQL/SQLite と Drizzle/Prisma/TypeORM/Alembic(マイグレーションと型生成の出力形式を決定します)。
  • 横断的な要件: マルチテナント/RLS、論理削除、監査証跡、時間的データ(生成するパターンとポリシーを決定します)。

リスト全体ではなく、この依頼で特に重要な入力を2つか3つ確認してください。ユーザーがすぐに結果を求めている場合は、結果を提示し、冒頭に前提を明記してください。

ツール

ツール用途コマンド
erd_generator.pySQL DDL を解析し、Mermaid ER 図を生成しますpython scripts/erd_generator.py schema.sql -o erd.mmd
migration_diffr.py2つの SQL スキーマを比較し、ロールバックを含むマイグレーション用 ALTER 文を生成しますpython scripts/migration_diffr.py old.sql new.sql
schema_validator.pyDDL の正規化違反、インデックスの不足、命名を検証しますpython scripts/schema_validator.py schema.sql --strict

リファレンス

タスクに合ったリファレンスを読み込んでください。このファイルは簡潔に保ち、必要に応じて詳細を参照します。

  • references/schema-design-and-security.md — 要件からスキーマを作成する4ステップのプロセス、Drizzle ORM スキーマの完全な例、横断的な考慮事項、PostgreSQL の行レベルセキュリティポリシーを説明します。新しいスキーマを設計する場合や、マルチテナントを追加する場合に参照してください。
  • references/indexes-and-migrations.md — インデックスの種類を選択するための枠組み、インデックスのアンチパターン、ゼロダウンタイムのマイグレーションパターン(NOT NULL カラムの追加、カラム名の変更)、Mermaid ERD の生成について説明します。インデックスを選択する場合や、安全なマイグレーションを計画する場合に参照してください。
  • references/best-practices-and-troubleshooting.md — よくある落とし穴、ベストプラクティス、トラブルシューティング表、成功基準について説明します。スキーマをリリースする前や、問題を診断する際に参照してください。

対象範囲と制限事項

このスキルの対象:

  • 正規化の第3正規形(3NF)までを含む、PostgreSQL、MySQL、SQLite 向けのリレーショナルスキーマ設計
  • Drizzle、Prisma、TypeORM、Alembic 向けのマイグレーション生成と、ダウンタイムゼロのマイグレーション計画
  • 行レベルセキュリティ(RLS)ポリシー、インデックス戦略、型生成(TypeScript および Python)
  • マルチテナンシー、論理削除、監査証跡、楽観的ロック、時系列データなどの横断的なパターン

このスキルの対象外:

  • NoSQL またはドキュメントデータベースの設計(MongoDB、DynamoDB、Cassandra)— データストア全般については senior-data-engineer を参照してください
  • インデックスの推奨を超えるクエリ最適化や実行計画の分析 — 実行時のプロファイリングについては performance-profiler を参照してください
  • データベースインフラのプロビジョニング、レプリケーション、フェイルオーバーの構成 — クラウドデータベースのセットアップについては senior-cloud-architect を参照してください
  • アプリケーション層の ORM パターン、接続プーリング、キャッシュ戦略 — バックエンドアーキテクチャの判断については senior-backend を参照してください

統合ポイント

スキル統合内容データフロー
migration-architect生成した DDL とマイグレーションファイルを引き渡し、サービス間の順序を調整しますSchema Designer がマイグレーションを生成し、Migration Architect がサービス間のロールアウト順序を調整します
api-design-reviewerスキーマエンティティを API リソースモデルとエンドポイント構造に直接対応付けますスキーマエンティティとリレーションシップを REST/GraphQL のリソース定義と検証ルールに反映します
senior-backend生成された型と ORM スキーマをリポジトリ層およびサービス層に組み込みますスキーマから生成した TypeScript インターフェースと Pydantic モデルが、バックエンドのデータアクセス契約になります
performance-profilerインデックス戦略の推奨事項を、実際のクエリ実行計画に照らして検証しますSchema Designer がインデックスを提案し、Performance Profiler が EXPLAIN ANALYZE のデータを使って有効性を確認します
senior-secopsRLS ポリシーと列暗号化をセキュリティコンプライアンス要件に合わせますセキュリティ要件を受け取り、監査検証用の RLS ポリシーと暗号化仕様を出力します
observability-designer監査ログのスキーマを、運用ダッシュボードとアラートの基盤として提供します監査ログテーブルの構造を可観測性パイプラインに取り込み、変更追跡と異常検出に活用します

コメント