コミットとは?こみっと
コミットは、データベースで一まとまりの処理(トランザクション)が最後まで正常に終わったときに、その更新の結果を確定させる操作。コミットした後の内容は、障害が起きても失われないように守られる。反対に、途中で失敗したときに更新を取り消してトランザクション開始前の状態に戻す操作がロールバックである。ITパスポートでは、処理の流れ図のどこがコミットにあたるか、障害のあとでどのデータが残るかを読み取らせる形で出る。
最終更新:2026-10-10
この語が出る過去問を解く →背景
銀行の振替のように「Aの口座から引き落とす」と「Bの口座に入金する」が両方そろって初めて意味を持つ処理は、片方だけ終わったところで止まるとお金が消えたり増えたりしてしまう。そこでデータベースは、一まとまりの処理を「全部反映する」か「全部なかったことにする」かのどちらかにする仕組みを持つようになった。この「全部反映する」側の区切りがコミットである。
具体例
ゆうちょ銀行のATMで自分の口座から家族の口座へ1万円を送る場面を考える。引き落としと入金の2つの更新が両方終わった時点でコミットされ、画面に「完了しました」と出る。もし引き落としを書いた直後に停電すれば、コミット前なのでロールバックされ、残高は送る前の金額に戻る。
試験での引っ掛け
コミットは「更新を確定する」、ロールバックは「更新を取り消して開始前に戻す」で、向きを逆にした選択肢が典型。また、コミットはトランザクションの最後に1回行うもので、途中の更新(振替なら引き落としと入金)を1つずつ確定させるものではない。障害の問題では「コミット済みのトランザクションの結果は残り、コミット前のものは取り消される」と考えて残るデータを判断する。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成26年度 秋期 ITパスポート試験 問71(IPA)
図は処理1、処理2の順でデータベースを更新するトランザクションの処理フローを示している。図中のa〜cのうち、コミット処理(処理1、処理2の更新結果を確定させる処…
正解:a
要点:全処理が正常終了したときだけコミットする
トランザクションは、一連の更新がすべて成功した場合にだけ結果を確定させ、途中で失敗した場合は取消し(ロールバック)で元に戻す必要がある。図では処理1・処理2の両方が正常終了した経路の先だけが確定処理に当たり、いずれかが異常終了した経路の先は取消し処理になる。
出典:平成27年度 秋期 ITパスポート試験 問71(IPA)
処理一覧に示す実行順に,トランザクション1~4を実行する。あるトランザクションが途中で異常終了し,トランザクションを中断してロールバックした結果,データAとデー…
正解:トランザクション4
要点:ロールバックで処理前の状態に戻る。残存データから逆算する
順に追うと、1でAが作られ、2が成功するとBが作られAが消え、3で再びAが作られてAとBの両方が存在する状態になる。4はBを削除する処理なので、これが成功すればAだけが残る。AとBが両方残っているということは、4が異常終了して取り消されたと分かる。
出典:平成30年度 秋期 ITパスポート試験 問63(IPA)解説で登場
トランザクション処理におけるロールバックの説明として、適切なものはどれか。
正解:何らかの理由で、トランザクションが正常に処理されなかったときに、データベースをトランザクション開始前の状態にすること
要点:ロールバックは異常時にトランザクション開始前へ戻すこと
データベースの更新は、一連の処理をまとめた単位で「すべて反映するか、すべて無かったことにするか」を保証する。処理の途中で異常が起きた場合に、その単位の開始前の状態へ戻して整合性を保つ操作が問われている。逆に正常終了時に更新を確定する操作はコミットと呼ばれる。
出典:平成30年度 秋期 ITパスポート試験 問75(IPA)解説で登場
DBMSにおいて、一連の処理が全て成功したら処理結果を確定し、途中で失敗したら処理前の状態に戻す特性をもつものはどれか。
正解:トランザクション
要点:全部成功なら確定・失敗なら元に戻す処理単位がトランザクション
データベースでは、関連する複数の更新をひとまとまりとして扱い、全部成功したら確定し、途中で失敗したら開始前の状態へ戻すことで整合性を守る。この処理のまとまりが問われている。確定をコミット、取消しをロールバックと呼び、いずれもこの単位に対して行われる。
出典:令和3年度 秋期 ITパスポート試験 問62(IPA)
金融システムの口座振替では、振替元の口座からの出金処理と振替先の口座への入金処理について、両方の処理が実行されるか、両方とも実行されないかのどちらかであることを…
正解:コミット
要点:コミットはトランザクションの更新を確定させる操作
トランザクション内の処理がすべて矛盾なく終わったときに、更新内容を確定してデータベースに反映することをコミットという。途中で異常が起きた場合は取消し(ロールバック)を行い、出金だけ実行されて入金されないといった中途半端な状態を防ぐ。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。