原子性
原子性要求事务是一个不可分割的操作单元,要么完全执行,要么完全不执行。
这意味着如果事务中的任何一部分操作失败,整个事务都会被回滚到初始状态,以保持数据的一致性。
原子性确保了数据库在并发操作中的数据完整性。
一致性
一致性确保事务将数据库从一个一致性状态转变为另一个一致性状态。
这意味着事务在执行前后必须遵守预定义的业务规则,以确保数据的完整性。
如果事务执行成功,数据库状态应该符合事务执行后的预期状态。
隔离性
隔离性定义了多个并发事务之间的相互隔离程度。
它确保一个事务的执行不会受到其他并发事务的影响。
高度隔离的事务可以减少并发操作引发的问题,但也可能导致性能下降。
SQL标准定义了四种隔离级别:读未提交(Read Uncommitted)、读提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。
持久性
持久性要求一旦事务成功提交,其结果应该永久保存在数据库中,即使系统故障或重启后也不应丢失。
通常,数据库系统通过将事务日志持久化到磁盘来实现持久性。