過去問解きまくり研究所 ホーム

令和3年度 秋期 午前Ⅱ 問14

トランザクション処理

排他制御に関する問題

RDBMS のロックに関する記述のうち,適切なものはどれか。ここで,X,Y はトランザクションとする。

答えと解説を見る

✓ これが正解イX が A 表内の特定行 a に対して共有ロックを獲得しているときは,Y は A 表に対して専有ロックを獲得することができない。

解説

行 a に共有ロックがある間は、その行を含む表全体の専有ロックは取れません。

表全体へのロックと表内の行へのロックは、表が行を含むという関係を踏まえて両立するかが判断されます。X が A 表の行 a に共有ロックを掛けているということは、A 表の一部が読まれている最中だということです。ここで Y が A 表全体に専有ロックを掛けると、行 a を含む表全体を Y が更新できる状態になり、X の共有ロックと衝突します。そのため Y は、X がロックを解除するまで A 表への専有ロックを獲得できません。DBMS は行にロックを掛けるとき表にも目印となるロックを置き、表単位の要求との衝突をすばやく判定します。共有ロックどうしは両立し、専有ロックはどの相手とも両立しない、という基本に、表は行を含むという関係を重ねて判断するのが解き方です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問14

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)