RDBMSにおける共有ロックと専有ロックの排他制御

データベースの排他制御におけるロックの基本ルールは次の通りです: ・共有ロック(Sロック):データの読み取り時に獲得。他トランザクションによる共有ロックの共存は可能だが、専有ロックは獲得できない。 ・専有ロック(Xロック):データの更新時に獲得。他トランザクションによる共有ロックおよび専有ロックのいずれも獲得できない。 トランザクション $X$ が表 $A$ 内の特定行 $a$ に共有ロックを保持している場合、表 $A$ には意図共有ロック(IS)等の階層的ロックがかかっています。トランザクション $Y$ が表 $A$ 全体に対して専有ロックを獲得しようとすると、行 $a$ に対する共有ロックと衝突(コンフリクト)するため獲得できません。 行単位ロックの場合、行 $a$ にロックがかかっていても、互いに独立した別の行 $b$ に対する専有ロックの獲得は妨げられません。 $X$ が表 $A$ に対して共有ロックを保持している資源に対して、$Y$ が表 $A$ に専有ロックを獲得することはできません(共有ロックと専有ロックは両立しません)。 $X$ が表 $A$ 全体に専有ロックを獲得している場合、表 $A$ 内のすべての行が排他制御の対象となるため、別のトランザクション $Y$ は行 $a$ に対する専有ロックを獲得できません。

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

出典令和元年 秋期 応用情報技術者試験 午前 問28
ア
XがA表内の特定行aに対して共有ロックを獲得しているときは,YはA表内の別の特定行bに対して専有ロックを獲得することができない。
イ
XがA表内の特定行aに対して共有ロックを獲得しているときは,YはA表に対して専有ロックを獲得することができない。
ウ
XがA表に対して共有ロックを獲得しているときでも,YはA表に対して専有ロックを獲得することができる。
エ
XがA表に対して専有ロックを獲得しているときでも,YはA表内の特定行aに対して専有ロックを獲得することができる。