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

平成24年度 秋期 午前Ⅱ 問22

データベース

排他制御に関する問題

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

答えと解説を見る

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

解説

行に共有ロックがあれば、他者は表全体の専有ロックを獲得できません。

ロックは、掛ける範囲(行か表か)と種類(共有か専有か)の組で考えます。共有ロック同士は両立しますが、専有ロックはほかのどのロックとも両立しません。また、表に対するロックは、その表に含まれる全ての行に及ぶものとして扱われます。X が A 表の行 a に共有ロックを掛けているとき、Y が A 表全体に専有ロックを掛けると、その範囲に行 a も含まれ、行 a の共有ロックとぶつかります。そのため Y は A 表への専有ロックを獲得できません。見分ける軸は、二つのロックの範囲が重なるかどうかと、重なった部分で種類が両立するかどうかです。範囲が重ならなければ両立、重なれば共有同士だけが両立と覚えると判断できます。

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

この問題の用語

出典:平成24年度 秋期 システムアーキテクト試験 午前Ⅱ 問22

同じ用語が出る問題

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