目录
第一章 数据库基础知识
文章目录
前言
认为自己大学时学得不够深入,发现实际工作中需要用到它的地方很多。因此记下此文帮助自己梳理知识,也希望可以给需要的你提供帮助。自学之路,如有错误,请纠正,万分感谢!
来自笔者内心理解(以及结合相关文献 综合思考后)的正文:
数据库事务
一、定义
数据库事务是一个不可分割的工作单位,由事务开始与事务结束之间执行的全部数据库操作构成,这些操作要么全部执行,要么全部不执行。
二、要求
一个数据库事务可以包含多个查询、修改、删除、插入等数据库动作,它们要么作为一个整体完全得到确认,要么完全失败;一个事务只能包含对一个数据库实例的数据操作,跨多个数据库实例需要分布式事务的支持。
三、影响
数据库事务会给数据库并发操作带来一定影响,降低系统的并发能力。
四、特性(ACID)
(1)A:原子性 Atomicity
一个原子事务中的所有操作要么全部成功,要么全部失败。即整个事务中的每项任务都必须正确执行,如有任一任务执行失败,则整个事务就会被终止,此前对数据所作的任何修改都将被撤销(回滚);如果每项任务都执行成功,事务则会被提交。是数据库系统区别于其他一切文件系统的重要特性之一(文件系统出错不可恢复)。
看个小例子吧~
假如我们需要进行转账服务,以下表格中的每一步都需要保证全部正确,否则需要回滚到初始状态
First | 检查活期存款余额是否高于转账金额 |
---|---|
Second | 活期存款余额 减去 转账金额 |
Third | 转账账户余额 加上 转账金额 |
(2)C:一致性 Consistency
数据库总是从一个一致性的状态转换到另一个一致性的状态。