データベーススペシャリスト暗記無料で始める

表定義に基づいて作成された"システム担当者"表において、トランザクションAの複合文内のSQL文全てを正常終了させるためにaに入れる字句はどれか。ここで、実線の下線は主キーを表す。 〔表定義〕 CREATE TABLE システム担当者 ( システム番号 INTEGER, 担当者番号 INTEGER NOT NULL, CONSTRAINT PK_システム番号 PRIMARY KEY(システム番号), CONSTRAINT UK_担当者番号 UNIQUE(担当者番号) DEFERRABLE INITIALLY IMMEDIATE ) 〔トランザクションAの複合文内のSQL文〕 SET CONSTRAINTS [ a ]; UPDATE システム担当者 SET 担当者番号 = 222 WHERE システム番号 = 1234; UPDATE システム担当者 SET 担当者番号 = 111 WHERE システム番号 = 6789; COMMIT;

データベーススペシャリスト試験/2025年度 秋期 午前Ⅱ 問8/関係モデル / 制約

システム担当者表:
システム番号担当者番号
1234111
6789222

選択肢

正解と解説

正解:ウ UK_担当者番号 DEFERRED

2件の担当者番号を入れ替える更新では、1件目を更新した時点で他方と値が重複してしまう。この表の一意性制約はDEFERRABLEで宣言されているので、SET CONSTRAINTSで検査タイミングをDEFERREDに切り替えれば、検査がコミット時まで先送りされる。2件目の更新が終わった時点では重複が解消しているため、両方のUPDATEが正常終了する。主キー側は宣言にDEFERRABLEが付いておらず、遅延指定の対象にできない。

この問題を解く(同じ分野をあと9問) →

選択肢ごとの解説

出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問8(IPA)原本の紙面を見る(IPA 問題冊子より)

この問題に出た用語

同じ分野の他の問題

最終更新:2026-10-06/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。