- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                数据库原理与应用教程 第8章 数据库保护 8.1 事务的基本概念  8.2 并发控制 8.3 数据库备份与恢复 8.1 事务的基本概念 8.1.1 事务 8.1.2 事务的特征 8.1.3 SQL事务处理模型 8.1.1 事务 事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。  例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作: 第一个动作:A帐户 - n  第二个动作:B帐户 + n 8.2.2 事务的特征  原子性(Atomicity) :指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。  一致性(Consistency) :指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性(Isolation) :指数据库中一个事务的执行不能被其它事务干扰。 持久性(Durability) :也称为永久性指事务一旦提交,则其对数据库中数据的改变就是永久的。      保证事务的ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的因素有: 多个事务并行运行时,不同事务的操作有交叉情况; 事务在运行过程中被强迫停止。  8.2.3 SQL事务处理模型  隐式事务:隐式事务是每一条数据操作语句都自动地成为一个事务。 显式事务:有显式的开始和结束标记的事务。  ISO事务处理模型  T-SQL事务处理模型 ISO事务处理模型 明尾暗头――事务的开头是隐含的,事务的结束有明确标记    A.事务结束符 	COMMIT:事务成功结束符,		 	ROLLBACK:事务失败结束符,			   B.事务提交方式 	自动提交:每条SQL语句为一个事务 	指定位置提交:在事务结束符或程序正常结束处提交   C.事务起始/终止位置 	程序的首条SQL语句或事务结束符后的语句。 	在程序正常结束处或COMMIT语句处成功终止; 	在程序出错处或ROLLBACK处失败终止。 示例 UPDATE 支付表      SET 帐户总额 = 帐户总额 - n 		WHERE 帐户名 = ‘A’ UPDATE 支付表      SET 帐户总额 = 帐户总额 + n 		WHERE 帐户名 = ‘B’ COMMIT  T-SQL事务处理模型 每个事务都有显式的开始和结束标记。 事务的开始标记是: BEGIN TRANSACTION | TRAN 事务的结束标记为: COMMIT [TRANSACTION|TRAN] ROLLBACK [TRANSACTION|TRAN] 示例 例如前边的转帐例子用Transact-SQL事务处理模型描述为: BEGIN TRANSACTION  UPDATE 支付表 SET 帐户总额 = 帐户总额-n 		WHERE 帐户名 = ‘A’ UPDATE 支付表 SET 帐户总额 = 帐户总额+n 		WHERE 帐户名 = ‘B’ COMMIT 8.2 并发控制  8.2.1 并发控制概述  8.2.2 并发控制措施 8.2.3 封锁协议 8.2.4 死锁 8.2.5 并发调度的可串行性 8.2.6 两段锁协议  8.2.1 并发控制概述 数据库中的数据是一个共享的资源,因此会有很多用户同时使用数据库中的数据, 在多用户系统中,可能同时运行着多个事务,而事务的运行需要时间,并且事务中的操作是在一定的数据上进行的。 当系统中同时有多个事务在运行时,特别是当这些事务是对同一段数据进行操作时,彼此之间就有可能产生相互干扰的情况。  并发事务的相互干扰示例 A、B两个订票点恰巧同时办理同一架航班的飞机订票业务。设其操作过程及顺序如下:  A订票点(事务A)读出航班目前的机票余额数,假设为10张; B订票点(事务B)读出航班目前的机票余额数,也为为10张; A订票点订出6张机票,修改机票余额为10-6=4,并将4写回到数据库中; B订票点订出5张机票,修改机票余额为10-5=5,并将5写回到数据库中; 丢失数据修改  读“脏”数据  不可重复读  产生“幽灵”数据  属于不可重复读的范畴。 指当事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中的部分记录,或者在其中添加了部分记录,则当T1再次按相同条件读取数据时,发现其中莫名其妙地少了(对删除)或多了(对插入)一些记录。 这样的数据对T1来说就是“幽灵”数据或称“幻影”数据。  8.2.2 并发控制措施 控制目标:事务运行过程中尽可能隔离事务外操作对本事务数据环境的影响。 在数据库环境下,并发控制的主要方式是封锁机制,即加锁(Locking),加锁是一种并行控制技术,是用来调整对共享目标,如DB中共享的记录并行存取的技术。  基
                您可能关注的文档
- 大连理工大学计算机组成与多核计算课件第三章 运算方法和运算部件.ppt
 - 大连理工大学计算机组成与多核计算课件第十一章 计算机系统.ppt
 - 大连理工大学计算机组成与多核计算课件第十章 输入输出系统.ppt
 - 大连理工大学计算机组成与多核计算课件第四章 主存.ppt
 - 大连理工大学计算机组成与多核计算课件第五章 指令系统.ppt
 - 大连理工大学计算机组成与多核计算课件第一章 计算机系统概论.ppt
 - 大连理工大学企业级服务器系统管理基础课件第17章 存储管理.ppt
 - 大连理工大学企业级服务器系统管理基础课件第19章 备份与恢复.ppt
 - 大连理工大学企业级服务器系统管理基础课件第20章 安全与用户管理.ppt
 - 大连理工大学嵌入式SoC系统设计课件第二章 Verilog HDL基础.ppt
 
最近下载
- 解读《GB_T 3880.2-2024一般工业用铝及铝合金板、带材 第2部分:力学性能》.docx VIP
 - ECA微生物偏差评估和调查指南2020.pdf VIP
 - 三年级下册科学青岛版20肠道传染病(课件)(共26张PPT).pptx VIP
 - 公司私车公用管理制度及私车公用协议.docx VIP
 - (完整版)格斗术教案.doc VIP
 - 金属学与热处理--热处理原理、热处理工艺习题.doc VIP
 - 《消防设施工程专业承包企业资质等级标准》.docx VIP
 - 义务教育学校校长、书记绩效考核工作实施办法(试行).doc VIP
 - 加油加气站改扩建项目申请报告.pdf VIP
 - 教学能力大赛教学实施报告【参考国赛一等奖撰写】.pdf
 
原创力文档
                        

文档评论(0)