データベース

基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問29

“商品”表に対して,更新 SQL 文を実行するトランザクションが,デッドロックの発生によって異常終了した。異常終了後の“商品”表はどれか。ここで,“商品”表に対する他のトランザクションは,参照は行うが更新はしないものとする。 〔更新 SQL 文〕 DELETE FROM 商品 WHERE 商品コード = 'B020'
商品表(問題文中の元表):
商品コード商品名販売単価
A010AAA2,500
B020BBB1,000
C030CCC4,500
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問29(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:イ

覚える知識

ロールバック処理(更新前ジャーナル)

異常終了したトランザクションの更新はロールバックですべて取り消される(原子性)。

この問題で必要なこと

デッドロックで異常終了したトランザクションはロールバックされ、更新は取り消されて表は元の状態に戻る。

ひっかけ

DELETEが一部反映される、または中途半端な状態が残ると考える誤り。

この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)。頻出知識ランキング266位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「障害回復(ログ・ロールバック・ロールフォワード)」で学ぶ

同じ知識の過去問