令和元年度秋期 応用情報技術者試験 午前 問28

分野:データベース|実際に出題されたIPA過去問題

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

  1.  X が A 表内の特定行 a に対して共有ロックを獲得しているときは,Y は A 表内の別の特定行 b に対して専有ロックを獲得することができない。
  2.  X が A 表内の特定行 a に対して共有ロックを獲得しているときは,Y は A 表に対して専有ロックを獲得することができない。
  3.  X が A 表に対して共有ロックを獲得しているときでも,Y は A 表に対して専有ロックを獲得することができる。
  4.  X が A 表に対して専有ロックを獲得しているときでも,Y は A 表内の特定行 a に対して専有ロックを獲得することができる。
解答・解説を見る

正解:イ

AI解説

共有ロック(Sロック)は複数トランザクションが同時に取得でき読み取りの並行性を保つが、専有ロック(排他ロック、Xロック)を取得するには対象に他のロックが存在しないことが必要である。表単位のロックの場合、Xが表全体に対して共有ロックを持っていれば、Yはその表に対して専有ロックを獲得できない。 ア: Xが特定行aに共有ロックを持っていても、Yが別の特定行bに専有ロックを獲得することは通常可能であり、この記述は誤りである(行レベルロックでは競合しない別行への排他ロックは可能)。 イ: Xが表内の特定行aに共有ロックを獲得している場合、Yがその表全体に対して専有ロックを獲得しようとすると、Xの行ロックと競合するため獲得できず、この記述は正しく正解である。 ウ: Xが表全体に対して共有ロックを獲得している場合、Yが同じ表全体に対して専有ロックを獲得することはロックの互換性上できないため、この記述は誤りである。 エ: Xが表全体に対して専有ロックを獲得している場合、Yがその表内の特定行に専有ロックを獲得することは、表全体の排他ロックと競合するためできず、この記述は誤りである。 💡 ロックの互換性は「共有ロック同士は共存できるが、専有ロックは他のいかなるロックとも共存できない」という基本原則で判断し、表ロックと行ロックの粒度の違いにも注意する。

出典:令和元年度 秋期 応用情報技術者試験 午前 問28 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース)の過去問