ITパスポート試験

問66

ITパスポート過去問 令和5年度(2023年)問66

トランザクション処理におけるコミットの説明として,適切なものはどれか。

選択肢

  • あるトランザクションが共有データを更新しようとしたとき,そのデータに対する他のトランザクションからの更新を禁止すること
  • トランザクションが正常に処理されたときに,データベースへの更新を確定させること
  • 何らかの理由で,トランザクションが正常に処理されなかったときに,データベースをトランザクション開始前の状態にすること
  • 複数の表を,互いに関係付ける列をキーとして,一つの表にすること

正解と解き方・学習ポイント(AI解説)

正解:
あなたの回答:未回答

コミットは、トランザクションが正常に終了したときに、更新内容をデータベースに確定させる操作です。排他制御(ロック)や、異常時に更新を取り消すロールバック、表の結合(JOIN)とは役割が異なります。

不正解

これは排他制御(ロック)の説明です。あるトランザクションがデータを更新している間、他のトランザクションが同じデータを更新できないようにして矛盾を防ぎます。

正解

トランザクションが正常に処理されたときに、更新内容をデータベースに確定させる操作がコミットです。

不正解

これはロールバックの説明です。処理が失敗したときに、更新を取り消してトランザクション開始前の状態に戻します。

不正解

これは結合(ジョイン)の説明です。複数の表を、関係付ける列を基準にして関連付け、必要なデータをまとめて扱えるようにします。

Point

トランザクション処理において、コミットが何を行う操作かを問う問題です。コミット、排他制御(ロック)、ロールバック、結合(JOIN)を区別できることを目的としています。

解くために必要な知識

この問題を解くには、トランザクション処理に関する基本用語の理解が必要です。

用語の整理

用語 意味
トランザクション データベースに対する処理を、まとめて管理する単位です。途中で失敗した場合に備え、処理を確定するか元に戻すかを選べるようにします。
コミット トランザクションが正常に完了したときに、更新内容をデータベースに確定させる操作です。

他の選択肢に出てくる用語

用語 意味
排他制御(ロック) あるトランザクションがデータを更新している間、他のトランザクションが同じデータを更新できないようにする仕組みです。
ロールバック トランザクションが正常に処理されなかったときに、更新内容を取り消して開始前の状態に戻す操作です。
結合(JOIN) 複数の表を、関係付ける列(共通する列など)を条件にして組み合わせ、1つの結果として扱う操作です。

問題の解法手順

各選択肢の整理

選択肢 何の説明か 判断のポイント
排他制御(ロック) 他トランザクションの更新を禁止して競合を防ぎます。
コミット 正常終了時に更新を確定します。
ロールバック 異常終了時に開始前へ戻します。
結合(ジョイン) 複数表を共通列で関連付けて扱います。

結論

コミットの説明は「イ」です。

選択肢ごとの解説

不正解

これは排他制御(ロック)の説明です。あるトランザクションがデータを更新している間、他のトランザクションが同じデータを更新できないようにして矛盾を防ぎます。

正解

トランザクションが正常に処理されたときに、更新内容をデータベースに確定させる操作がコミットです。

不正解

これはロールバックの説明です。処理が失敗したときに、更新を取り消してトランザクション開始前の状態に戻します。

不正解

これは結合(ジョイン)の説明です。複数の表を、関係付ける列を基準にして関連付け、必要なデータをまとめて扱えるようにします。

まとめ

コミットは、トランザクションが正常に終了したときに、更新内容をデータベースに確定させる操作です。排他制御(ロック)や、異常時に更新を取り消すロールバック、表の結合(JOIN)とは役割が異なります。

テクノロジ系 > 技術要素 > データベース