【数据库】事务特性

来源:互联网 发布:网页美工作品 编辑:程序博客网 时间:2024/05/23 19:16

事务定义

Transaction
访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
通常由高级数据库操纵语言或编程语言书写的用户程序的执行所引起。
在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

基本特性

这里写图片描述

● A:Atomicity - 原子性
整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

例如:A账户向B账户转100元,需要两个操作:A账户减少100元,B账户增加100元。这两个操作要执行就都执行,要不就都不执行。

● C:Consisitency - 一致性
一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。

例如:A账户向B账户转100元,如果最初A有100元,B有100元。在最后执行完总金额应该还是200(A0,B200)。

● I:Isolation - 隔离性
隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。

例如:网上银行A账户向B账户转100元,ATM机A账户向B账户转100元,如果它们同时执行。通过隔离执行,结果B账户增加了200元。

● D:Durability - 永久性
在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

总结

通常事务中的原子性和一致性总是有些说不清。
原子性侧重是否全部执行,侧重你的整个事务是一个完整的一个整体,不可分割。一致性侧重语义上的数据一致,在业务逻辑上整个数据是保持一致的。
方便理解,也可以把原子性和隔离性用来服务一致性。通过事务的完整执行和分开独立执行,最终达到数据的一致性。

概念的理解和实践应该相结合,概念指导实践,实践深化理解。
理解好这些基础的概念,对我们将来的优化会很有帮助。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我想给外地的朋友送花怎么办 英雄联盟连接不上聊天服务器怎么办 用黄金换玫瑰金后悔了怎么办 劳力士日志系列玫瑰金和黄金怎么办 香菇代进地注水后长满绿毛怎么办 群主给你带了不满意的头衘怎么办 普兰德雪地靴洗变色了怎么办 书被水泡了皱了黏了怎么办 书被水泡了皱了没干怎么办 眼皮干燥起皮起皱怎么办能治好吗 手指头起小水泡指甲不平整怎么办 这几天我的内裤上带点血丝怎么办 一个月宝宝私处捂白了怎么办 工资算了字签了老板没把钱怎么办 百合种球叶子都变黄了怎么办 新买的富贵竹叶子发黄怎么办水养 朋友总是以隐私为借口欺骗我怎么办 三星手机版本低下载不了微信怎么办 选了动漫制作技术但不会画画怎么办 做主播高薪可是心累不愿做了怎么办 pr导出的avi无压缩太大怎么办 捡了个小米max被绑定了怎么办 二十岁时头发开始掉了怎么办 在酒店换衣服忘记关窗帘了怎么办 淘宝店铺装修更改图片要收费怎么办 惠阳市教育考试考证号忘记怎么办 高考完被被骗去读自考以后怎么办 孩子学习遇到瓶颈期了老师该怎么办 微信家长群有不好的言论出现怎么办 铃木汽车后备箱电动锁没有电怎么办 坐飞机没有连号座位带孩子怎么办 白沙的衣服洗衣服时染上颜色怎么办 网购商家少发了货怎么办 我想成为安利的员工怎么办会员 安利皇后锅锅盖吸在桌子上怎么办 淘宝客服退款返佣金诈骗后怎么办 第一试用网的钱提现出现问题怎么办 一个手机号注册两个京东账号怎么办 白色衣服被洗衣粉泡白了怎么办 白色衣服染成一块块荧光色了怎么办 中脉远红镇痛护腰不会发热了怎么办