参照整合性とは(リレーション)
■前回、「テーブル」の「リレーション」について説明しました。
今回は、「参照整合性」について説明したいと思います。
「ツール」「リレーションシップ」をクリックします。
以下の「リレーション」が表示されました。

「会社マスタ」の「会社コード」と「会社部署マスタ」の「会社コード」が結合されています。
「会社マスタ」の「会社コード」は「キーコード」になりますので「1」になっています。
「会社部署マスタ」の「会社コード」は、「キーコード」ではなく複数になりますので、「∞:無限大」に
なります。
「会社マスタ」にある「会社コード」しか「会社部署マスタ」の「会社コード」には入力できません。
これが「リレーション」です。
ここで、「リレーション」の詳細を設定します。
上の、「会社コード」で繋がった線(結合線:赤印)をダブルクリックします。
以下の画面が表示されます。

上の赤丸印が結合した「テーブル」と項目です。「会社コード」になります。
下の赤丸を説明します。
「参照整合性」にチェックすると
「会社マスタ」にある「会社コード」しか「会社部署マスタ」の「会社コード」には入力できないようになります。
データの整合性がとれるということです。
その下の「フィールドの連鎖更新」と「レコードの連鎖削除」を説明します。
例えば、
以下のような「会社部署マスタ」と「会社マスタ」があるとします。
「会社部署マスタ」
| 会社部署コード | 会社コード | 部署名 |
| B001 | A001 | 購買部 |
| B002 | A001 | 営業部 |
| B003 | A002 | 購買部 |
| B004 | A002 | 営業部 |
「会社マスタ」
| 会社コード | 会社名 |
| A001 | 東京株式会社 |
| A002 | 大阪株式会社 |
もし、「フィールドの連鎖更新」と「レコードの連鎖削除」にチェックが入っていたとします。
ある人が、間違って「会社マスタ」の「A001」「東京株式会社」を消してしまいました。
どうなるでしょうか?
そうなんです。
「リレーション」で結合している「会社部署マスタ」の「A001」のデータが皆消えてしまいます。
削除されてしまいます。
困りますね。
■必ず「参照整合性」にはチェックをしますが、その下の「フィールドの連鎖更新」と「レコードの連鎖削除」の
チェックは、はずした方が良いと思います。
市販の参考書には、ここのチェックが全部入っているものがありますので注意が必要です。
アクセスを使って1週間でシステム構築ができる〜「在庫管理システムをアクセスで作ってみよう」教材
「アクセスでシステムを早く開発したい方」、
「アクセスでシステム開発をあきらめた方」のための
アクセスを使って1週間でシステム構築する究極の方法とは?
