第7問
次のデータベースの動作に関する記述について、空欄A~Dに入る最も適切な用 語の組み合わせを下記の解答群から選べ。 ネットワーク上で稼働するデータベースシステム(DB システム)では、複数の ユーザがDB システムに同時にアクセスし、同じデータの更新を行おうとする事態 などが発生する可能性がある。このような不都合の発生を防止するため、あるユー ザがアクセス中のデータについては別のユーザからのアクセスを制限する A と呼ばれる仕組みがある。この仕組みの中の占有ロック方式は、アクセ ス中のデータに別のユーザが B 、更新、削除、 C 、 D が できないようにする仕組みである。一方、共有ロック方式は、アクセス中のデータ に別のユーザが更新、削除、 D ができないようにする仕組みである。
- ア A:トランザクション制御 B:占有ロック C:照会 D:共有ロック
- イ A:トランザクション制御 B:占有ロック C:デッドロック D:照会
- ウ A:排他制御 B:照会 C:共有ロック D:占有ロック
- エ A:排他制御 B:デッドロック C:照会 D:共有ロック ― 8― ◇M6(023―139)
▼ 解答・解説を見る
正解:ウ
解答:ウ
データベースの同時アクセス制御(排他制御)に関する問題。複数ユーザが同一データを同時更新する不都合を防ぐ仕組みがA=排他制御である。
占有ロック(専有ロック)は最も強いロックで、自分が確保している間、他ユーザは照会(読み取り)・更新・削除・共有ロック・占有ロックのすべてができない。共有ロックは読み取り中に他者の読み取り(共有ロック)は許すが、更新・削除・占有ロックはできない。したがってB=照会、C=共有ロック、D=占有ロックとなる(共有ロック方式では更新・削除・占有ロックDができない)。
- ア(×):Aのトランザクション制御は処理のまとまりの整合性管理を指す広い概念で、データへのアクセス制限の仕組みの名称としては排他制御が適切。Bの占有ロックも本文の「別のユーザが~できないようにする」対象として整合しない。
- イ(×):Aが不適。さらにCのデッドロックは複数ロックが互いに待ち合って進めない状態を指す異常現象であり、ここで「できないようにする操作」として並ぶ語ではない。
- ウ(○):A=排他制御、B=照会、C=共有ロック、D=占有ロック。占有ロックは照会・更新・削除・共有ロック・占有ロックを禁止し、共有ロックは更新・削除・占有ロックを禁止するという本文と整合する。
- エ(×):Bのデッドロックは操作名ではなく異常状態の名称であり、別ユーザの行為として列挙する語として不適。
よって ウ。