過去問解きまくり研究所 ホーム

平成26年度 秋期 (特別措置試験) 問71

データベース

トランザクションに関する問題

図は処理1,処理2の順でデータベースを更新するトランザクションの処理フローを示している。図中のa〜cのうち,コミット処理(処理1,処理2の更新結果を確定させる処理)に該当する箇所だけを全て挙げたものはどれか。

〔図(処理フロー)〕

開始
 ↓
処理1
 ↓
〈処理1が正常終了したか?〉── No ──────────────┐
 │ Yes                                        │
処理2                                         │
 ↓                                            │
〈処理2が正常終了したか?〉── No ──┐          │
 │ Yes                             │          │
〔a〕                            〔b〕      〔c〕
 └───────────────←──────────────┴──────────┘
 ↓
終了
答えと解説を見る

✓ これが正解アa

解説

枝ごとに、そこへ着くための条件を書き出してから読みます。

この図には確かめる場所が二つあり、そこから枝が分かれます。最初の処理でつまずいた枝、最初は通ったが次の処理でつまずいた枝、そして両方とも通った枝の三本です。更新を確かめて残すのは、三本めに着いたときだけです。トランザクションは全部やるか、何もしなかったことにするかの二択で、途中まで残すという扱いを持ちません。この決まりには四つの性質が並びます。全部やるか何もしないか、決めごとを壊さないこと、同時に走っても互いに邪魔しないこと、そして終わったものは失われないことです。途中まで残せてしまうと、引き落としたのに入金されていない状態が残ります。だから、二つの確かめる場所を通り抜けたときだけ確定させ、そうでなければ行った更新を丸ごと取り消します。変える前の値を控えておく仕掛けも備わっています。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成26年度 秋期 ITパスポート試験(特別措置試験) 問71

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)