IPA過去問ドリル

平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問21

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

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

出典:平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問21

正解:ウ

解説

設問の“在庫”表は,在庫管理番号を主キーとし,製品番号を外部キーとして“製品”表の製品番号(主キー)を参照する構造になっています。参照制約(外部キー制約)は,子表(この場合“在庫”表)に存在する外部キーの値が,必ず親表(“製品”表)の主キーに存在する値でなければならないことを保証する仕組みです。したがって,“在庫”表に新しい行を追加する際に,指定した製品番号が“製品”表に存在しない値であった場合,この参照制約に違反するため,その行追加操作は拒否される可能性があります。一方,“在庫”表の行や表全体を削除する操作,及び“製品”表に新しい行を追加する操作は,いずれもこの参照制約に抵触しません。

選択肢ごとの解説

  • 誤り。“在庫”表の行を削除しても,“在庫”表から“製品”表への参照関係が失われるだけであり,参照制約には違反しないため,拒否される操作ではありません。
  • 誤り。“在庫”表自体を削除しても,参照元である“在庫”表がなくなるだけであり,“製品”表への参照制約には抵触しないため,拒否される操作ではありません。
  • 正しい。“在庫”表へ行を追加する際に,指定した製品番号が“製品”表に存在しない値であった場合,参照制約に違反するため,その行追加操作は拒否される可能性があります。
  • 誤り。“製品”表へ新しい行(新しい製品)を追加することは,“在庫”表からの参照関係には影響を与えないため,参照制約によって拒否される操作ではありません。
情報処理安全確保支援士の過去問を演習モードで解く