SC情報処理安全確保支援士試験 午前Ⅱ

平成21年度春期 情報処理安全確保支援士 午前Ⅱ 問17

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

DBMSの排他制御機能に関する記述のうち、 適切なものはどれか。

選択肢

  1. ア
    排他抽御機能によって同時実行処理でのデータの和整合性を保つことができる。
  2. イ
    排他制御機能の使用によって、 デッドロックを防止できる。
  3. ウ
    排他制御はDBMSが自動的に行い。アプリケーションプログラムからロック、 アンロックの指示はできない。
  4. エ
    バッチによる更新処理では排他制御を行う必要はない。
解き方のヒントを見る

複数人が同時に同じデータを書き換えて、データがめちゃくちゃになるのを防ぐ

データベースの「排他制御(ロック)」は、2人が同時に同じデータを書き換えようとした時に、データが壊れたり矛盾したりしないように、片方が書き終わるまで一時的に「使用中(ロック)」にしてデータを守る仕組みだよ。

この問題で問われていること

排他制御の最大の目的は「デッドロックを防ぐこと」ではなく、「同時に処理(アクセス)されたときに、データのつじつま(整合性)を正しく保つこと」であることを理解しよう。

排他制御の目的

同じデータを複数処理が同時に更新すると更新消失や矛盾が起こり得ます。排他制御はこれを防ぐために使いますが、デッドロックは逆に発生し得ます。

同時更新\n-> 不整合の恐れ\nロック等で整合性を維持

確認ポイント

  • 排他制御を使ってもデッドロックは起こり得ます。
  • アプリケーションからロック指示を出せる DBMS もあります。
  • 同時実行時の整合性保持を述べる選択肢を選びます。
正解と解説を見る

正解

ア

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア(正解)

正解だよ。排他制御は、同じデータを同時に書き換えて壊れないようにする仕組みだよ。たとえば銀行口座の残高を、2つの窓口で同時に更新したら計算が混ざるかもしれないよね。そこで“今この人が更新中だから、他の人は少し待ってね”と鍵をかけることで、データの整合性を保てるんだ。

選択肢イ

不正解だよ。排他制御は、共有ノートを誰かが書いている間は他の人が勝手に書き換えないようにする“鍵”みたいなもの。でも、Aさんが部屋1の鍵を持って部屋2待ち、Bさんが部屋2の鍵を持って部屋1待ち、みたいにお互い待ち続けるデッドロックは起こり得るんだ。だから、排他制御を使えば必ず防げる、とは言えないよ。

選択肢ウ

不正解だよ。DBMSが自動でロックしてくれる場面は多いけれど、アプリケーション側からロックの取り方を指定できる場合もあるよ。たとえば窓口係に任せるだけでなく、“この書類は今から自分が確認するから予約しておいて”と明示する感じだね。だから、アプリからロックやアンロックの指示はできない、とは言い切れないよ。

選択肢エ

不正解だよ。バッチ処理でもデータを更新するなら排他制御は必要になるよ。夜間にまとめて在庫を書き換える係がいても、別の処理が同じ在庫を触っていたら数字がズレるかもしれないよね。人が少ない時間でも、同じ帳簿を複数人で触る可能性があるなら鍵は必要、というイメージだよ。

出典:独立行政法人 情報処理推進機構(IPA)平成21年度春期 情報処理安全確保支援士試験 午前Ⅱ 問17(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針