データベース

基本情報技術者試験 科目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件中)。

この知識をアプリで解いて覚える レッスン「トランザクションと排他制御(ロック・デッドロック)」で学ぶ

同じ知識の過去問