令和3年度 問62
データベース
トランザクションに関する問題
金融システムの口座振替では,振替元の口座からの出金処理と振替先の口座への入金処理について,両方の処理が実行されるか,両方とも実行されないかのどちらかであることを保証することによってデータベースの整合性を保っている。データベースに対するこのような一連の処理をトランザクションとして扱い,矛盾なく処理が完了したときに,データベースの更新内容を確定することを何というか。
- アコミット
- イスキーマ
- ウロールフォワード
- エロック
答えと解説を見る
✓ これが正解アコミット
解説
コミットは、トランザクションの更新を確定させる操作です。
データベースでは、切り離せない一連の処理をひとまとめにして扱い、これをトランザクションと呼びます。口座の振替であれば、出金と入金の二つはどちらも行われるか、どちらも行われないかでなければ、つじつまが合わなくなってしまいます。処理が最後まで矛盾なく終わったときに、それまでの更新内容を確定させて、他からも見える状態にすることをコミットといいます。逆に途中で不具合が起きた場合には、始める前の状態へ戻すロールバックを行います。つまりコミットとロールバックは、一まとまりの処理の終わり方が二通りあることを表しています。まとめて扱うことで、どちらか片方だけが残るという中途半端な状態を防いでいます。この性質は原子性と呼ばれます。よって当てはまるのはコミットということになります。
ほかの選択肢はなぜ違うのか
- イスキーマ:スキーマは、データベースにどんな表があり、どんな項目を持つのかという構造を定めたものです。あらかじめ決めておく設計の話なので、処理が終わったときに更新を確定させるという操作の名前ではありません。設計の話です。
- ウロールフォワード:ロールフォワードは、障害が起きた後に、保存してあった控えと記録を使って、障害の直前の状態まで復元する操作です。壊れた後に取り戻す場面の話であり、通常の処理を終えて更新を確定させる操作とは、使う場面が違います。復元の操作です。
- エロック:ロックは、同じデータを複数の処理が同時に書き換えて混乱しないよう、一時的に他からの操作を待たせる仕組みです。処理の間の場所取りにあたるもので、終わったときに更新を確定させる操作そのものではありません。待たせる仕組みです。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和3年度 ITパスポート試験 問62
同じ用語が出る問題
- 令和8年度 問56:チェックポイントの説明(トランザクション)
- 令和7年度 問61:トランザクションに関する記述(トランザクション)
- 令和7年度 問32(トランザクション)
- 令和6年度 問74:トランザクション処理に関する記述(トランザクション)
- 令和5年度 問66:コミットの説明(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)