database-design について
database-designは、プロジェクトの状況に応じたデータベースやORMの選定、スキーマ設計を支援するスキルです。決まったSQLパターンや特定のデータベースに頼らず、利用者の希望やデプロイ環境を確認する方針です。
主な機能
- 01データベース選定のガイダンス
- 02ORM選定のガイダンス
- 03スキーマとリレーションの計画
- 04インデックス戦略の計画
- 05クエリ最適化の要点
- 06マイグレーションのガイダンス
活用シーン
- 01アプリケーション用データベースの選定
- 02プロジェクト用ORMの選択
- 03データリレーションとインデックスの計画
- 04クエリやマイグレーション案の検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill database-designインストール後、Claude Code で/database-designを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
database-selection.mdindexing.mdmigrations.mdoptimization.mdorm-selection.mdschema-design.mdscripts/schema_validator.py詳細
データベース設計
SQL のパターンを丸写しするのではなく、考え方を学びましょう。
🎯 選択的読み込みのルール
リクエストに関係するファイルだけを読んでください! コンテンツマップから必要なものを探してください。
| ファイル | 説明 | 読むタイミング |
|---|---|---|
database-selection.md | PostgreSQL vs Neon vs Turso vs SQLite | データベースを選ぶとき |
orm-selection.md | Drizzle vs Prisma vs Kysely | ORM を選ぶとき |
schema-design.md | 正規化、主キー、リレーションシップ | スキーマを設計するとき |
indexing.md | インデックスの種類、複合インデックス | パフォーマンスチューニング |
optimization.md | N+1、EXPLAIN ANALYZE | クエリの最適化 |
migrations.md | 安全なマイグレーション、サーバーレス DB | スキーマを変更するとき |
⚠️ 基本原則
- 要件が不明確な場合は、データベースの希望をユーザーに確認すること
- データベースや ORM は、コンテキストに基づいて選択すること
- すべてに対して PostgreSQL をデフォルトにしないこと
決定チェックリスト
スキーマを設計する前に確認してください:
- ユーザーにデータベースの希望を確認したか?
- 今回のコンテキストに合ったデータベースを選んだか?
- デプロイ環境を考慮したか?
- インデックス戦略を計画したか?
- リレーションシップの種類を定義したか?
アンチパターン
❌ シンプルなアプリに対して PostgreSQL をデフォルトにする(SQLite で十分な場合がある) ❌ インデックスを省略する ❌ 本番環境で SELECT * を使う ❌ 構造化データが適している場合に JSON を保存する ❌ N+1 クエリを無視する
コメント
Markdown 対応