ア:整合性の取れたデータベースに対して, トランザクション実行後も整合性が取れている性質である。(正解)
イ:同時実行される複数のトランザクションは互いに干渉しないという性質である。
ウ:トランザクションは、完全に実行が完了するか、全く実行されなかったかの状態しかとらない性質である。
エ:ひとたびコミットすれば, その後どのような障害が起こっても状態の変更が保たれるという性質である。
解説
トランザクションのACID特性のうち、一貫性(consistency)の説明はどれか【午前2 解説】
要点まとめ
- 結論:一貫性とは、トランザクション実行後もデータベースの整合性が保たれる性質です。
- 根拠:トランザクションは開始前後でデータベースのルールや制約を満たし続ける必要があります。
- 差がつくポイント:一貫性は「整合性の維持」であり、同時実行制御や障害耐性とは異なる点を理解しましょう。
正解の理由
選択肢アは「整合性の取れたデータベースに対して、トランザクション実行後も整合性が取れている性質」とあり、ACID特性の一貫性(Consistency)を正確に表現しています。トランザクションはデータベースの制約(例:外部キー制約、ドメイン制約)を破らず、常に正しい状態を保つことが求められます。これが一貫性の本質です。
よくある誤解
一貫性を「同時実行制御」や「障害耐性」と混同しやすいですが、それらは独立したACID特性(独立性・耐久性)です。
解法ステップ
- ACID特性の4つ(Atomicity, Consistency, Isolation, Durability)を確認する。
- 一貫性(Consistency)は「データの整合性維持」に関する性質と理解する。
- 選択肢の説明文を「整合性が保たれるかどうか」で比較する。
- 「整合性維持」を正しく説明している選択肢を選ぶ。
選択肢別の誤答解説
- ア: 正解。トランザクション後もデータベースの整合性が保たれる性質を正しく説明。
- イ: 誤り。これは「独立性(Isolation)」の説明であり、一貫性とは異なる。
- ウ: 誤り。これは「原子性(Atomicity)」の説明で、トランザクションの全か無かの性質を示す。
- エ: 誤り。これは「耐久性(Durability)」の説明で、コミット後のデータ保持に関するもの。
補足コラム
ACID特性はトランザクション処理の信頼性を保証する基本原則です。特に一貫性は、ビジネスルールや制約を守るために不可欠であり、データベース設計時に制約条件を正しく設定することが重要です。
FAQ
Q: 一貫性と独立性はどう違いますか?
A: 一貫性は「データの整合性維持」、独立性は「複数トランザクションの干渉防止」を指します。
Q: 一貫性はトランザクションのどの段階で保証されますか?
A: トランザクション開始前と終了後の両方でデータベースの整合性が保たれることを保証します。
関連キーワード: トランザクション, ACID特性, 一貫性, 整合性, データベース制約, 原子性, 独立性, 耐久性