Accessテーブル:リレーションシップの参照整合性 - 使い方など

テーブルの操作へ

Accessリレーションシップの参照整合性とは、結合されたテーブル間で矛盾が起きないよう変更や削除を禁止する機能です。

間違って削除するようなことを防止できるので、データベースの信頼性が高くなります。

スポンサーリンク


参照整合性の設定が可能な条件

  • リレーションシップのテーブルが同じデータベースにあること
  • 結合フィールドが同じデータ型であること
  • 結合フィールドが主テーブルの主キーであること
  • 結合が「一対一」か「一対多」であること

参照整合性の設定方法と使い方


■ 参照整合性の設定方法

リレーションシップダイアログボックスの「参照整合性」のチェックボックスをオンにします。

これで設定完了です。

リレーションシップダイアログボックス

※ 下記の項目を設定すると、参照整合性で禁止されている事項が可能になります。オンにすることはリレーションシップ間の矛盾を生むことになるので、あまり使用しない方がいいようです。

フィールドの連鎖更新 : オンにすると参照整合性で禁止されている、更新が可能になります。

フィールドの連鎖削除 : オンにすると参照整合性で禁止されている、削除が可能になります。


■ 参照整合性の結合線の表示の違い

参照整合性がオンの場合、「一対一」か「一対多」の表示があります。

参照整合性がオンの場合の結合線

参照整合性がオフの場合、結合線の表示のみになります。

参照整合性がオフの場合の結合線

■ 参照整合性を設定したレコードを削除しようとした場合

2番目のレコードは主テーブルの「一側」のレコードです。

このレコードには多側のレコードが3件登録されています。

このレコードを削除しようとすると、「リレーションシップが設定されたレコードがテーブル’T_商品販売’にあるので、レコードの削除や変更を行うことはできません。」とメッセージが表示され、削除することはできません。

レコードが削除できない

上の画面で1番目のレコードも主テーブルの「一側」のレコードです。

しかし、このレコードには多側のレコードが登録されていません。

このレコードを削除しようとすると、「1件のレコードを削除します。[はい]をクリックすると、削除したレコードを元に戻すことはできません。これらのレコードを削除してもよろしいですか?」とメッセージが表示され、削除することは可能です。

レコードが削除できる

上のように参照整合性を設定すると、テーブル間の矛盾を防止することができます。

関連する「リレーションシップとは?- 種類と例」を掲載していますので、参照してください。


スポンサーリンク


Copyright (c) Microsoft-Access.net All rights reserved.