本文へスキップ

平成30年度 秋期 ITパスポート試験 問63

この問題の解説と、これまでの解答の記録です。

問63
頻出度★☆☆

トランザクション処理におけるロールバックの説明として, 適切なものはどれか。

出典 平成30年度 秋期 ITパスポート試験 問63
解説

問 63

  • 不正解ア

    あるトランザクションが更新中の共有データに対し他トランザクションの更新を禁止するのは, ロック (排他制御) の説明である。同時実行時のデータ矛盾を防ぐ仕組みであり, 失敗後の巻き戻しを行うロールバックとは別の機能である。

  • 不正解イ

    トランザクションが正常に処理されたときに更新を確定させるのは, コミットの説明である。ロールバックは正常完了しなかった場合に更新を取り消す処理であり, コミットとは正反対の動作にあたる。

  • ウ

    正解 ロールバックとは, 何らかの理由 (処理中のエラー, デッドロック, 障害など) でトランザクションが正常に完了できなかったとき, そのトランザクションが行った更新をすべて取り消し, データベースをトランザクション開始前の状態に戻す処理である。これによりデータの一貫性 (原子性) が保たれる。この動作を過去へさかのぼって回復することからバックワードリカバリとも呼ぶ。選択肢ウがこの説明に一致するため, ウが正解である。

  • 不正解エ

    互いに関係付ける列をキーとして複数の表を一つの表にまとめるのは, 関係データベースの結合 (join) 操作の説明であり, トランザクションの回復処理であるロールバックとは無関係である。

ここがポイント
  • ロールバック = トランザクションが正常終了しなかったとき, 更新を取り消して開始前の状態に戻す処理 (バックワードリカバリ)。
  • 対になるコミット (更新確定) や, ロック (排他制御), 結合 (join) と混同しないこと。
用語

解答の記録