SkillStack
テクノロジ系14 / 25問

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

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】イ

共有ロックは主にデータの読出しに用いられ、他の共有ロックとは共存できますが、同じ対象を更新する専有ロックとは共存できません。XがA表の行aに共有ロックを掛けている状態で、YがA表全体に専有ロックを掛けると、その専有ロックの対象には行aも含まれます。そのため、二つのロックは競合し、YはA表の専有ロックを獲得できません。複数粒度ロックでは、行ロックを取得する際に表へ意向ロックを設定し、表全体への競合するロックを検出できるようにします。

アの記述は誤りです。行aの共有ロックと、別の行bの専有ロックは対象が異なるため、通常は共存できます。行ロックは表内の全行を一律にロックするものではありません。

ウの記述は誤りです。A表への共有ロックは表全体の読出しを保護するロックです。同じA表への専有ロックとは競合するため、Yは獲得できません。

エの記述は誤りです。A表への専有ロックは表全体を排他的に保護し、その中の行aも対象に含みます。したがって、Yが行aへの専有ロックを重ねて獲得することはできません。

【ポイント】 共有ロック同士は共存できますが、同じ対象に対する共有ロックと専有ロック、及び専有ロック同士は共存できません。 表ロックと行ロックでは、ロック対象の包含関係も確認します。表全体のロックは表内の各行にも影響します。

出典:令和3年度 秋期 データベーススペシャリスト試験 午前II 問14
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める