平成26年度 秋期 (特別措置試験) 問71
データベース
トランザクションに関する問題
図は処理1,処理2の順でデータベースを更新するトランザクションの処理フローを示している。図中のa〜cのうち,コミット処理(処理1,処理2の更新結果を確定させる処理)に該当する箇所だけを全て挙げたものはどれか。
〔図(処理フロー)〕
開始 ↓ 処理1 ↓ 〈処理1が正常終了したか?〉── No ──────────────┐ │ Yes │ 処理2 │ ↓ │ 〈処理2が正常終了したか?〉── No ──┐ │ │ Yes │ │ 〔a〕 〔b〕 〔c〕 └───────────────←──────────────┴──────────┘ ↓ 終了
- アa
- イa,b
- ウb,c
- エc
答えと解説を見る
✓ これが正解アa
解説
枝ごとに、そこへ着くための条件を書き出してから読みます。
この図には確かめる場所が二つあり、そこから枝が分かれます。最初の処理でつまずいた枝、最初は通ったが次の処理でつまずいた枝、そして両方とも通った枝の三本です。更新を確かめて残すのは、三本めに着いたときだけです。トランザクションは全部やるか、何もしなかったことにするかの二択で、途中まで残すという扱いを持ちません。この決まりには四つの性質が並びます。全部やるか何もしないか、決めごとを壊さないこと、同時に走っても互いに邪魔しないこと、そして終わったものは失われないことです。途中まで残せてしまうと、引き落としたのに入金されていない状態が残ります。だから、二つの確かめる場所を通り抜けたときだけ確定させ、そうでなければ行った更新を丸ごと取り消します。変える前の値を控えておく仕掛けも備わっています。
ほかの選択肢はなぜ違うのか
- イa,b:二つめの処理でつまずいた枝が混じっています。そこでは、始める前の姿へ戻すほうを選びます。次の処理が通らなかったときにどうするかと問われたなら、行った更新を取り消すのが答えになります。片方だけを残すことはできません。
- ウb,c:つまずいた枝ばかりを二つ挙げています。どちらも戻す側にあたります。しくじった行き先をすべて挙げよと言われたなら、この組が答えになります。ただし、そこで行うのは確定ではなく、ちょうどその反対の始末にあたります。戻した跡は記録に残ります。
- エc:最初の処理でつまずいた枝を挙げています。次の処理は動いてすらいません。一つめでしくじった場合の行き先を指せと言われたなら、この位置が答えになります。二つめは動いてすらいないので、取り消す量もいちばん小さく済みます。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成26年度 秋期 ITパスポート試験(特別措置試験) 問71
同じ用語が出る問題
- 令和8年度 問56:チェックポイントの説明(トランザクション)
- 令和7年度 問61:トランザクションに関する記述(トランザクション)
- 令和7年度 問32(トランザクション)
- 令和6年度 問74:トランザクション処理に関する記述(トランザクション)
- 令和5年度 問66:コミットの説明(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)