
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
データベースのトランザクション分離レベルのうち、ANSIが定義する分離レベルに含まれないものを選ぶ問題。Read Uncommitted、Read Committed、Repeatable Read、Serializableの4段階と、ダーティリードが現象名であることを問う。
ANSI SQLが定めるトランザクション分離レベルの4段階と、発生しうる異常(現象)を区別する問題。
① ANSIの分離レベルは4つ(弱い順): Read Uncommitted → Read Committed → Repeatable Read → Serializable。ダーティリード・ノンリピータブルリード・ファントムは防ぎたい「現象」の名前
② ダーティリードは現象の名前で、分離レベルではない
③ ④
ANSI SQLの分離レベルは、弱い順に、非コミット読み取り(Read Uncommitted)、コミット済み読み取り(Read Committed)、再読み込み可能読み取り(Repeatable Read)、直列化可能(Serializable)の4つである。ダーティリード(Dirty Read)は、未コミットのデータを読んでしまう現象(異常)の名前であり、分離レベルではない。したがって④が含まれない。
分離レベルは、弱い順にRead Uncommitted、Read Committed、Repeatable Read、Serializable。防げる異常は、ダーティリード、ノンリピータブルリード、ファントムリードの順に増える。
キーワード: トランザクション分離レベル、Read Uncommitted、Read Committed、Repeatable Read、Serializable、ダーティリード、情報工学部門