次のうち、DBMS (Database Management System) のトランザクションに関する説明として最も適切なものはどれか。
① トランザクションの実行中にソフトウェア障害が発生すると、データベースの一貫性が失われてしまい回復できない。
② トランザクションの開始は製品によって異なり、必ずしも BEGIN により始められるわけではない。
③ トランザクションの COMMIT により、全てのデータ操作が取り消される。
④ トランザクションを ROLLBACK すると、その時点までのデータ操作が部分的にデータベースに反映され、一貫性が保たれる。
⑤ トランザクションを複数同時に実行する場合、データベースの一貫性を保つようにする手段はない。
②
トランザクション処理においてはACID特性が求められる。
Atomicity (原子性):トランザクション処理が「全て実行される」か「一つも実行されないか」のどちらかになることを保証する。
Consistency (一貫性):トランザクションの前後で、データに矛盾が無く整合性が保たれることを保証する。
Isolation (独立性):同時に処理されている他のトランザクションに影響を受けず、また、他の処理に影響を与えないことを保証する。
Durability (永続性):トランザクションが完了したらデータベースに記録され、結果が失われることが無いことを保証する。
① 原子性に反するので間違い。
② 正しい。JDBC (Java DataBase Connectivity) などのように、トランザクションの開始指示を必要としない製品がある。
③ トランザクションの COMMIT により、全てのデータ操作が実行される。
④ トランザクションの ROLLBACK により、全てのデータ操作が取り消される。
⑤ 複数同時に実行する場合、独立性により一貫性が保たれる。
Ⅰ-14 | 目次 | Ⅰ-16 |