一.所花时间
1h
二.代码量
30行
三.博客量
1篇
四.了解到的知识点
第七章
1.事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。
事务的四个特征为原子性、一致性、隔离性和持久性。
原子性指事务的原子 性是指事务是数据库的逻辑工作单位,事务中的操作,要么都做,要么都不做。
一致性指定事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性指数据库中一个事务的执行不能被其他事务干扰。
持久性指事务一旦提交,则其对数据库中数据的改变就是永久的。
3.(1)T1→T2→T3:A=7 B=6
T1→T3→T2:A=4 B=6
T2→T1→T3:A=3 B=3
T2→T3→T1:A=3 B=4
T3→T1→T2:A=2 B=6
T3→T2→T1:A=2 B=3
(2)
4.S锁(共享锁)
5.某个事物对某段数据加了S锁后该事务只能读取该段数据。其他事务可以对这段数据加S锁,加S锁后只能读取这段数据。
7.一级封锁协议:对事务T要修改的数据加X锁,直到事务结束(包括正常结束和非正常结束)时才释放。
二级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,读完后即释放S锁。
三级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,并直到事务结束才释放。
三个封锁协议的区别是在对读数据的加锁上。
一级封锁协议可以防止丢失修改。
二级封锁协议除了可以防止丢失修改外,还可以防止读“脏”数据。
三级封锁协议除了可以防止丢失修改和不读“脏”数据之外,还进一步防止了不可重复读。
8.多个事务的并发执行是正确的,当且仅当其结果与按某一顺序的串行执行的结果相同,称这种调度为可串行化的调度。
如果并发调度的执行结果和某个串行调度结果一样,这个并发调度就是正确的调度。
9.两段锁是指所有的事务必须分为两个阶段对数据进行加锁和解锁,具体内容如下:
(1)在对任何数据进行读、写操作之前,首先要获得对该数据的封锁。
(2)在释放一个封锁之后,事务不再申请和获得任何其他锁。
10.主要有三类:事务内部的故障,系统故障,其他故障。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端