数据库基础-事务
事物的简介
事务是一组操作的集合,它是一个不可分割的工作单位(具有原子性),事务会把所有的操作作为一个整体向系统提交或撤回操作请求,即这些事务中的任意一环节操作失败均会使已完成操作全部撤回,只有所有操作均成功,该事务才成功。
事务的四大特性ACID
1.原子性(Atomicity)
事务是不可分割的最小操作单元,事务中的所有操作要么全部成功,要么全部失败。
2.一致性(Consistency)
事务在完成时,所有数据都必须保持一致的状态(即要么数据变为完成状态,要么失败保持原状态)。
3.隔离性(Isolation)
数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
4.持久性(Durability)
事务一旦提交或回滚,它对数据库中的数据的改变将是持久的。
并发执行事务存在的问题
1.脏读
一个事务读到另一个事务还没有提交的数据。
2.不可重复读
一个事务先后读取同一条记录,但两次读取的数据不同的现象。
3.幻读
一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了幻影。