ホーム > データベーススペシャリスト試験 > 2018年
データベーススペシャリスト試験 2018年 午前2 問18
DBMSに実装すべき原子性(atomicity)を説明したものはどれか。
ア:同一データベースに対する同一処理は、何度実行しても結果は同じである。
イ:トランザクション完了後にハードウェア障害が発生しても、更新されたデータベースの内容は保証される。
ウ:トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかである。(正解)
エ:一つのトランザクションの処理結果は、他のトランザクション処理の影響を受けない。
解説
DBMSに実装すべき原子性(atomicity)の説明【午前2 解説】
要点まとめ
- 結論:原子性とはトランザクション内の処理が全て実行されるか全て取り消されるかのどちらかであることです。
- 根拠:これはデータベースの一貫性を保つために不可欠な性質で、部分的な処理の反映を防ぎます。
- 差がつくポイント:原子性と混同しやすい他のACID特性(整合性、一貫性、独立性)との違いを正確に理解することが重要です。
正解の理由
選択肢ウ「トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかである。」は、原子性の定義そのものです。
原子性は「すべてか無か」の性質であり、トランザクションの途中で障害が発生しても、処理が中途半端に反映されることを防ぎます。
これによりデータの整合性が保たれ、信頼性の高いデータベース運用が可能になります。
原子性は「すべてか無か」の性質であり、トランザクションの途中で障害が発生しても、処理が中途半端に反映されることを防ぎます。
これによりデータの整合性が保たれ、信頼性の高いデータベース運用が可能になります。
よくある誤解
原子性は「結果が同じになること」や「他の処理の影響を受けないこと」と混同されやすいですが、これらはそれぞれ別のACID特性に該当します。
解法ステップ
- 問題文の「原子性(atomicity)」の意味を確認する。
- ACID特性の4つ(Atomicity, Consistency, Isolation, Durability)を思い出す。
- 各選択肢がどのACID特性に該当するかを分類する。
- 原子性に該当する説明を選ぶ。
- 選択肢ウが原子性の定義と一致することを確認し、正解とする。
選択肢別の誤答解説
- ア: 「同一処理は何度実行しても結果が同じ」は冪等性の概念であり、原子性とは異なります。
- イ: 「トランザクション完了後の障害でも更新内容が保証される」は耐久性(Durability)に関する説明です。
- ウ: 「全て実行されるか全て取り消されるか」は原子性の正確な定義です。
- エ: 「一つのトランザクションの結果が他に影響されない」は独立性(Isolation)に関する説明です。
補足コラム
原子性はACID特性の一つで、トランザクション処理の信頼性を支える重要な要素です。
トランザクションが途中で失敗した場合、DBMSはロールバック機能を使って処理前の状態に戻します。
これにより、データの不整合や破損を防ぎます。
トランザクションが途中で失敗した場合、DBMSはロールバック機能を使って処理前の状態に戻します。
これにより、データの不整合や破損を防ぎます。
FAQ
Q: 原子性と耐久性はどう違いますか?
A: 原子性は処理が全て完了するか全て取り消されるかの性質で、耐久性は完了した処理結果が障害後も保持されることを指します。
A: 原子性は処理が全て完了するか全て取り消されるかの性質で、耐久性は完了した処理結果が障害後も保持されることを指します。
Q: 原子性が保証されないとどうなりますか?
A: トランザクションの途中で障害が起きた場合に、部分的な更新が残りデータの整合性が崩れる恐れがあります。
A: トランザクションの途中で障害が起きた場合に、部分的な更新が残りデータの整合性が崩れる恐れがあります。
関連キーワード: 原子性, トランザクション, ACID特性, DBMS, ロールバック, データベース整合性