电子商务数据库技术-电子教案-樊颖军 学习情境5 数据库控制技术
31页1、主 编 樊颖军 副主编 张 光 主 审 殷锋社,电子商务数据库技术,普通高等教育“十二五”规划教材 电子商务专业项目是教学课题成果,中国水利水电出版社,子学习情境一 事务,事务有3种运行模式: (1)自动提交事务。即每条单独语句都是一个事务。 (2)显式事务。即每个事务均以BEGIN TRANSACTION语句开始,以COMMIT语句或ROLLBACK语句结束。事务通常是以显式模式运行。 (3)隐性事务。即在前一个事务完成时,新事务隐式启动,但每个事务仍以COMMIT语句或ROLLBACK语句显式地表示完成。,任务二 事物的特性 事务具有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability),简称为ACID特性。,子学习情境二 并发控制技术,任务一 并发操作带来的不一致性 并发操作带来的数据不一致问题包括3类:丢失修改(Lost Update)、读“脏”数据(Dirty Read)、不可重复读(Non-Repeatable Read)。 1丢失修改 假设在售票系统中有如下操作序列: 甲售票点(甲事务)读出某
2、车次的剩余车票张数d,设d=50。 乙售票点(乙事务)读出同一车次的剩余车票张数d,同样为50。 甲售票点售出一张车票,修改剩余车票张数dd-1,所以d为49,把d写回数据库。 乙售票点也卖出一张车票,修改剩余车票张数dd-1,所以d为49,把d写回数据库 。,3不可重复读 不可重复读是指甲事务读取数据后,乙事务执行更新操作,使甲无法再现前一次读取结果。具体地讲,不可重复读包括3种情况: 甲事务读取某一数据后,乙事务对其做了修改,当甲事务再次读该数据时,得到与前一次不同的值。 甲事务按一定条件从数据库中读取了某些数据记录后,乙事务删除了其中部分记录,当甲事务再次按相同条件读取数据时,发现某些记录神秘地消失了。 甲事务按一定条件从数据库中读取某些数据记录后,乙事务插入了一些记录,当甲事务再次按相同条件读取数据时,发现多了一些记录。,任务二 基于封锁的并发控制技术 1三级封锁协议 (1)一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。,(2)二级封锁协议:一级封锁协议加上事务T在读取数据R之前必
3、须先对其加S锁,读完后即可释放S锁。 二级封锁协议除防止了丢失修改外,还可进一步防止读“脏”数据。 (3)三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。,2两段锁协议 所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 (1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。 (2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。 “两段”锁的含义是,事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段。在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。,任务三 活锁和死锁 1活锁 如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求T2有可能永远等待,这就是活锁的情形,2死锁 如果事务T1封锁了数据R1,T2封锁了数据
4、R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁,(1)死锁的预防。 在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:一次封锁法和顺序封锁法。 1)一次封锁法。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行,2)顺序封锁法。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。例如在表5-9中,可规定封锁的顺序为R1、R2,T1和T2都必须按这个顺序封锁,即T2也必须先封锁R1。当T2请求封锁R1时,由于T1已经封锁了R1,所以T2只能等待,等T1释放R1、R2上的锁后,T2继续执行。这样就不会发生死锁。,(2)死锁的诊断与解除。 数据库系统中诊断死锁一般使用超时法或事务等待图法。 1)超
《电子商务数据库技术-电子教案-樊颖军 学习情境5 数据库控制技术》由会员E****分享,可在线阅读,更多相关《电子商务数据库技术-电子教案-樊颖军 学习情境5 数据库控制技术》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-03-21 39页
2024-03-21 41页
2024-03-21 40页
2024-03-21 34页
2024-03-21 33页
2024-03-21 35页
2024-03-21 21页
2024-03-21 45页
2024-03-21 33页
2024-02-20 85页