問題
テクノロジ系
問66 トランザクション処理におけるコミットの説明として,適切なものはどれか。
選択肢
- アあるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること
- イトランザクションが正常に処理されたときに,データベースへの更新を確定させること
- ウ何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること
- エ複数の表を,互いに関係付ける列をキーとして,一つの表にすること
解説
正解:イ
概要
この問題は、データベースにおけるトランザクション処理のコミットの意味について問うものです。トランザクションの確定や取消しの仕組みを理解しているかがポイントです。
正解の理由
コミットとは、トランザクションが正常に終了したときに、その処理結果をデータベースに正式に反映させることです。これにより更新内容が確定し、他の利用者からも参照できる状態になります。したがって、更新を確定させるとするイが正解です。
各選択肢の解説
ア(×): これはデータの同時更新を防ぐためのロックの説明です。共有データへの他トランザクションからの更新を禁止する仕組みであり、コミットの説明ではないため誤りです。
イ(〇): トランザクションが正常終了した際に、データベースへの更新を確定させることをコミットといいます。処理結果を正式に反映させる操作であり正解です。
ウ(×): トランザクションが異常終了した場合に、開始前の状態に戻すことをロールバックといいます。コミットとは反対の操作であるため誤りです。
エ(×): 複数の表をキーで結び付けて一つの表のように扱う操作は結合の説明です。コミットとは無関係のため誤りです。
ポイント
コミットは更新内容を確定させる操作、ロールバックは元に戻す操作であるという対比で覚えておきましょう。