database-design について
データベースや ORM の選定、スキーマとインデックスのレビュー、クエリ性能やマイグレーションの検討を支援するスキルです。状況に応じた判断を促し、読み取り専用のヒューリスティックなスキーマ調査ツールも含みます。
主な機能
- 01データベースと ORM の選定指針
- 02スキーマとリレーション設計
- 03インデックスとクエリ最適化の論点
- 04マイグレーション計画の指針
- 05読み取り専用のヒューリスティックなスキーマ調査
活用シーン
- 01アプリケーション用データベースの選定
- 02スキーマの関係とインデックスのレビュー
- 03クエリ性能やマイグレーションの評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --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、Neon、Turso、SQLiteの比較 | データベースを選ぶとき |
orm-selection.md | Drizzle、Prisma、Kyselyの比較 | ORMを選ぶとき |
schema-design.md | 正規化、主キー、リレーションシップ | スキーマを設計するとき |
indexing.md | インデックスの種類、複合インデックス | パフォーマンスを調整するとき |
optimization.md | N+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バリデーターを使用し、マイグレーションと制約の意味は別途確認してください。
制限事項
- タスクが上記の範囲に明確に合致する場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。