Agent skill
foreign-key-constraints
外部キー制約と参照整合性をC.J. Dateの理論に基づいて設計するスキル。CASCADE動作の戦略的選択、循環参照の検出・解消、ソフトデリート整合性を提供。SQLite/Turso + Drizzle ORM環境に最適化。 Anchors: • An Introduction to Database Systems(C.J. Date) / 適用: FK設計 / 目的: 理論的に正しい制約設計 • The Pragmatic Programmer(Hunt, Thomas) / 適用: 実装品質 / 目的: 保守性の高い設計 Trigger: Use when designing foreign key relationships, selecting CASCADE behavior, detecting circular references, integrating soft delete patterns, or reviewing database schema integrity.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/foreign-key-constraints
SKILL.md
外部キー制約設計
概要
外部キー制約と参照整合性の設計を、C.J. Dateの理論的基礎とThe Pragmatic Programmerの実用的指針に基づいて支援。CASCADE動作の戦略的選択、循環参照の検出と解消、ソフトデリートとの整合性確保を実現。
ワークフロー
Phase 1: 設計レビュー
目的: FK制約設計の妥当性を確認し、問題を早期発見
アクション:
- データベーススキーマ定義を確認
- テーブル関係性を分析
- FK制約の妥当性を評価
Task: agents/design-review.md を参照
Phase 2: CASCADE動作の選択
目的: ビジネスルールに合致したCASCADE動作を選択
アクション:
- references/cascade-patterns.md でパターンを確認
- 親子テーブルの関係性を分析
- 適切なCASCADE設定を決定
Task: agents/cascade-selection.md を参照
Phase 3: 循環参照の検出
目的: 循環参照を検出し、解消策を提案
アクション:
- FK制約の依存関係グラフを構築
- 循環参照を検出
- 解消策を優先順位付きで提案
Task: agents/circular-detection.md を参照
Phase 4: ソフトデリート統合
目的: ソフトデリートとFK制約の整合性確保
アクション:
- ソフトデリート対象テーブルを特定
- FK制約との整合性を設計
- クエリ実装パターンを適用
Task: agents/soft-delete-integration.md を参照
Task仕様ナビ
| Task | 用途 | 入力 | 出力 |
|---|---|---|---|
| agents/design-review.md | 設計レビュー | スキーマ定義 | 妥当性評価レポート |
| agents/cascade-selection.md | CASCADE選択 | 関係性・要件 | 推奨CASCADE設定 |
| agents/circular-detection.md | 循環参照検出 | FK依存グラフ | 循環リスト・解消策 |
| agents/soft-delete-integration.md | ソフトデリート統合 | 削除ポリシー | 実装パターン |
ベストプラクティス
すべきこと
- FK制約追加前に設計レビューを実施
- CASCADE動作はパターンから選択
- 循環参照を定期的に検証
- ソフトデリート導入時はPhase 4を必ず実行
避けるべきこと
- 理論的根拠なしにCASCADEを多用する
- 循環参照を確認せずにFK制約を追加
- ソフトデリートとハードデリートの整合性確認を怠る
- 深い階層のCASCADEをパフォーマンス考慮なしに設定
リソース参照
references/(詳細知識)
| リソース | パス | 内容 |
|---|---|---|
| CASCADEパターン | references/cascade-patterns.md | 各CASCADE動作のパターン・実装例 |
scripts/(検証・記録)
| スクリプト | 用途 | 使用例 |
|---|---|---|
| check-fk-integrity.mjs | 整合性検証 | node scripts/check-fk-integrity.mjs --schema <dir> |
| log_usage.mjs | 利用記録 | node scripts/log_usage.mjs --result success |
assets/(テンプレート)
| テンプレート | 用途 |
|---|---|
| fk-design-checklist.md | FK設計チェックリスト |
変更履歴
| Version | Date | Changes |
|---|---|---|
| 2.1.0 | 2026-01-02 | 18-skills.md仕様に完全準拠。references/整理・簡素化 |
| 2.0.0 | 2025-12-31 | Task-basedワークフロー追加 |
| 1.0.0 | 2025-12-24 | 初版作成 |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?