平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13
テクノロジ/データベースDBMSの排他制御機能に関する記述のうち,適切なものはどれか。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13
- ア排他制御機能によって,同時実行処理でのデータの整合性を保つことができる。
- イ排他制御機能の使用によって,デッドロックを防止できる。
- ウ排他制御はDBMSが自動的に行い,アプリケーションプログラムからロック,アンロックの指示はできない。
- エバッチによる更新処理では排他制御を行う必要はない。
正解:ア
解説
排他制御(ロック)機能は,複数のトランザクションが同一データに対して同時に更新を行うことによる不整合を防ぎ,同時実行処理下でもデータの整合性を保つための仕組みです。ただし,複数の資源に対するロックの獲得順序によってはデッドロックが発生し得るため,排他制御自体がデッドロックを防止するわけではありません。
選択肢ごとの解説
- ア正しい。排他制御機能によって,複数のトランザクションが同時に実行されてもデータの整合性を保つことができる。
- イ誤り。排他制御機能を使用していても,ロックの獲得順序によってはデッドロックが発生し得るため,デッドロックを防止できるわけではない。
- ウ誤り。多くのDBMSでは,SQLのロック指示文などを通じて,アプリケーションプログラムが明示的にロック・アンロックを指示することもできる。
- エ誤り。バッチによる更新処理であっても,他の処理と並行して同一データを更新する可能性がある場合には,整合性を保つために排他制御が必要である。