トランザクション処理(全26問中5問目)

2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき,データnは最後にどの値になるか。ここで,データnの初期値は10であった。
72.png

出典:令和2年秋期 問72

  • 5
  • 10
  • 12
  • 17
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
ファイル内のデータnの値の変化に注目しながら①~④の処理を順番に見ていきましょう。
①PC-Aがデータnを読み込み、5を引く
PC-Aは「10-5=5」を保持する(注:データnが更新されるわけではありません)
②PC-Bがデータnを読み込み、7を足す
PC-Bは「10+7=17」を保持する(注:データnが更新されるわけではありません)
③PC-Aが①の結果"5"を、データnに書き込む
データnの値は5になる
④PC-Bが②の結果"17"を、データnに書き込む
データnの値は17になる
以上の処理手順により、データnの値は最後に「17」になることがわかります。

複数のクライアントが同じデータを更新しようとするときは、排他制御によって更新の順序を制御しないと、この例のように更新処理の消失現象が起こるおそれがあります。

Pagetop