mcpField
D
database-design

database-design

github.com/davila7データ・データベース33.0k531 回インストール1 日前に更新
リポジトリ

database-design について

database-designは、プロジェクトの状況に応じたデータベースやORMの選定、スキーマ設計を支援するスキルです。決まったSQLパターンや特定のデータベースに頼らず、利用者の希望やデプロイ環境を確認する方針です。

主な機能

  1. 01データベース選定のガイダンス
  2. 02ORM選定のガイダンス
  3. 03スキーマとリレーションの計画
  4. 04インデックス戦略の計画
  5. 05クエリ最適化の要点
  6. 06マイグレーションのガイダンス

活用シーン

  1. 01アプリケーション用データベースの選定
  2. 02プロジェクト用ORMの選択
  3. 03データリレーションとインデックスの計画
  4. 04クエリやマイグレーション案の検討

インストール

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

$npx skills add https://github.com/davila7/claude-code-templates --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 vs Neon vs Turso vs SQLiteデータベースを選ぶとき
orm-selection.mdDrizzle vs Prisma vs KyselyORM を選ぶとき
schema-design.md正規化、主キー、リレーションシップスキーマを設計するとき
indexing.mdインデックスの種類、複合インデックスパフォーマンスチューニング
optimization.mdN+1、EXPLAIN ANALYZEクエリの最適化
migrations.md安全なマイグレーション、サーバーレス DBスキーマを変更するとき

⚠️ 基本原則

  • 要件が不明確な場合は、データベースの希望をユーザーに確認すること
  • データベースや ORM は、コンテキストに基づいて選択すること
  • すべてに対して PostgreSQL をデフォルトにしないこと

決定チェックリスト

スキーマを設計する前に確認してください:

  • ユーザーにデータベースの希望を確認したか?
  • 今回のコンテキストに合ったデータベースを選んだか?
  • デプロイ環境を考慮したか?
  • インデックス戦略を計画したか?
  • リレーションシップの種類を定義したか?

アンチパターン

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

コメント