第8章 数据库保护---13.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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.1.1 事务 第一个动作:A帐户 - n ,如果第一个动作成功,由于某种原因比如突然停电,第二个动作:B帐户 + n没有做,系统恢复运行之后情况如何? 如果B帐户的钱没有增加,则A帐号的钱不能减少,否则就造成错误,金额无法对应 那么如何保证系统恢复之后,A帐号的钱还是原来的钱数,没有减少?----事务来保证 8.1.1 事务 事务来保证在一个事务中的全部操作要么全部成功,要么全部失败。也就是说,当第二个动作没有成功时,系统自动将第一个动作撤销,使第一个动作退回。这样当系统恢复时,A帐号和B帐号的数值才是正确的 要让系统知道哪几个动作属于一个事务,必须显示地通知系统---标志事务的开始和结尾 在不同的事务处理模型中,事务开始标志不完全一样,但所有事务的结束标记都是一样的。 正常结束:COMMIT(提交),此时事务中的所有操作都保存到物理数据库中 异常结束:ROLLBACK(回滚),此时事务中的所有操操作都被撤销,数据库回到事务开始之前的状态 事务的操作一般是对数据的更新操作。 8.2.2 事务的特征 事务具有四个特性: 原子性(Atomicity) :指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。 一致性(Consistency) :指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性(Isolation) :指数据库中一个事务的执行不能被其它事务干扰。 持久性(Durability) :也称为永久性指事务一旦提交,则其对数据库中数据的改变就是永久的。 这四个特性简称ACID特性 保证事务的ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的因素有: 多个事务并行运行时,不同事务的操作有交叉情况; 事务在运行过程中被强迫停止。 第一种情况下,数据库管理系统必须保证多个事务在交叉运行时不影响这些事务的原子性 第二种情况下,数据库管理系统必须保证被强迫终止的事务对数据库和其他事务没有任何影响。 以上这些工作都由数据库管理系统的恢复和并发控制机制完成 8.2.3 SQL事务处理模型 事务有2种类型: 隐式事务:隐式事务是每一条数据操作语句都自动地成为一个事务。 显式事务:有显式的开始和结束标记的事务。 对于显式事务,不同的数据库系统又有不同的形式 ISO(国际标准化组织)事务处理模型 T-SQL事务处理模型 ISO事务处理模型 ISO事务处理模型: 明尾暗头――事务的开头是隐含的,事务的结束有明确标记 A.事务结束符 COMMIT:事务成功结束符, ROLLBACK:事务失败结束符, B.事务提交方式 自动提交:每条SQL语句为一个事务 指定位置提交:在事务结束符或程序正常结束处提交 C.事务起始/终止位置 程序的首条SQL语句或事务结束符后的语句。 在程序正常结束处或COMMIT语句处成功终止; 在程序出错处或或ROLLBACK处失败终止。 示例 UPDATE 支付表 SET 帐户总额 = 帐户总额 - n WHERE 帐户名 = ‘A’ UPDATE 支付表 SET 帐户总额 = 帐户总额 + n WHERE 帐户名 = ‘B’ COMMIT T-SQL事务处理模型 T-SQL事务处理模型: 每个事务都有显式的开始和结束标记。 事务的开始标记是: BEGIN TRANSACTION | TRAN 事务的结束标记为: COMMIT [TRANSACTION|TRAN] ROLLBACK [TRANSACTION|TRAN] 示例 例如前边的转帐例子用Transact-SQL事务处理模型描述为: BEGIN TRANSACTION UPDATE 支付表 SET 帐户总额 = 帐户总额

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档