database-designer について
データベース設計者やエンジニア向けに、SQLスキーマ分析、インデックス最適化、ロールバック手順付きの移行スクリプト生成を行うスキルです。Mermaid ERDの生成、ゼロダウンタイムの拡張・縮小移行、データベース選定も支援します。
主な機能
- 01正規化、制約、データ型の確認
- 02関係定義からMermaid ERDを生成
- 03クエリパターンに応じたインデックス最適化と確認
- 04前進・ロールバック用移行スクリプトの生成
- 05ゼロダウンタイムの拡張・縮小移行の計画
- 06データベース選定の指針
活用シーン
- 01新しいデータベーススキーマのレビュー
- 02クエリパターンに応じたインデックスの最適化・整理
- 03検証手順を含む安全な移行の計画
- 04ワークロードに合うデータベース技術の選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ borghei/ claude-skills --skill database-designerインストール後、Claude Code で/database-designerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
index_optimizer.pymigration_generator.pyREADME.mdschema_analyzer.pyassets/sample_query_patterns.jsonsample_schema.jsonsample_schema.sqlexpected_outputs/index_optimization_sample.txtmigration_sample.txtschema_analysis_sample.txtreferences/database_selection_decision_tree.mdindex_strategy_patterns.mdnormalization_guide.mdpatterns-and-troubleshooting.mdworkflows-and-tools.md詳細
データベース設計
エージェントは SQL スキーマを分析して正規化への準拠状況を確認し、クエリパターンに基づいて最適なインデックスを推奨し、ロールバック手順を含む安全なマイグレーションスクリプトを生成します。Mermaid ERD を作成し、冗長なインデックスを検出するとともに、PostgreSQL と MySQL 向けにダウンタイムなしの expand-contract マイグレーションパターンを実装します。
主な機能
- スキーマ分析 — DDL または JSON から、正規化違反(1NF-BCNF)、不足している制約、命名上の問題、データ型の問題を検出します。
- ERD の生成 — 宣言されたリレーションシップから、有効な Mermaid エンティティ・リレーションシップ図を生成します。
- インデックスの最適化 — クエリパターンからインデックスを推奨し、複合インデックスの列を選択性の高い順に並べ、冗長または重複するインデックスを検出し、カバリングインデックスの機会を見つけます。
- マイグレーションの生成 — スキーマバージョン間の前進用およびロールバック用 SQL を、検証クエリとともに生成します。
- ダウンタイムなしのマイグレーション — 1,000 万行を超えるテーブル向けに、安全なバックフィルを伴う expand-contract パターンを使用します。
- データベース選択のガイダンス — ワークロードの要件に基づいて、PostgreSQL、MySQL、MongoDB、DynamoDB を選定します。
使用する場面
- 正規化と制約を考慮して、新しいスキーマを設計またはレビューする場合。
- インデックスの推奨や削除によって、クエリを最適化する場合。
- スキーマバージョン間の安全な(必要に応じてダウンタイムなしの)マイグレーションを計画する場合。
- データベースのパフォーマンスとリレーションシップ構造(ERD)を分析する場合。
- ワークロードに適したデータベース技術を選定する場合。
まず確認すること
設計またはマイグレーションを始める前に、以下の入力を確認してください。不明または曖昧な点があれば、推測せずに質問してください。
- タスク — スキーマ分析/ERD、インデックスの最適化、またはマイグレーションの生成(
schema_analyzer.py、index_optimizer.py、migration_generator.pyのどれを使用するかを決定します) - エンジン — PostgreSQL、MySQL、MongoDB、または DynamoDB(DDL の方言と選択ガイダンスに影響します)
- スキーマ入力とクエリパターン — DDL/JSON スキーマと最適化対象のクエリ(ツールが分析する入力であり、インデックスの推奨内容はクエリパターンによって異なります)
停止ルール:出力に最も影響する 2~3 項目だけを尋ねてください。ユーザーが「まずは草案を作って」と言った場合は、そのまま進め、成果物の冒頭に前提を記載してください。
参考資料
タスクに合った参考資料を読み込んでください。このファイルは簡潔に保ち、必要に応じて詳細を参照します。
- references/workflows-and-tools.md — クイックスタート、3 つの主要ワークフロー(分析/最適化、安全なマイグレーション、インデックスの最適化)、および
schema_analyzer.py、index_optimizer.py、migration_generator.pyの CLI リファレンス全体(フラグ、使用方法、出力形式)。ツールを最初から最後まで実行する場合に読みます。 - references/patterns-and-troubleshooting.md — インデックス種別の選択表、アンチパターン、ツール出力のトラブルシューティング表、成功基準となる品質基準。インデックス種別の選定、ミスの回避、出力のデバッグ、作業の確認時に読みます。
- references/database_selection_decision_tree.md — 要件、データパターン、運用上の制約に基づいて、データベース技術を体系的に選定します。SQL エンジンと NoSQL エンジンのどちらを選ぶか検討する場合に読みます。
- references/index_strategy_patterns.md — インデックス設計の実証済みパターン、最適化戦略、回避すべき落とし穴。インデックス戦略を詳しく設計する場合に読みます。
- references/normalization_guide.md — 正規形(1NF-BCNF)、異常を排除するための分解、整合性とのトレードオフ。スキーマを正規化する場合、または意図的に非正規化する場合に読みます。
対象範囲と制限事項
対象範囲:
- 正規化、制約、命名、データ型を含む、SQL データベース(PostgreSQL、MySQL)のスキーマ設計分析
- 選択性の推定、複合インデックスの順序、カバリングインデックス、冗長性の検出によるインデックスの最適化
- フォワード/ロールバック用スクリプト、ダウンタイムゼロのパターン、検証クエリを含むマイグレーションの生成
- DDL または JSON スキーマ定義からの Mermaid 形式の ERD 生成
対象外:
- 実行時のクエリパフォーマンス監視や稼働中のデータベースプロファイリング(
performance-profilerスキルを参照) - MongoDB、DynamoDB、Cassandra 向けの NoSQL 固有のスキーマ設計(参考セクションでは概念的なガイダンスのみ)
- バックアップ/復元、レプリケーションの設定、ユーザー/ロール管理などのデータベース管理タスク
- アプリケーションレベルの ORM 設定、コネクションプールの調整、ドライバー固有の最適化(ORM に関連するパターンについては
database-schema-designerを参照)
統合ポイント
| スキル | 統合内容 | データフロー |
|---|---|---|
migration-architect | 大規模なスキーマ変更のマイグレーション戦略と実行計画 | Database Designer がマイグレーション SQL を生成し、Migration Architect が複数サービスにわたるデプロイ順序とロールバックの調整を統括します |
database-schema-designer | アプリケーション層のパターンに重点を置いた、補完的なスキーマ設計 | Database Designer が正規化を分析し、Schema Designer が ORM マッピングとアプリケーションモデリングの規約を適用します |
performance-profiler | インデックスとスキーマの最適化に関する推奨事項の実行時検証 | Database Designer が推奨インデックスを出力し、Performance Profiler が EXPLAIN ANALYZE を使って実際のクエリプランの改善を測定します |
api-design-reviewer | データベーススキーマと API リソース契約の整合性 | Database Designer がテーブル構造を定義し、API Design Reviewer がエンドポイントのスキーマと基盤となるデータモデルの一致を検証します |
ci-cd-pipeline-builder | デプロイパイプラインでのマイグレーションの自動実行 | Database Designer がマイグレーションスクリプトを生成し、CI/CD Pipeline Builder が検証ゲートを設けてデプロイステージに組み込みます |
observability-designer | 最適化後のデータベースパフォーマンス監視とアラート | Database Designer がクエリパターンを特定し、Observability Designer が低速クエリアラートとインデックス使用状況ダッシュボードを設定します |
コメント
Markdown 対応