---
generated_at: 2026-02-18 12:55:00
metrics:
  claims_total: 20
  claims_with_evidence: 19
  claims_without_evidence: 1
confidence_derived: 0.95
---

# 根拠レポート：47-外部キー・制約

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：19 / 20、根拠なし：1
- 優先レビュー（高）
  1. **C-20 権限要件**：SQL Server公式ドキュメント参照が必要

## 2) 参照した情報（Evidence一覧）

- E-01: `public/Get-DbaDbForeignKey.ps1` 行1-173
- E-02: `public/Get-DbaDbCheckConstraint.ps1` 行1-161
- E-03: `public/Remove-DbaDbCheckConstraint.ps1` 行1-146
- E-04: `docs/code-to-docs/画面機能マッピング/画面機能マッピング.csv` 行209-211
- E-05: `docs/code-to-docs/画面一覧/画面一覧.csv` 行48

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Get-DbaDbForeignKeyは外部キー制約と参照関係を取得する | E-01 行3-11 | ○ |
| C-02 | Get-DbaDbForeignKeyの出力型はMicrosoft.SqlServer.Management.Smo.ForeignKey | E-01 行51 | ○ |
| C-03 | デフォルト表示プロパティにReferencedTable, ReferencedTableSchemaが含まれる | E-01 行165-166 | ○ |
| C-04 | Get-DbaDbForeignKeyはExcludeSystemTableでシステムテーブルを除外できる | E-01 行148-150 | ○ |
| C-05 | Get-DbaDbCheckConstraintはチェック制約を取得する | E-02 行3-7 | ○ |
| C-06 | Get-DbaDbCheckConstraintの出力型はMicrosoft.SqlServer.Management.Smo.Check | E-02 行47 | ○ |
| C-07 | デフォルト表示プロパティにTextプロパティが含まれる | E-02 行153-154 | ○ |
| C-08 | Get-DbaDbCheckConstraintはExcludeSystemTableでシステムテーブルを除外できる | E-02 行137-139 | ○ |
| C-09 | Remove-DbaDbCheckConstraintはConfirmImpact="High" | E-03 行92 | ○ |
| C-10 | Remove-DbaDbCheckConstraintはendブロックで削除を実行する | E-03 行120-145 | ○ |
| C-11 | Remove-DbaDbCheckConstraintはDrop()メソッドを使用して削除する | E-03 行134 | ○ |
| C-12 | Remove-DbaDbCheckConstraintの出力にIsRemovedプロパティが含まれる | E-03 行124-131 | ○ |
| C-13 | 外部キーなしの場合はVerboseメッセージを出力する | E-01 行152-154 Write-Message Verbose | ○ |
| C-14 | チェック制約なしの場合はVerboseメッセージを出力する | E-02 行141-143 Write-Message Verbose | ○ |
| C-15 | カスタムプロパティSchemaとTableが外部キーに追加される | E-01 行162-163 | ○ |
| C-16 | カスタムプロパティDatabaseIdがチェック制約に追加される | E-02 行151 | ○ |
| C-17 | 関連機能一覧（機能No 100, 104, 205） | E-04 | ○ |
| C-18 | 外部キー削除専用のコマンドは提供されていない | E-04, E-05 確認 | ○ |
| C-19 | デフォルト表示プロパティにStateが含まれる（チェック制約） | E-02 行154 | ○ |
| C-20 | 外部キー取得にはVIEW DEFINITION権限が必要 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-20: SQL Server権限要件の記述は一般的なSQL Server動作に基づく推測
  - 候補：SQL Server公式ドキュメント / dbatools公式ドキュメント / 実機テスト結果

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 主張のほぼ全てがソースコードから直接確認可能
- 権限要件（C-20）のみ外部ドキュメント参照が推奨される

## 6) レビュアーチェックリスト（最小）
- [ ] 外部キーのReferencedTable/ReferencedTableSchemaが正しく取得されるか確認
- [ ] チェック制約のTextプロパティに制約式が正しく含まれるか確認
- [ ] Remove-DbaDbCheckConstraintのコレクション変更問題が適切に回避されているか確認
- [ ] ExcludeSystemTableフィルタが正しく動作するか確認
- [ ] 権限要件が実際のSQL Server環境と整合するか確認
