リレーションシップを適切に設定していれば、
参照整合性(**Referential Integrity**)の制約
ms accessにおいて 従業員表と勤務表テーブルを作成し、
従業員表から特定の従業員のデータを削除する際、
勤務表テーブルに対して、参照整合性(Referential Integrity)
を追加するには
どの段階で行うのでしょうか?
テーブル作成の画面でしょうか?
クエリデザイナの画面でしょうか?
↓
MS Accessで**参照整合性
(Referential Integrity)を設定する**には、
**「リレーションシップの設定画面」**(リレーションシップウィンドウ)で行います。
### **設定のタイミング**
参照整合性を適用するのは、**テーブル作成後** です。
テーブルを作成した後に、
**リレーションシップの設定画面**で
**主キー(PK)と外部キー(FK)を関連付け**し、
**参照整合性を有効にする** 必要があります。
---
### **参照整合性を追加する手順**
1. **[データベースツール] タブを開く**
- **MS Accessのリボン**の「データベースツール」タブをクリックする。
2. **[リレーションシップ] を開く**
- 「リレーションシップ」ボタンをクリック。
3. **テーブルを追加**
- `従業員表` (`Employees`) と
`勤務表` (`WorkRecords`) の2つのテーブルを追加。
4. **リレーションシップを作成**
- `従業員表` の `EmpID` を `勤務表` の `EmpID` にドラッグする。
5. **[リレーションシップの編集] ダイアログで「参照整合性を強制する」にチェック**
- 「リレーションシップの編集」ウィンドウが開くので、
**「参照整合性を強制する」** にチェックを入れる。
6. **[OK] を押して確定**
- これで、`従業員表` の `EmpID` が `勤務表` に残っている状態では、
`従業員表` から削除できなくなる。
---
### **補足**
#### **オプション**
- **「関連レコードの削除を連鎖」** をチェックすると、
→ `従業員表` のレコードを削除した際に、
**`勤務表` の関連レコードも一緒に削除される**。
- **「関連レコードの更新を連鎖」** をチェックすると、
→ `従業員表` の `EmpID` を変更した場合、
`勤務表` の `EmpID` も自動的に更新される。
---
### **結論**
参照整合性は **「リレーションシップの設定画面
(リレーションシップウィンドウ)」** で設定します。
**テーブル作成後に行う** 必要があり、
**クエリデザイナーの画面では設定できません。**
コメント
コメントを投稿