問題
テクノロジ系
問62 金融システムの口座振替では,振替元の口座からの出金処理と振替先の口座への入金処理について,両方の処理が実行されるか,両方とも実行されないかのどちらかであることを保証することによってデータベースの整合性を保っている。データベースに対するこのような一連の処理をトランザクションとして扱い,矛盾なく処理が完了したときに,データベースの更新内容を確定することを何というか。
選択肢
- アコミット
- イスキーマ
- ウロールフォワード
- エロック
解説
正解:ア
概要
この問題は、データベースのトランザクション処理において、処理が矛盾なく完了したときに更新内容を確定する操作を問うています。
正解の理由
振替のように「両方成功するか両方失敗するか」を扱う一連の処理はトランザクションとして管理します。トランザクションが正常に完了したときに、更新内容を確定して元に戻せない状態にする操作がコミットなので、アが正解です。
各選択肢の解説
ア(〇): コミットはトランザクションの処理結果をデータベースに確定する操作です。矛盾なく完了した更新を正式な結果として反映するので正しいです。
イ(×): スキーマはデータベースの表構造や制約などの定義情報です。処理結果を確定する操作ではないため誤りです。
ウ(×): ロールフォワードは障害復旧でログを用いて更新を再適用し、最新状態へ戻す考え方です。正常終了時の確定操作そのものではないため誤りです。
エ(×): ロックは同時実行による不整合を防ぐためにデータへのアクセスを制御する仕組みです。更新内容を確定する操作ではないため誤りです。
ポイント
トランザクションは「一連の処理をまとめて成功/失敗させる」考え方で、正常終了時に結果を確定するのがコミットです。