こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessの参照整合性について

アクセスでリレーションシップをはると参照整合性にチェックするボックスがありますよね。
以下の選択の組み合わせが考えられると思うのですが、

1.参照整合性にチェックしない場合
2.参照整合性のみチェックした場合
3.参照整合性と連鎖更新にチェックした場合
4.参照整合性と連鎖更新と連鎖削除にチェックした場合

一(マスタ)対多のリレーションを張ったとき、以下のように理解しています。

2.のとき
マスタにあるものしか登録できない。また、マスタは他のテーブルにリレーションを張っている場合、削除も編集もできない。

3.のとき
マスタにあるものしか登録できない。またマスタで更新をかけると、他のテーブルのレコードも更新がかかる。また、マスタは他のテーブルにリレーションを張っている場合、削除はできない。

4.のとき
マスタにあるものしか登録できない。またマスタで更新、削除を行なうと他のテーブルのレコードも更新、削除がかかる。

では1.のときってリレーションシップは張れるのですが、何の意味があるのでしょうか?

投稿日時 - 2002-04-15 15:38:07

QNo.253244

すぐに回答ほしいです

質問者が選んだベストアンサー

クエリのデザインの時とかに、自動でリレーションされたりしますよね。

それとか、テーブル正規化ウィザードを使うときであるとか、フォームやレポートのウィザードを使うときとかに参照されますね。

あと、クエリを実行したときのパフォーマンスにも影響があるかも。
(自信なし、リレーションシップのみはあんまり使わないんで(汗))

参照整合性にチェックせずに使う時って、例えば、

○非リレーショナルなDBからデータを移行したときに仕方なく…(データに整合性が取れていない。)

○参照整合性を設定すると重い! とにかく大量のデータを扱う場合。

といった場合でしょうかねぇ。

投稿日時 - 2002-04-16 00:46:18

お礼

確か、クエリーで INNER JOIN をすると自動的にリレーションがはられたような?
参照整合性にチェックせずに使う場合は消極的な理由からしかないのでしょうか?なんかピンときませんね。

投稿日時 - 2002-04-16 08:52:17

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問