データベーススペシャリスト 平成29年春期 午前U 問17

午前U 問17

図は,ある探索条件を使って数学模試の平均点を算出している間,当該探索条件に合致するA君の結果を"数学模試成績"表に登録したときの様子を示している。平均点を求めるトランザクションT1と,登録作業のトランザクションT2が①〜⑥の順序で処理された結果,合計点算出時の受験者数と平均点算出時の受験者数が異なり,正しい平均点を得ることができなかった。このとき発生した事象はどれか。ここで,トランザクションの隔離性水準はREAD UNCOMMITTEDであったとする。
17.gif/image-size:514×425
  • アンリピータブルリード
  • シーケンシャルリード
  • ダーティリード
  • ファントムリード

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

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

Pagetop