読み方: ろーるばっく
1行定義
トランザクション中に障害や不整合が発生した場合に、トランザクション開始前の状態にデータを戻す処理。コミットの反対操作
詳細解説
ロールバック(Rollback)は、データベースのトランザクション処理においてトランザクション中に障害・エラー・整合性違反が発生した場合に、そのトランザクションで行われたすべてのデータ変更を無効にしてトランザクション開始前の状態にデータを復元する操作です。コミット(Commit:変更を確定・永続化)の反対操作で、ACIDのAtomicity(原子性)を保証する仕組みの一部です。ロールバックが実行される典型的な場面はアプリケーションが明示的にROLLBACK文を実行した場合(ビジネスロジックエラー検出時)・システム障害(サーバーやDBのクラッシュ)によるトランザクションの中断・デッドロックが検出されてDBシステムが犠牲者トランザクションをロールバック・制約違反(NOT NULL違反・外部キー制約違反等)発生時です。ロールバックの実現にはDBMSがトランザクションログ(変更前データを記録するUNDOログ)を使います。ロールバックはUNDOログを参照して変更を逆順に取り消します。部分ロールバック(セーブポイント)はSAVEPOINT文でトランザクション内に中間ポイントを設け、完全なロールバックではなくセーブポイントまで戻すことが可能です。ロールカバリ(Recovery)とは障害後にDBを正常状態に戻す処理全体を指し、コミット済みトランザクションのロールフォワード(再実行)と未コミットトランザクションのロールバック(取り消し)の両方を含みます。ITパスポートでは「ロールバックの定義」「コミットとの対比」「トランザクションの原子性との関係」「UNDOログ」が出題されます。
ITパスポートでの出題ポイント
- トランザクション中の障害・エラー時に変更を無効化して開始前の状態に復元
- コミット(変更確定)の反対操作。UNDOログを使い変更を逆順取り消し
- 原子性(Atomicity)の保証:全部完了かゼロかのどちらかを保証
- デッドロック検出時やシステム障害時にDBMSが自動実行
関連用語
- トランザクション(Transaction) データベース
- ACID特性 データベース
- 2相コミット データベース
- デッドロック ソフトウェア
- SQL データベース
「ロールバック」の過去問を解いて理解を定着
合格ナビでは IPA 公式 600問 + 3段階の解説(初級・標準・上級) で「○○とは?」をその場で深掘りできます。
シラバス 6.5 準拠 / 最終更新: 2026-05-26
