令和元年度 秋期 応用情報技術者試験 午前 問28
テクノロジ/データベースRDBMS のロックに関する記述のうち,適切なものはどれか。ここで,X,Y はトランザクションとする。
出典:令和元年度 秋期 応用情報技術者試験 午前 問28
- アX が A 表内の特定行 a に対して共有ロックを獲得しているときは,Y は A 表内の別の特定行 b に対して専有ロックを獲得することができない。
- イX が A 表内の特定行 a に対して共有ロックを獲得しているときは,Y は A 表に対して専有ロックを獲得することができない。
- ウX が A 表に対して共有ロックを獲得しているときでも,Y は A 表に対して専有ロックを獲得することができる。
- エX が A 表に対して専有ロックを獲得しているときでも,Y は A 表内の特定行 a に対して専有ロックを獲得することができる。
正解:イ
解説
共有ロック同士は両立しますが,共有ロックと専有ロック,専有ロック同士は両立しません。また,表の一部の行にロックが掛かっていると,その表全体に対する専有ロックは獲得できません(表ロックは含まれる全行に影響するため)。ロックの粒度が異なる場合の両立性がポイントです。
選択肢ごとの解説
- ア誤り。行 a と行 b は別々の資源なので,行 a に対する共有ロックは行 b に対する専有ロックの獲得を妨げません。
- イ正しい。行 a に共有ロックが掛かっている状態では,その行を含む A 表全体に対する専有ロックは両立しないため獲得できません。
- ウ誤り。A 表に共有ロックが掛かっているとき,同じ表に対する専有ロックは両立しないので獲得できません。
- エ誤り。A 表全体に専有ロックが掛かっていれば,その表に含まれる特定行に対する専有ロックも獲得できません。