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

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

上の赤丸印が結合した「テーブル」と項目です。「会社コード」になります。
下の赤丸を説明します。
「参照整合性」にチェックすると
「会社マスタ」にある「会社コード」しか「会社部署マスタ」の「会社コード」には入力できないようになります。
データの整合性がとれるということです。
その下の「フィールドの連鎖更新」と「レコードの連鎖削除」を説明します。
例えば、
以下のような「会社部署マスタ」と「会社マスタ」があるとします。
「会社部署マスタ」
会社部署コード | 会社コード | 部署名 |
---|---|---|
B001 | A001 | 購買部 |
B002 | A001 | 営業部 |
B003 | A002 | 購買部 |
B004 | A002 | 営業部 |
「会社マスタ」
会社コード | 会社名 |
---|---|
A001 | 東京株式会社 |
A002 | 大阪株式会社 |
もし、「フィールドの連鎖更新」と「レコードの連鎖削除」にチェックが入っていたとします。
ある人が、間違って「会社マスタ」の「A001」「東京株式会社」を消してしまいました。
どうなるでしょうか?
そうなんです。
「リレーション」で結合している「会社部署マスタ」の「A001」のデータが皆消えてしまいます。
削除されてしまいます。
困りますね。
■必ず「参照整合性」にはチェックをしますが、その下の「フィールドの連鎖更新」と「レコードの連鎖削除」のチェックは、はずした方が良いと思います。
市販の参考書には、ここのチェックが全部入っているものがありますので注意が必要です。
●「Access(アクセス)のテーブルの使い方」の関連ページです。
|
[マイクロソフトアクセス(Access)活用法(ホームへ)]
09:582302