数据库之事务及事务的 ACID 性质

举报
坚果派 发表于 2021/12/15 22:38:44 2021/12/15
【摘要】 1.什么是事务 DBMS中的事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元事务的基本概念 所谓事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 ...

1.什么是事务

DBMS中的事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元事务的基本概念

所谓事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。

在关系数据库中,事务可以是一条SQL语句、一组SQL语句。

事务通常由高级数据操纵语言或编程语言(如SQL、COBOL、C、C++或Java)书写的用户程序的执行所引起,由事务开始与结束之间执行的全体操作组成。事务的开始与结束可以用形如 begin transaction 和 end transaction的语句(或函数调用)来显式定义,如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。

2.事务应具有下列四个性质(称为事务的ACID性质):

原子性(Atomicity)

一个事务对数据库的所有操作,是一个不可分割的工作单元。这些操作要么全部执行,要么什么也不做。它由DBMS的事务管理子系统来实现

一致性(Consistency)

一个事务独立执行的结果应保持数据库的一致性,即数据不会因为事务的执行而遭受破坏。确保单个事务的一致性是编写事务的应用程序员的职责。在系统运行时,由DBMS的完整性子系统执行测试任务。

隔离性(Isolation)

在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,也就是在多个并发事务执行时,保证执行结果是正确的。隔离性是由DBMS的并发控制子系统实现的。

持久性(Durability)

一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。即使以后系统发生故障,也应保留这个事务执行的痕迹。事务的持久性由DBMS的恢复管理子系统实现。

文章来源: jianguo.blog.csdn.net,作者:坚果前端の博客,版权归原作者所有,如需转载,请联系作者。

原文链接:jianguo.blog.csdn.net/article/details/103192352

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。