平成25年度 春期 午前Ⅱ 問9
トランザクション処理
隔離性水準に関する問題
トランザクションの隔離性水準のうち,次の (1),(2) に該当する SQL の指定はどれか。
(1) 対象の表のダーティリードは回避できる。
(2) 一つのトランザクション中で,対象の表のある行を2回以上参照する場合,1回目の読込みの列値と2回目以降の読込みの列値が同じであることが保証されない。
- アREAD COMMITTED
- イREAD UNCOMMITTED
- ウREPEATABLE READ
- エSERIALIZABLE
答えと解説を見る
✓ これが正解アREAD COMMITTED
解説
確定済みの値だけを読むが、再読込みで値が変わり得る水準です。
隔離性水準は、ほかのトランザクションの影響をどこまで防ぐかで段階が分かれます。条件(1)はコミットされていない更新を読むダーティリードを防ぐこと、条件(2)は同じ行を2回読んだときに値が変わる現象までは防がなくてよいことを表しています。READ COMMITTED は、コミット済みのデータだけを読むのでダーティリードは起きません。しかし、一度読んだ行をほかのトランザクションが更新してコミットすることは妨げないので、2回目の読込みで値が変わることがあります。四つの水準を、防げる現象が一つずつ増える階段として並べておくと、条件から水準を選べます。
ほかの選択肢はなぜ違うのか
- イREAD UNCOMMITTED:READ UNCOMMITTED は最も低い水準で、ほかのトランザクションがコミットしていない更新まで読めてしまいます。ダーティリードを回避するという条件(1)を満たさないので、当てはまりません。
- ウREPEATABLE READ:REPEATABLE READ は、一度読んだ行の値が同じトランザクションの中で変わらないことを保証する水準です。値の一致が保証されないという条件(2)と食い違います。
- エSERIALIZABLE:SERIALIZABLE は最も高い水準で、ダーティリードも、同じ行の値が読むたびに変わる現象も、検索のたびに行が増える現象も起きません。条件(2)のように値が変わり得る状態は、この水準では生じません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問14:べき等に関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)