欢迎来到天天文库
浏览记录
ID:45143710
大小:559.00 KB
页数:70页
时间:2019-11-10
《第7章 事务的并发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、UNITseven事务的并发武汉大学国际软件学院1思考几个问题多用户同时操作同一张表导致的问题假定两个顾客使用主副信用卡分别几乎同时刻在两台ATM上取款;有可能两人各取出500元,而帐户上只减少500元。导致此种情形出现的原因是什么?武汉大学国际软件学院SQL的原子操作单位与操作系统的原子操作单位不同?2思考几个问题数据的不一致性假定数据库系统自动检测参照完整性约束,有下面操作:操作一:删除学号为“95002”的学生的信息;操作二:插入选课信息(“95005”,“C8”,85);操作三:修改学号“95001”的学生的学号为“
2、95008”;这些操作如何实现?这些操作一定能用SQL实现吗?武汉大学国际软件学院3思考几个问题学号S#姓名SN性别SE年龄SA所在系SD95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS课程号C#课程名CN先行课CP#学分CCC1数据库C54C2数学2C3信息系统C14C4操作系统C63C5数据结构C74C6数据处理2C7PASCAL语言C64学号S#课程号C#成绩G95001C19295001C28595001C38895002C29095002C380SCSC武汉大学国际软
3、件学院4思考几个问题解决方法一:DELETEFROMSWHERES#=‘95002’;DELETEFROMSCWHERES#=‘95002’;两个SQL删除命令的顺序不合适会破坏参照完整性数据的不一致性操作一:删除学号为“95002”的学生的信息;解决方法二:DELETEFROMSCWHERES#=‘95002’;DELETEFROMSWHERES#=‘95002’;破坏参照完整性武汉大学国际软件学院5思考几个问题数据的不一致性操作二:插入选课信息(“95005”,“C8”,85);INSERTINTOSVALUES(’95
4、005’,null,null,null,null);INSERTINTOCVALUES(’C8’,null,null);INSERTINTOSCVALUES(’95005’,’C8’,85);三个SQL插入命令的顺序不合适会破坏参照完整性武汉大学国际软件学院6思考几个问题数据的不一致性操作三:修改学号“95001”的学生的学号为“95008”;UPDATESSETS#=‘95008’WHERES#=‘95001’;UPDATESCSETS#=‘95008’WHERES#=‘95001’;UPDATESCSETS#=‘9500
5、8’WHERES#=‘95001’;UPDATESSETS#=‘95008’WHERES#=‘95001’;破坏参照完整性破坏参照完整性武汉大学国际软件学院7思考几个问题数据的不一致性为何出现该问题?参照完整性的检测时机是在关系数据库的原子操作之前或之后一个SQL语句是关系数据库的原子操作;如何解决该问题?修改原子操作的定义——可以将多个SQL语句定义为一个原子操作事务武汉大学国际软件学院8学完本讲后,你应该能够了解:并发控制的目标是保证事务的隔离性,就是限制不同事务间冲突操作的执行顺序;可串行性是并发调度的正确性准则;一级
6、封锁协议、二级封锁协议、三级封锁协议、两段锁协议的内容及能否保证并发调度的正确性?能否预防死锁?并发度如何?封锁粒度与系统并发度、并发控制的开销密切相关;在商用数据库管理系统中,用户可以根据具体的应用环境设置不同的隔离级别。本讲主要目标9一.事务的概念二.并发控制并发控制概述封锁封锁协议死锁和活锁并发调度的可串行性两段锁协议封锁的粒度三.隔离级别内容提纲10事务的概念11事务的概念1.事务的基本概念事务----是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。SQL定义事务的语句BEGIN
7、TRANSACTIONCOMMITROLLBACK为什么数据库需要事务这个概念?保证数据库状态的一致性数据库系统与操作系统的原子单位不同12事务的概念2.事务的特性——ACID特性原子性(Atomicity)事务包含的一组更新操作是原子不可分的,即更新操作对于数据库而言,要么全做,要么全不做,不能部分地完成一致性(Consistency)当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态13事务的概念2.事务的特性——ACID特性隔离性(Isolation)系统允许的任何交错操作调度等价于某一个串行调度,即可串行性
8、持久性(Durability)当事务发出提交语句后系统返回到程序逻辑时,必须保证该事务是可恢复的14事务的概念事务的特性——ACID特性破坏事务ACID特性的因素有:(1)多个事务的并行运行(2)事务的运行过程中被强行停止并发控制故障恢复武汉大学国际软件学院15并发控制16并发控制1.并发
此文档下载收益归作者所有