平成29年春期試験問題 午前Ⅱ 問17

図は,ある探索条件を使って数学模試の平均点を算出している間,当該探索条件に合致するA君の結果を"数学模試成績"表に登録したときの様子を示している。平均点を求めるトランザクションT1と,登録作業のトランザクションT2が①~⑥の順序で処理された結果,合計点算出時の受験者数と平均点算出時の受験者数が異なり,正しい平均点を得ることができなかった。このとき発生した事象はどれか。ここで,トランザクションの隔離性水準はREAD UNCOMMITTEDであったとする。
17.gif

  • アンリピータブルリード
  • シーケンシャルリード
  • ダーティリード
  • ファントムリード
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
設問の処理ではT1による2回の参照(①と④)の間に、T2による新たな行挿入が実行されています。これにより④で参照した行数は①で参照した行数よりも1つ多くなってしまいます。このように同じトランザクションで複数回の読込みを行ったとき、前回は存在しなかった行が現れる異常をファントムリードといいます。したがって「エ」が正解です。
  • アンリピータブルリードは、同じトランザクションで複数回の読込みを行ったとき、読込む度に値が変わってしまう異常です。
  • シーケンシャルリードは、記憶媒体の先頭から順番に読み込んでいくアクセス方式です。
  • ダーティリードは、他のトランザクションが更新したコミット前の値(ダーティデータ)を読み、その後更新処理を行ったトランザクションがロールバックされると、存在しない値を読み込んだことになってしまう異常です。
  • 正しい。

Pagetop