事务的四个特性
ACID
原子性(Atomic):事务要么被完全执行,要么根本没有执行
一致性(Consistent):事务维护数据库的一致性
隔离性(Isolated):事务集合的并发执行与某个顺序执行的效果一致
持久性(Durable):事务提交后的效果是永久记录在数据库中的。
相信概念上的东西都很容易让你背下来,但是在真正的数据库设计中,靠脑子里的条条框框并不能实际解决问题,反而会影响到设计。
那么应该如何去学习一些计算机的原理概念呢?当然是加上一些简单的例子去理解去融入自己学到的原理内容啦!
针对上面的四个事务特性,在现实的生活中,存在着很多的例子。可以提出些问题,为什么数据库需要拥有事务,事务能解决现实中在计算机世界里模拟出现的什么问题呢?使用事务能保证现实世界的模型能在计算机世界中与现实的一致!
一个能被称为事务的程序,是拥有这四个特性来区别于其他普通的程序的。好比一个人到银行存款,万一这个过程中,计算机并没有把你所存的钱的金额更新到数据中,这就造成了与现实世界的状态不一致性,就会导致很多事故(哭爹骂娘的事就会多了,谁还敢去存钱),考虑一下,如果是一般的程序怎么处理呢?可能就是拿到你需要存的钱,更新到数据中,返回一个金额给你。但是这个过程并没有特别的硬性要求这个过程该如何如何!
所以,在一个普通的程序处理要成为一个带有事务性质的过程,就要拥有事务的四个特性了!这样,就是这个过程,必须去满足这四个要求才能谓之执行的结果是成功的正确的。缺失其中一环都会回滚操作,要求重新再来!