情報セキュリティマネジメント試験 過去問解説
トランザクションとは?情報セキュリティマネジメント試験 令和元年度秋期 午前 問46を解説
情報セキュリティマネジメント試験 令和元年度秋期 午前 問46は、トランザクションに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
データベースのトランザクションに関する記述のうち,適切なものはどれか。
この問題の出題ポイント
- トランザクションの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
選択肢
- ア他のトランザクションにデータを更新されないようにするために,テーブルに対するロックをアプリケーションプログラムが解放した。
- イトランザクション障害が発生したので,異常終了したトランザクションをDBMSがロールフォワードした。
- ウトランザクションの更新結果を確定するために,トランザクションをアプリケーションプログラムがロールバックした。
- エ複数のトランザクション間でデッドロックが発生したので,トランザクションをDBMSがロールバックした。正解
正解
エ: 複数のトランザクション間でデッドロックが発生したので,トランザクションをDBMSがロールバックした。
解説
トランザクションでは、ロールバックは処理を取り消して開始前の状態に戻す操作、ロールフォワードは更新後ログで障害前の状態を再現する復旧操作、コミットは更新結果を確定する操作である。デッドロック発生時にはDBMSが一方のトランザクションをロールバックして解消するのが正しい動作なので、正解はエである。
なぜ他の選択肢が違うのか
ア
他トランザクションによる更新を防ぐにはロックを保持し続ける必要があり、ロックを解放しては排他制御にならないため記述が誤り。
イ
異常終了したトランザクションは更新を取り消すロールバックで対処すべきであり、更新を再現するロールフォワードを行うのは誤り。
ウ
更新結果を確定する操作はコミットであり、ロールバックは更新を取り消す操作なので、確定のためにロールバックするという記述は誤り。
エ(正解)
デッドロック発生時にDBMSが一方のトランザクションをロールバックして解消するのは正しい動作なので正しい。
解き方の整理
トランザクションの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
令和元年度秋期 午前 の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。