事物的其他三个特点很好理解原子性(atomicity)、隔离性(isolation)、持久性(durability),但是网上对一致性(consistency)解释的都很宽泛
官方解释:事务必须是使数据库从一个一致性状态变到另一个一致性状态。
网络上的解释:一般用银行转账举例,一个人多了100元,一个人少了100元,前后总数没有变。
我的理解:一致性是两种事物或两种状态比较才能称为一致或不一致,单个物体不能称为一致性,
官方的解释是数据库具有一致性,而不是数据库被操作前后具有一致性,是不是用”一致性“去翻译”consistency“是错误的,误导了对”consistency“的理解;
网络上解释的一致性指的是数据库操作前后保持一致(类似于能量守恒),但是如果是跨行转账,那对于每个银行的数据库是不是都破坏了一致性,还有当我们执行单条sql语句,增删改都破坏了数据库的一致性,只有查询保证了事务的所有特点,或者说单条sql语句不属于事务。
引发的问题:
1.到底什么是事务的一致性?
2.事务和数据库的关系?
3.是满足四个特点的sql语句组都可以称为事务 还是 不管一条或多条sql都称为事务?
4.如果单条sql语句能称为事务,那增删改是否破坏了事务的一致性。