スポンサーリンク

【応用情報技術者試験】コミットとロールバックの違いをわかりやすく解説

「コミットとロールバックって何が違うの?」
応用情報技術者試験でもデータベース分野で頻出ですが、

  • トランザクションとセットで出てくる…
  • いつコミットするの?
  • ロールバックは何を戻すの?
  • 障害時にどう動く?

で混乱する人がかなり多いテーマです。

この記事では、

  • コミットとは?
  • ロールバックとは?
  • トランザクションとの関係
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

コミット

「変更内容を確定する」


ロールバック

「変更内容を取り消す」


超簡単にいうと

操作イメージ
コミット保存ボタン
ロールバック元に戻すボタン

トランザクションとは?

超頻出!


トランザクション

一連の処理をひとまとまりとして扱う単位


例

銀行振込

口座Aから1万円引く
↓
口座Bへ1万円入れる


問題

途中で障害発生すると?

口座A
↓
引いた

口座B
↓
入ってない


大問題!


解決方法

トランザクション


コミットとは?

超頻出!


意味

トランザクションの確定


イメージ

更新
↓
確認
↓
コミット
↓
確定


SQL例

UPDATE 商品
SET 価格=1200
WHERE 商品ID=1;

COMMIT;


結果

変更内容が正式に保存される。


ロールバックとは?

超頻出!


意味

トランザクション開始前へ戻す


イメージ

更新
↓
エラー発生
↓
ロールバック
↓
元に戻る


SQL例

UPDATE 商品
SET 価格=1200
WHERE 商品ID=1;

ROLLBACK;


結果

変更が取り消される。


コミットとロールバックの違い

超頻出!

比較コミットロールバック
目的確定取消
結果保存される元に戻る
使用場面正常終了異常終了
復元可否基本不可実行前へ復元

処理の流れ


トランザクション開始
↓
更新処理
↓
正常
↓
COMMIT


トランザクション開始
↓
更新処理
↓
異常
↓
ROLLBACK


ACID特性との関係

超頻出!


Atomicity(原子性)

全部成功か全部失敗


ロールバックが支える

途中失敗
↓
全部取消


例

銀行振込

引出し成功
↓
入金失敗
↓
ロールバック


SAVEPOINT

発展知識!


役割

途中地点を保存


SAVEPOINT SP1;


必要に応じて

ROLLBACK TO SP1;


応用情報で超頻出

かなり狙われる👇

  • トランザクション
  • COMMIT
  • ROLLBACK
  • ACID特性
  • 原子性

よくあるひっかけ

「ロールバックはコミット後も元に戻せる」

→ ❌違う!

コミット後は

正式確定

となる。


1分で復習!

コミット

確定


ロールバック

取消


コミット

正常終了


ロールバック

異常終了


超重要

原子性を実現


練習問題

問題

ロールバックの説明として最も適切なものはどれか。

ア

変更内容を確定する

イ

変更内容を圧縮する

ウ

変更内容を開始前の状態に戻す

エ

インデックスを再作成する


解答

正解:ウ

解説

ロールバックは、トランザクション中の変更を取り消し、処理開始前の状態に戻すための機能です。


まとめ

コミットとは

「変更内容を確定する」


ロールバックとは

「変更内容を取り消す」


超重要

  • トランザクション
  • COMMIT
  • ROLLBACK
  • ACID特性
  • 原子性

まずは、

「コミット=保存」

「ロールバック=元に戻す」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント