トランザクション処理(全24問中20問目)

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

出典:平成22年春期 問82

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

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

Pagetop