本文へスキップ

令和3年度 ITパスポート試験 問62

この問題の解説と、これまでの解答の記録です。

問62
頻出度★☆☆

金融システムの口座振替では, 振替元の口座からの出金処理と振替先の口座への入金処理について, 両方の処理が実行されるか, 両方とも実行されないかのどちらかであることを保証することによってデータベースの整合性を保っている。データベースに対するこのような一連の処理をトランザクションとして扱い, 矛盾なく処理が完了したときに, データベースの更新内容を確定することを何というか。

出典 令和3年度 ITパスポート試験 問62
解説

問 62

  • ア

    正解 正解はア「コミット」。トランザクションで行った一連の更新処理が矛盾なく最後まで完了したとき、その更新内容をデータベースへ正式に反映・確定する操作をコミットという。口座振替の例では、出金処理と入金処理の両方が問題なく終わった時点でコミットすることで更新が確定し、以降その結果が有効になる。逆に途中で異常があれば更新を取り消す(ロールバック)ことで「両方実行されるか、両方とも実行されないか」を保証でき、データベースの整合性が保たれる。設問が問う「更新内容を確定すること」はまさにコミットの定義に一致する。

  • 不正解イ

    スキーマはデータベースの構造(表の項目やデータ型、制約など)を定義したものを指す用語であり、トランザクションの更新を確定する操作ではないため誤り。

  • 不正解ウ

    ロールフォワードは障害発生後にバックアップと更新後ログ(ジャーナル)を用いて、確定済みの更新を再現しデータベースを復旧する操作であり、通常処理で更新内容を確定する操作そのものではないため誤り。

  • 不正解エ

    ロックは複数の処理が同じデータへ同時にアクセスして矛盾が起きないよう、データの使用中に他の処理を待たせる排他制御の仕組みであり、更新を確定する操作ではないため誤り。

ここがポイント
  • コミットとは、トランザクションの一連の更新が正常に完了したとき、その更新内容をデータベースに確定・反映する操作である(対義はロールバックで更新を取り消す)。
  • トランザクションは「すべて実行されるか、まったく実行されないか」(原子性)を保証し、コミット/ロールバックによってデータベースの整合性を維持する。
用語

解答の記録