令和7年度 秋期 データベーススペシャリスト試験 午前II 問15
テクノロジデータベース
この問題は2025(R7)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
トランザクションT1,T2を同時実行した際に,次の異状を防ぐことができるトランザクションの隔離性水準のうち,最も水準の低いものはどれか。
〔異状〕
T1が同じデータを複数回読み込んでいる途中で,T2がそのデータを更新してコミットしたことによって,T1が更新していないのにもかかわらずT1が読み込むデータが変わってしまう。
解答・解説を読む
正解: 選択肢ウ
問題文に記述されている異状は、ノンリピータブルリード(Non-Repeatable Read) に関する説明です。トランザクションT1が同じデータを再読込した際に、別のトランザクションT2によってデータが更新・コミットされていたため、読み込む結果が変わってしまう現象を指します。
トランザクションの 隔離性水準(アイソレーションレベル) には、水準の低い順に以下の4つがあります。
- READ UNCOMMITTED:ダーティリード、ノンリピータブルリード、ファントムリードのすべてが発生し得る。
- READ COMMITTED:ダーティリードを防ぐことができるが、ノンリピータブルリードやファントムリードは発生し得る。
- REPEATABLE READ:ダーティリードとノンリピータブルリードを防ぐことができるが、ファントムリードは発生し得る。
- SERIALIZABLE:すべての異状(ファントムリード含む)を防ぐことができる。
したがって、ノンリピータブルリードを防ぐことができるのは REPEATABLE READ と SERIALIZABLE であり、その中で最も水準の低いものは REPEATABLE READ となります。
各選択肢の解説
- ア READ COMMITTED: コミット済みのデータのみを読み取るため ダーティリード は防げますが、ノンリピータブルリードは防ぐことができないため誤りです。
- イ READ UNCOMMITTED: 隔離性水準が最も低く、コミットされていないデータも読み取ってしまう( ダーティリード が発生する)ため誤りです。
- ウ REPEATABLE READ: ノンリピータブルリード を防ぐことができる水準のうち、最も低いものなので正解です。
- エ SERIALIZABLE: ノンリピータブルリードを含むすべての異状( ファントムリード など)を防ぐことができますが、「最も水準の低いもの」ではないため誤りです。