IPA過去問ドリル

令和3年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21

テクノロジ/データベース

次の表において,“在庫”表の製品番号に参照制約が定義されているとき,その参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。 在庫(在庫管理番号,製品番号,在庫量):主キーは在庫管理番号,製品番号は製品表を参照する外部キー 製品(製品番号,製品名,型,単価):主キーは製品番号 (注:本サイトでは原問題の下線(主キー・外部キー)を注記で表しています)

出典:令和3年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問21

正解:ウ

解説

“在庫”表の製品番号に,“製品”表の製品番号を参照する外部キーとしての参照制約が定義されている場合,“在庫”表に新たに行を追加しようとする際,その行の製品番号が“製品”表に存在しない値であると,参照制約に違反することになり,その行追加は拒否される可能性があります。参照制約は,外部キー側(子表)に存在しない親のキー値を持ち込ませないようにするための制約だからです。

選択肢ごとの解説

  • 誤り。“在庫”表の行削除は,親表である“製品”表を参照する子表側の行を減らすだけであり,参照制約に違反することはありません。
  • 誤り。“在庫”表(子表)そのものを削除する操作は,参照制約によって拒否される典型的な操作ではありません(一般に子表の削除は親表への参照関係を損なうものではありません)。
  • 正しい。“在庫”表への行追加において,追加する行の製品番号が“製品”表に存在しない値である場合,参照制約に違反するため,その行追加は拒否される可能性があります。
  • 誤り。“製品”表(親表)への行追加は,“在庫”表からの参照に新たな候補を増やすだけであり,参照制約に違反することはありません。
情報処理安全確保支援士の過去問を演習モードで解く