データベース
基本情報技術者試験 科目A免除 修了試験 20160612 実施分 問30
“商品”表に対して,更新SQL文を実行するトランザクションが,デッドロックの発生によって異常終了した。異常終了後の“商品”表はどれか。ここで,“商品”表に対する他のトランザクションは,参照は行うが更新はしないものとする。
表「商品」: 商品コード | 商品名 | 販売単価 の3列。行: A010 | AAA | 2,500 / B020 | BBB | 1,000 / C030 | CCC | 4,500
〔更新SQL文〕
DELETE FROM 商品 WHERE 商品コード = 'B020'
選択肢ア〜エはいずれも列見出し「商品コード | 商品名 | 販売単価」の表。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20160612 実施分 問30(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:イ
覚える知識
トランザクションのACID特性
原子性(Atomicity)とは、トランザクションの処理が全て実行されるか、全く実行されないかのどちらかになる性質である。
この問題で必要なこと
トランザクションが異常終了すると、原子性により更新はすべて取り消され、実行前の状態に戻る。表は変化しない。
ひっかけ
DELETEが一部だけ反映された状態や、NULLに更新された状態を想像させる誤答。
この知識の出題:本試験系 7 回・免除試験 9 回(公開問題での観測値)。頻出知識ランキング40位(全1,254件中)。