ITパスポート 令和5年度 問66
データベース
コミットの説明
トランザクション処理におけるコミットの説明として,適切なものはどれか。
- ア あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること
- イ トランザクションが正常に処理されたときに,データベースへの更新を確定させること
- ウ 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること
- エ 複数の表を,互いに関係付ける列をキーとして,一つの表にすること
答えと解説
✓ これが正解イ トランザクションが正常に処理されたときに,データベースへの更新を確定させること
解説
正常に終わったときに、更新を確定させるのがコミットです。
トランザクションは、いくつかの更新をひとまとまりとして扱い、全部そろって成立するか、まったく行われなかったことにするかの、どちらかにする仕組みです。処理が最後までうまく進んだときに、それまでの更新をデータベースに確定させる操作をコミットといいます。コミットを終えて初めて、その内容はほかの利用者からも見えるようになり、途中で電源が落ちても失われません。逆に途中で問題が起きたときは、開始前の状態へ戻すことになります。よって適切なのは、正常に処理されたときにデータベースへの更新を確定させること、という説明です。
ほかの選択肢の解説
- ア あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること:あるトランザクションが更新しようとしたデータに対して、ほかからの更新を禁止することは、排他制御の説明です。同時に触れて食い違いが生じるのを防ぐ仕組みであって、更新を確定させる操作ではありません。
- ウ 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること:正常に処理されなかったときに、データベースを開始前の状態にすることは、ロールバックの説明です。確定させるコミットとは向きが逆で、なかったことにする側の操作になります。確定させるのか、なかったことにするのか。二つは対になる操作なので、向きで覚えると取り違えません。
- エ 複数の表を,互いに関係付ける列をキーとして,一つの表にすること:複数の表を、互いに関係付ける列をキーとして一つの表にすることは、表を結合する操作の説明です。データを取り出すときの操作であって、更新を確定させるかどうかの話ではありません。
関連用語
- コミットトランザクションの更新を確定させる操作です。
- ロールバック処理の途中で具合が悪くなったときに、始める前の状態まで戻す操作です。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。
出典:令和5年度 ITパスポート試験 問66
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
同じ内容が出た回
関連問題
- 令和8年度 問56:
チェックポイントの 説明 (コミット) - 令和7年度 問84:
情報 セキュリティ 方針に 関する 記述 (コミット) - 令和7年度 問82
(ロールバック) - 令和7年度 問61:
トランザクションに 関する 記述 (トランザクション) - 令和6年度 問74:
トランザクション 処理に 関する 記述 (排他制御)
同じ分野の問題
誤りを見つけたら報告する