DBMSにおいて,複数のトランザクション処理プログラムが同一データベースを同時に更新する場合,論理的な矛盾を生じさせないために用いる技法はどれか。
同時更新の矛盾はロックによる排他制御で防ぐ
選択肢
- ア再編成
- イ正規化
- ウ整合性制約
- エ排他制御
正解と解説
正解:エ 排他制御
複数のトランザクションが同じデータを同時に更新すると、一方の更新がもう一方に上書きされるなどの矛盾が生じる。これを防ぐため、更新中のデータに施錠して他からの操作を待たせる仕組みが排他制御である。ロックの粒度や共有ロック・専有ロックの使い分けによって、矛盾を防ぎつつ並行性をなるべく損なわないよう調整する。
選択肢ごとの解説
- ア断片化などで低下した性能を回復させるための格納構造の作り直しであり、同時更新の制御ではない。
- イ重複や更新時異常を防ぐようにテーブル設計を整える手法で、実行時の同時更新制御とは別である。
- ウデータの値や関連が満たすべき条件を宣言するもので、同時実行の順序制御は行わない。
- エ正解。更新中のデータをロックして他のトランザクションを待たせ、矛盾を防ぐ技法である。
同じ分野の他の問題
- DBMSに実装すべき原子性(atomicity)を説明したものはどれか。2024年度 公開問題 科目A 問7
- トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果…2023年度 公開問題 科目A 問7
- ディスク障害時に、フルバックアップを取得してあるテープからディスクにデータを復元した後、フルバックアップ取得時以降の更新…2019年度 春期 午前 問57
- 2相ロッキングプロトコルに従ってロックを獲得するトランザクションA、Bを図のように同時実行した場合に、デッドロックが発生…2019年度 秋期 午前 問29
- 一つのトランザクションはトランザクションを開始した後、五つの状態(アクティブ、アボート処理中、アボート済、コミット処理中…2019年度 秋期 午前 問28
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。