平成21年秋期試験問題 午前問33
問33解説へ
関係データベースにおいて,"注文"表から"商品"表への参照制約が設定されている場合の記述のうち,適切なものはどれか。
- "商品"のタプルが存在すれば,それに対応する"注文"のタプルは存在する。
- "商品"のタプルと"注文"のタプルはそれぞれ独立に存在する。
- "注文"のタプルが消滅すれば,それに対応する"商品"タプルも消滅する。
- "注文"のタプルが存在すれば,それに対応する"商品"のタプルは存在する。
広告
解説
参照制約とは、関係データベースにおける整合性制約の一つで「ある表で参照しようとしている値が、参照先の表において候補キーの値として存在しなければならない」という依存関係を定めます。"注文"表から"商品"表への参照制約が設定されているということは、"注文"表の外部キー属性が、"商品"表の主キー属性を参照している状態にあることを示します。このとき2つの表は、"注文"表の外部キー属性の値は、"商品"表の主キー属性の値として存在していなければならない、という依存関係を有することとなります。
- 商品は登録されているがまだ注文を受けていない場合のように、"商品"表のタプル(行)として存在していても、それに対応する"注文"表のタプルが存在しないことは許されます。
- "商品"表のタプルが存在しなければ、それを参照する"注文"表のタプルは存在しえないので、2つの表のタプルは依存関係にあります。
- "注文"表は参照する側です。参照する側のタプルが消滅しても参照制約には違反しません。これに対して、参照される側のタプルが削除された場合は、参照制約を維持にするために対応する参照する側のタプルが消滅します。
- 正しい。参照する側である"注文"表のタプルの外部キーの値は、参照される側の"商品"のタプルにおいて主キーの値として必ず存在します。
広告