修了試験 2011-12-18実施分 基本情報技術者試験 問33
データベースシステムにおいて,複数のトランザクション処理プログラムが同一データベースを同時に更新する場合,論理的な矛盾を生じさせないために用いる技法はどれか。
正答4
解説
正解は4です。 複数のトランザクションが同じデータを同時に更新すると、一方の更新が失われるなどの矛盾が起こります。 これを防ぐため、データにロックをかけて同時アクセスを制御する技法が排他制御です。 【選択肢別解説】 1:× 再編成は、追加や削除の繰返しで断片化した格納領域を整理し、アクセス効率を回復する作業です。 同時更新の矛盾を防ぐ技法ではありません。 2:× 正規化は、データの重複をなくすように表を分割する設計手法です。 同時に実行されるトランザクションの制御とは関係ありません。 3:× 整合性制約は、一意性制約や参照制約のように、データが満たすべき規則を定める仕組みです。 同時更新による更新の消失などは防げません。 4:○ 排他制御は、あるトランザクションが使っているデータをロックし、ほかのトランザクションの更新を待たせる技法です。 これにより、同時更新による矛盾を防ぎます。 【ポイント】 排他制御のロックには、読取り用の共有ロックと、更新用の専有ロックがあります。 ロックの取り合いでお互いが待ち続けるデッドロックもあわせて押さえましょう。まとめて解く
修了試験 2011-12-18実施分を通しで解く(80問)→