令和7年度秋期 問8 / 25

令和7年度 秋期 データベーススペシャリスト試験 午前II 問8

表定義に基づいて作成された“システム担当者”表において、トランザクションAの複合文内のSQL文を正常終了させるためにaに入れる字句はどれか。ここで、実線の下線はキーを表す。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

  • ア: PK_システム番号 DEFERRED
    誤り。トランザクション内ではシステム番号は更新しておらず、主キー制約PK_システム番号が一時的に違反する可能性はありません。そのため、この制約をDEFERREDにする必要はありません。

  • イ: PK_システム番号 IMMEDIATE
    誤り。PK_システム番号は変更しておらず、IMMEDIATEのままでも問題はありませんが、aに入れるべき制約名と一致しません。

  • ウ: UK_担当者番号 DEFERRED
    正しい。1つ目のUPDATEでは、システム番号1234の担当者番号を111から222に変更しますが、その時点ではシステム番号6789の行も担当者番号222のままであり、一時的に担当者番号が重複してUNIQUE制約UK_担当者番号に違反します。DEFERREDに設定するとUNIQUE制約の検査がCOMMIT時まで遅延され、2つ目のUPDATEで担当者番号が入れ替わった結果、最終的には重複がなくなるので正常にコミットできます。

  • エ: UK_担当者番号 IMMEDIATE
    誤り。IMMEDIATEのままだと、1つ目のUPDATE実行時点で担当者番号222の重複が検出され、UNIQUE制約違反となってトランザクションが異常終了してしまいます。


答え

ウ: UK_担当者番号 DEFERRED

出典:令和7年度 秋期 データベーススペシャリスト試験 午前II 問8

令和7年度秋期の他の問題