ITパスポート試験 ITパスポート 2015年 (平成27年 秋期)71: 処理一覧に示す実行順に,トランザクション1〜4を実行する。あるトランザクションが途中で異常終了し,トランザクションを中断してロールバックした結果,データAとデー

ITパスポート 2015年 (平成27年 秋期)
Q 7171 / 100
処理一覧に示す実行順に,1〜4を実行する。あるトランザクションが途中で異常終了し,トランザクションを中断してした結果,データAとデータBが残った。異常終了したトランザクションはどれか。ここで,トランザクションが正常終了したときにコミットを行い,次のトランザクションがあれば,それを実行する。異常終了したときは,当該トランザクション以降のトランザクションを実行しないものとする。 〔処理一覧〕
実行順トランザクション名処理
1トランザクション1データAを作成する。
2トランザクション2データBを作成し,データAを削除する。
3トランザクション3データAを作成する。
4トランザクション4データBを削除する。
この問の正解率:62.69%(930件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

処理一覧に示す実行順に,トランザクション1〜4を実行する。あるトランザクションが途中で異常終了し,トランザクションを中断してロールバックした結果,データAとデータBが残った。異常終了したトランザクションはどれか。ここで,トランザクションが正常終了したときにコミットを行い,次のトランザクションがあれば,それを実行する。異常終了したときは,当該トランザクション以降のトランザクションを実行しないものとする。 〔処理一覧〕

選択肢

  • .トランザクション1
  • .トランザクション2
  • .トランザクション3
  • .トランザクション4

正解

. トランザクション4

解説

トランザクション(transaction)とロールバックの動作を問う問題. トランザクションは複数の処理を1つの論理的単位として扱う仕組みで,ACID特性(原子性・一貫性・独立性・耐久性)を保証する. 正常終了時はコミット(commit)で確定,異常終了時はロールバック(rollback)で開始前状態に戻す. 本問では順にT1=データA作成,T2=B作成+A削除,T3=A作成,T4=B削除を実行. 結果データA,Bが残るため,最後に成功したのはT3(A作成完了でA,Bが揃った状態). 次のT4(B削除)が異常終了でロールバックされ,Bが削除されないままA・Bが残った状態が再現される. 答えはT4=エ.

選択肢ごとの解説

  • .誤り. T1(データA作成)が異常終了するとAは作られず,ロールバックでデータベースは何も入っていない初期状態に戻る. 結果として「データA・Bが残る」状態とは一致せず,T1異常終了では本問の最終状態が再現できないため,T1が異常終了したという仮説は成立しない選択肢.
  • .誤り. T2(B作成+A削除)が異常終了するとT1のコミット結果(A作成済み)は残るが,T2のB作成とA削除は全てロールバックされ,結果はAだけが存在する状態. 「データA・Bが残る」状態とは異なり,Bが存在しない時点で本問の終状態と矛盾するため不正解となる.
  • .誤り. T3(データA作成)が異常終了するとT1・T2はコミット済みでT3はロールバック. T2終了時にAは削除されBのみ存在,T3でA作成しようとして異常→ロールバックで状態はB単体. 「データA・Bが残る」状態と一致せず,T3異常終了仮説では最終状態が再現できない.
  • .正解. T4(B削除)が異常終了するとT1・T2・T3はコミット済みで,T1でA→T2でAをBに置換→T3でA再作成,という流れによりT3終了時にA・B両方が存在. T4のB削除がロールバックされBは残るため,「データA・Bが残る」最終状態と完全に一致する. T4異常終了が正解.

ITパスポート 2015年 (平成27年 秋期)過去問一覧へ戻る・問71