For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
事务是程序员在学习数据库架构开发的时候需要重点掌握的一个概念,下面我们就通过案例分析来简单了解一下,数据库事务概念与特性分析。
事务是由一组SQL语句组成的逻辑处理单元,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。通常有下面4个特性,也就是咱程序猿俗称的ACID属性。
原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全部执行,要么全部不执行。举个例子:情人节小二给女朋友转账520块,那么SQL中一共两个操作,小二的账户余额-520块,女朋友账户余额+520块,这一组转账操作,不能只执行小二的账户-520块,或者只执行女朋友账户余额+520块,只能都执行,或者都不执行。
一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。一致性和原子性息息相关,即一组转账操作下来小二账户余额应该-520块,女朋友账户余额+520块,两人转账操作之后账户总金额是一致的。
隔离性(Isolation):一个事务的执行不能被其他事务干扰,即每个事务都是独立的,不受其他事务的影响。简单来说就是一个事务(T1)处理过程的中间状态对其他事务(T2,T3...)是不可见的;同理,T2同样对T1和T3的中间状态不可见的。即只要小二的转账操作没完成,那么女朋友不管怎么查询结果都是原来的余额,而不会查询多出520块。
持久性(Durable):事务完成之后,对数据的修改是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。即只要小二转账成功了,数据就保存磁盘了。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。