mcpField
D
database-design

database-design

github.com/sickn33データ・データベース48.7k2.2k 回インストール今日更新
リポジトリ

database-design について

データベースや ORM の選定、スキーマとインデックスのレビュー、クエリ性能やマイグレーションの検討を支援するスキルです。状況に応じた判断を促し、読み取り専用のヒューリスティックなスキーマ調査ツールも含みます。

主な機能

  1. 01データベースと ORM の選定指針
  2. 02スキーマとリレーション設計
  3. 03インデックスとクエリ最適化の論点
  4. 04マイグレーション計画の指針
  5. 05読み取り専用のヒューリスティックなスキーマ調査

活用シーン

  1. 01アプリケーション用データベースの選定
  2. 02スキーマの関係とインデックスのレビュー
  3. 03クエリ性能やマイグレーションの評価

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill database-design

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

同梱ファイル

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

database-selection.md
indexing.md
migrations.md
optimization.md
orm-selection.md
schema-design.md
scripts/
schema_validator.py

詳細

データベース設計

SQLのパターンをコピーするのではなく、考え方を学びましょう。

🎯 選択的に読むためのルール

リクエストに関連するファイルだけを読んでください! コンテンツマップを確認し、必要なものを見つけてください。

ファイル説明読むタイミング
database-selection.mdPostgreSQL、Neon、Turso、SQLiteの比較データベースを選ぶとき
orm-selection.mdDrizzle、Prisma、Kyselyの比較ORMを選ぶとき
schema-design.md正規化、主キー、リレーションシップスキーマを設計するとき
indexing.mdインデックスの種類、複合インデックスパフォーマンスを調整するとき
optimization.mdN+1、EXPLAIN ANALYZEクエリを最適化するとき
migrations.md安全なマイグレーション、サーバーレスデータベーススキーマを変更するとき

⚠️ 基本原則

  • 不明な点があれば、ユーザーにデータベースの希望を尋ねます
  • コンテキストに基づいてデータベース/ORMを選びます
  • すべてにPostgreSQLをデフォルトで選ばないでください

判断チェックリスト

スキーマを設計する前に:

  • ユーザーにデータベースの希望を尋ねましたか?
  • このコンテキストに適したデータベースを選びましたか?
  • デプロイ環境を考慮しましたか?
  • インデックス戦略を計画しましたか?
  • リレーションシップの種類を定義しましたか?

アンチパターン

❌ 単純なアプリでデフォルトとしてPostgreSQLを選ぶ(SQLiteで十分な場合があります) ❌ インデックスを省略する ❌ 本番環境でSELECT *を使う ❌ 構造化データのほうが適しているのにJSONを保存する ❌ N+1クエリを無視する

使用するタイミング

データベースモデルの選択、スキーマのリレーションシップとインデックスの確認、または付属のアドバイザリーツールを使った提案スキーマの評価に使用します。

スキーマヘルパー

scripts/schema_validator.pyは読み取り専用のヒューリスティックなインベントリであり、PrismaやDrizzleのパーサーではありません。スキーマが見つからない場合、未対応の形式の場合、またはヒューリスティックな結果しか得られない場合は、passed: falseおよびanalysis_complete: falseを返してゼロ以外の終了コードで終了します。構文と型のチェックにはプロジェクト固有のORMバリデーターを使用し、マイグレーションと制約の意味は別途確認してください。

制限事項

  • タスクが上記の範囲に明確に合致する場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

コメント