access_従業員テーブル_勤務表テーブル_参照整合性_Referential Integrity_追加する方法



リレーションシップを適切に設定していれば、
参照整合性(**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` も自動的に更新される。

---

### **結論**

参照整合性は **「リレーションシップの設定画面
    (リレーションシップウィンドウ)」** で設定します。  
**テーブル作成後に行う** 必要があり、
**クエリデザイナーの画面では設定できません。**



コメント