数据库原理与应用
第 9 章 数据库并发控制与封锁
第 9 章
数据库并发控制与封锁
两个人同时改一张表,谁的改动算数,由事务和锁说了算。
1
第一节 并发、事务与 ACID
12 页
多人同时用一个库会出什么事,事务又是怎么把一串操作捆成一件事的。
01
这一章
02
五件事
03
为什么要并发
04
事务的概念
05
四种模式
06
三条语句
07
四个字母
08
转账语句
09
原子性
10
一致性
11
隔离性
12
持久性
上机一
事务的起停与原子性
7 题
七道题走一遍开事务、回滚、提交和自动提交这四件事。
01
认认两扇窗
02
开一笔撤一笔
03
提交就撤不回
04
整笔转账
05
转到一半
06
关掉自动提交
07
增删也能撤
2
第二节 四种数据不一致性
6 页
并发不加控制会出的四种错,它们的名字、时间轴和区别。
13
并发控制
14
丢失更新
15
读脏数据
16
不可重复读
17
幻象读
18
串一遍
上机二
四种不一致性亲手做
7 题
七道题把四种数据不一致性一个一个做出来,顺便看看哪一种其实做不出来。
01
盖不掉
02
读一次脏数据
03
脏在哪里
04
两次读不一样
05
行数变了
06
默认级别再试
07
分得清吗
3
第三节 隔离级别与前两级
9 页
SQL 标准的四种隔离级别,以及最低那两级各能挡住什么。
19
四个级别
20
查和设
21
读未提交
22
例9-2
23
脏读现场
24
读已提交
25
例9-3
26
第二次查
27
第三次查
4
第四节 后两级与对照表
5 页
MySQL 默认的可重复读、最高的串行化,以及四级对照表怎么记。
28
可重复读
29
例9-4
30
两次一样
31
串行化
32
对照表
上机三
四个隔离级别
8 题
八道题把课件上例9-2 到例9-4 三个例子全做出来,再验一次课件那张对照表。
01
先看看现在几级
02
例9-2
03
升一级
04
第三次查
05
例9-4
06
事务里改不动
07
串行化
08
对照着填
5
第五节 封锁与两种锁
7 页
锁是什么,锁多大一块,X 锁和 S 锁分别管什么。
33
封锁
34
封锁粒度
35
行锁表锁
36
两种锁
37
加写锁
38
加读锁
39
读锁下的三试
6
第六节 封锁协议与死锁
9 页
三级封锁协议各挡住什么,死锁怎么来的、怎么发现、怎么避开。
40
封锁协议
41
一级协议
42
二级协议
43
三级协议
44
死锁
45
四个条件
46
怎么发现
47
活锁
48
小结
上机四
封锁、协议与死锁
8 题
八道题把表锁、行锁、三级协议和死锁全撞一遍,1099、1100、1213 三个报错都要亲手见到。
01
加个写锁
02
看一次卡住
03
加个读锁
04
B 的三次尝试
05
只认锁住的
06
锁什么时候放
07
造一次死锁
08
换个顺序
保山学院
·
人工智能教研室
·
曹鼎鼎