データベース
基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問29
“商品”表に対して,更新 SQL 文を実行するトランザクションが,デッドロックの発生によって異常終了した。異常終了後の“商品”表はどれか。ここで,“商品”表に対する他のトランザクションは,参照は行うが更新はしないものとする。
〔更新 SQL 文〕
DELETE FROM 商品 WHERE 商品コード = 'B020'
商品表(問題文中の元表):
| 商品コード | 商品名 | 販売単価 |
|---|---|---|
| A010 | AAA | 2,500 |
| B020 | BBB | 1,000 |
| C030 | CCC | 4,500 |
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問29(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:イ
覚える知識
ロールバック処理(更新前ジャーナル)
異常終了したトランザクションの更新はロールバックですべて取り消される(原子性)。
この問題で必要なこと
デッドロックで異常終了したトランザクションはロールバックされ、更新は取り消されて表は元の状態に戻る。
ひっかけ
DELETEが一部反映される、または中途半端な状態が残ると考える誤り。
この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)。頻出知識ランキング266位(全1,254件中)。