这几天在学校里面有小伙伴问我数据库的事务是什么,也不想一个个的回复了,写一篇随笔自己看吧(此处应该有个笑哭的表情才配套)
数据库事务根据百科解释是 :数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
这句话初学者可能听的一楞一愣的,那我简单说一下,事务其实就是本身就是SQL代码,它存在的意义因也脱离不了数据库的基本操作:存和取。
但是呢,事务的存和取它是一套的,什么叫一套的呢,这个用一个形象的比喻就是:他好像热恋中的小情侣们,听从女生的领导(这个比喻可能不太好理解,想一下热恋中的男生会与女生共同进退,当然如果是男生领导的话,你可以把例子中的角色对调一下),去完成一件事情要么两人都成功,要不全都失败。
这个例子就像我们做一个类似美团的App,首先是要有人提出点餐后付款这件事情(事务提出),然后我们才能开始根据付款这项事务进行到哪一步在开始下一步的事务,如果用户不想点这家的外卖了,那么好,事务取消,进行取消付款后的事务;如果用户付款,那我们就要开始付款后的事务进行运算。
事务有多重要呢?还拿点餐那个例子,类似存款取款这种类型的数据库,我一般会存到两张表里面用于存钱和取钱(如果有更好的方法,欢迎评论,共同进步),用户付完款了,那么我的存款的数据表里应该增加记录了(存款),然后等到骑手把外卖送到用户手里,用户点了结束之后,我存钱的数据表里应该把我抽成后的钱提交给寸外卖店家的数据表里(取款),给骑手的钱咱们在这里不说,因为点餐这件事情结束后,肯定会给,在这里多说骑手,可能有点乱。
点餐这一趟行程结束后,用户的钱先经过的我手,抽成之后在给店家,一旦其中某一项失败了,对双方都是损失,所以不允许失败。
解释的有点乱,没办法,毕竟第一次嘛,以后好好写