応用情報技術者SQLとトランザクションの詳細オリジナル・公式資料照合難易度
当直医A,Bがそれぞれ別行で勤務中である。2トランザクションが同じスナップショットを読み「他方が勤務中」を確認し、自分の別行を非勤務へ更新して両方COMMITした。破られた条件と現象はどれか。
A
どちらの処理も自分の行を変えていないnon-repeatable read
自分の行を変更しており、現象の説明と一致しない。
B
少なくとも1人勤務という行をまたぐ条件が破られるwrite skew★ 正解
別々の行を更新しても、読んだ条件を組み合わせると不正になる場合がある。直列化や共通資源のロック等で業務条件を守る。
C
同じ行の値を上書きするlost updateだけ
今回の更新対象は別行であり、同一行の更新消失とは違う。
D
未COMMITの値を読むdirty read
各処理はスナップショットを読み、未確定データを読んだという条件ではない。
解説
別々の行を更新しても、読んだ条件を組み合わせると不正になる場合がある。直列化や共通資源のロック等で業務条件を守る。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験/シラバスVer.7.2・科目A/B表記
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。
同じレッスンの問題
問題 1
関係R(A,B,C,D)の関数従属性はA→B、B→C、C→Aだけで、これらから導けるもの以外の非自明な従属性はない。候補キーの組はどれか。
問題 2
関係R(A,B,C)をR1(A,B)とR2(B,C)へ分解する。B→Cが成立し、共通属性BがR2のキーになる。この分解の説明はどれか。
問題 3
PostgreSQL 16のREAD COMMITTEDで、同じトランザクション内で同じSELECTを2回実行する。間に別トランザクションが対象行を変更してCOMMITした。2回目について適切なのはどれか。
問題 5
得点100,90,90,80の4行にRANK() OVER(ORDER BY score DESC)を付ける。得点順の順位はどれか。