平成31年春期試験問題 午前Ⅱ 問21

次の表において,"在庫"表の製品番号に参照制約が定義されているとき,その参照制約によって拒否される可能性のある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。

 在庫 (在庫管理番号, 製品番号, 在庫量)
 製品 (製品番号, 製品名, 型, 単価)

  • "在庫"表の行削除
  • "在庫"表の表削除
  • "在庫"表への行追加
  • "製品"表への行追加
正解 問題へ
分野 :テクノロジ系
中分類:データベース
小分類:データベース設計
解説
参照制約とは、関係データベースにおける整合性制約の一つで「ある表で参照しようとしている値が、参照先の表で候補キーとして存在しなければならない」というものです。

本問の関係では、"在庫"表の"製品番号"列の値が、"製品"表の主キー("製品番号"列)の値として存在しなければならないという制約になります。これは、"製品"表に存在しない製品を、"在庫"表で指定することができないことを意味しています。

参照制約では、行の追加と削除の際に注意が必要になります。外部キーを持つ行を追加する場合に、その外部キーの値は参照先の表で主キーの値として存在するものでなければなりません。また、別表から主キーの値を参照されている行は削除することができません。

選択肢のうち、参照制約によって拒否される可能性ある操作は、「ウ」の「"在庫"表への行追加」です。具体的には、"在庫"表に行を追加する際に、"製品番号"列の値として"製品"表に存在しない製品番号を指定すると、参照制約問題が発生して操作が拒否されます。

Pagetop