基本概念
数据库事务是什么?
- 数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做,要么全部做,是一个不可分割的工作单元。
- 事务的开始与结束可以由用户显示的控制。如果用户没有显式地定义事务,则由DBMS按照默认的规定自动划分事务。事务分为 原子性、一致性、独立性 及 持久性 等特点。
事务的基本要素?
原子性:
事务必须是原子工作单元。对数据的修改要么都执行,要么都不执行。
一致性:
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
独立性:
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。
持久性:
事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
脏读、幻读、不可重复读?
脏读
就是A事务访问了数据库,还没进行修改,B事务也访问了数据库,并且已经做了修改。
幻读
是指当事务不是独立执行时发生的一种现象。 A事务修改表中所有数据,而B事务插入一条新数据,而这条新数据就没有