• 締切済み

Access2002 参照整合性について

テーブル間にリレーションシップを設定する場合、リレーションテーブル側に主テーブルにないレコードがあると参照整合性を設定できないにも関わらず、「結合の種類」で「3」(リレーションテーブル側の全レコードと主テーブル側の同じ結合フィールドのレコードだけを含める)を選べるのは何故でしょうか。 参照整合性を設定できた時点で、リレーションテーブル側には主テーブルにないレコードは無いということだと思うのですが・・・。 よくわからなくなってしまいました。 お答え、よろしくお願いいたします。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>リレーションテーブル側に主テーブルにないレコードがあると参照整合性を設定できないにも関わらず、「結合の種類」で「3」(リレーションテーブル側の全レコードと主テーブル側の同じ結合フィールドのレコードだけを含める)を選べるのは何故でしょうか。 参照整合性は一連のルールを使用して関連テーブルのレコード間のリレーションシップが有効であることや関連データが誤って削除や変更されていないことを保証する機能です。もう一方のテーブルやクエリに一致するレコードがあってもなくてもテーブルやクエリのすべてのレコードが選択されるようなクエリにするために3にある外部結合があります。 >参照整合性を設定できた時点で、リレーションテーブル側には主テーブルにないレコードは無いということだと思う リレーションテーブル側に主テーブルにないレコードがあれば参照整合性を設定できません。できるという事は主テーブルにないレコードはないという事です。

ribon2004
質問者

お礼

お答えいただいた内容はすべて理解している上で、わざわざ設定する必要のなさそうな結合の種類があるのは何故?と思ったのですが・・・・ ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

参照整合性には、外部キー(FOREIGN KEY)を含むため、NULLが許される場合があるのでは?

ribon2004
質問者

お礼

ありがとうございました。参考になりました。