令和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