問題
データベースのトランザクションが満たすべき特性であるACID特性の説明として、適切なものはどれか。
ア)原子性(Atomicity)とは、トランザクション実行後もデータベースの整合性制約が保たれることを指す。
イ)一貫性(Consistency)とは、トランザクション内の一連の処理がすべて実行されるか、まったく実行されないかのいずれかであることを指す。
ウ)独立性(Isolation)とは、複数のトランザクションを同時実行しても、それぞれが単独で実行された場合と同じ結果になることを指す。
エ)永続性(Durability)とは、トランザクションの実行中に他のトランザクションから中間状態が参照できることを指す。
解答・解説を見る
正解: ウ)
解説:
- ア)「トランザクション実行後もデータベースの整合性制約が保たれる」のは一貫性(Consistency)の説明です。原子性の説明として誤りです。
- イ)「すべて実行されるか、まったく実行されないか」のオール・オア・ナッシングの性質は原子性(Atomicity)の説明です。一貫性の説明として誤りです。
- ウ)独立性(Isolation)は、複数のトランザクションが並行して実行されても、それぞれが単独で(順番に)実行された場合と同じ結果が保証される性質です。正解です。
- エ)永続性(Durability)は、コミットされたトランザクションの結果が障害が発生しても失われず、恒久的に保存されることを指します。「中間状態が参照できる」という記述は独立性の違反(分離レベルの問題)に関する内容であり、永続性の説明として誤りです。
重要キーワード
| 用語 | 説明 |
|---|---|
| 原子性(Atomicity) | 処理が全実行かゼロ実行かのいずれかである性質 |
| 一貫性(Consistency) | 実行前後で整合性制約が保たれる性質 |
| 独立性(Isolation) | 並行実行しても単独実行と同じ結果になる性質 |
| 永続性(Durability) | コミット結果が障害後も失われない性質 |