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

データベース|平成26年度 秋期 ITパスポート試験(特別措置試験) 問71

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

〔図(処理フロー)〕
```
開始

処理1

〈処理1が正常終了したか?〉── No ──────────────┐
│ Yes │
処理2 │
↓ │
〈処理2が正常終了したか?〉── No ──┐ │
│ Yes │ │
〔a〕 〔b〕 〔c〕
└───────────────←──────────────┴──────────┘

終了
```

解説

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

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

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

この問題に関係する言葉

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

この問題を演習で解く

同じ単元をまとめて解くならデータベースへ。

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