ホーム > データベーススペシャリスト試験 > 2017年
データベーススペシャリスト試験 2017年 午前2 問16
トランザクションのACID特性の説明として, 適切なものはどれか。
ア:トランザクションでは, 実行すべき処理が全て行われるか, 何も処理が行われないかという状態の他に, 処理の一部だけが行われるという状態も発生する。
イ:トランザクションの実行完了後でも障害の発生によって実行結果が失われることがある。
ウ:トランザクションの実行の結果が矛盾した状態になることはない。(正解)
エ:トランザクションは相互に関連しており、同時に実行される他のトランザクションの影響を受ける。
解説
トランザクションのACID特性の説明として, 適切なものはどれか。【午前2 解説】
要点まとめ
- 結論:トランザクションの実行結果が矛盾した状態になることはない(ウ)が正解です。
- 根拠:ACID特性はAtomicity(一貫性)、Consistency(整合性)、Isolation(独立性)、Durability(永続性)を保証し、データの矛盾を防ぎます。
- 差がつくポイント:処理の一部だけが行われる状態や障害による結果の消失はACIDの原則に反し、他の選択肢は誤りです。
正解の理由
トランザクションのACID特性の中で特にConsistency(整合性)は、トランザクションの実行結果が常にデータベースの整合性ルールを満たし、矛盾した状態にならないことを保証します。したがって「トランザクションの実行の結果が矛盾した状態になることはない」という説明はACIDの本質を正しく表しています。
よくある誤解
トランザクションは「処理の一部だけが行われる」ことを許容しません。また、障害があっても実行結果が失われることはACIDのDurabilityで防がれます。これらを誤解するとACIDの理解が不十分になります。
解法ステップ
- ACID特性の4つの要素(Atomicity, Consistency, Isolation, Durability)を確認する。
- 各選択肢がどの特性に該当するかを考える。
- Atomicityは「全て実行されるか全く実行されないか」を保証し、一部だけの実行は認めない。
- Durabilityは障害後も結果が失われないことを保証する。
- Consistencyは実行結果が矛盾しないことを保証する。
- Isolationはトランザクション間の干渉を防ぐが、関連しているとは限らない。
- これらを踏まえ、正しい説明を選ぶ。
選択肢別の誤答解説
- ア: トランザクションは「処理の一部だけが行われる」状態を許容しません。Atomicityに反します。
- イ: 障害があっても実行結果が失われないのがDurabilityの役割です。誤りです。
- ウ: トランザクションの実行結果が矛盾しないことを保証するため正解です。
- エ: トランザクションは独立して実行されるべきで、相互に関連して影響を受けることはIsolationの観点から誤りです。
補足コラム
ACID特性はデータベーストランザクションの信頼性を支える基本原則です。特にConsistencyは、トランザクションが開始前後でデータベースの整合性制約を必ず満たすことを意味し、これによりデータの矛盾を防ぎます。Isolationは複数トランザクションの同時実行時の干渉防止を指し、Durabilityは障害後も結果を保持することを保証します。
FAQ
Q: トランザクションのAtomicityとは何ですか?
A: Atomicityは「全ての処理が完了するか、全く処理されないか」のどちらかであることを保証します。
A: Atomicityは「全ての処理が完了するか、全く処理されないか」のどちらかであることを保証します。
Q: 障害が発生した場合、トランザクションの結果はどうなりますか?
A: Durabilityにより、障害発生後もコミット済みの結果は失われません。
A: Durabilityにより、障害発生後もコミット済みの結果は失われません。
Q: トランザクションは他のトランザクションの影響を受けますか?
A: Isolationにより、基本的に他のトランザクションの影響を受けず独立して実行されます。
A: Isolationにより、基本的に他のトランザクションの影響を受けず独立して実行されます。
関連キーワード: トランザクション, ACID特性, Atomicity, Consistency, Isolation, Durability, データベース整合性, 障害耐性