第6章数据库保护分析.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数据库保护分析

数据库系统原理 与应用技术 第6章?数据库保护 6.1 事务的概念 6.2 数据库恢复概述 6.3 并发控制与封锁 6.4 数据库的安全性 6.5数据库的完整性 6.6数据库的备份与恢复 6.7 本章小结 6.1 事务的概念 6.1.1 事务 6.1.2 事务的特征 6.1.1 事务 事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。 例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作: 第一个动作:A帐户 - n 第二个动作:B帐户 + n 6.1.2 事务的特征 原子性(Atomicity) :指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。 一致性(Consistency) :指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性(Isolation) :指数据库中一个事务的执行不能被其它事务干扰。 持久性(Durability) :也称为永久性,是指事务一旦提交,则其对数据库中数据的改变就是永久的。 6.1.2 事务的特征 保证事务的ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的因素有: 多个事务并行运行时,不同事务的操作有交叉情况;这种情况DBMS应保证事务的原子性。 事务在运行过程中被强迫停止,这种情况DBMS应保证被终止的事物对其他的事物没有影响。 6.2 数据库恢复概述 数据库的恢复 :数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能 。 数据库系统中可能发生的故障: (1)事务内部的故障 (2)系统故障 (3)介质故障 (4)计算机病毒 6.2 数据库恢复概述 数据转储是数据库恢复中采用的基本技术 。即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 当数据库遭到破坏后就可以利用后备副本把数据库恢复。转储是十分耗费时间和资源的,不能频繁进行。DBA应该根据数据库使用情况确定一个适当的转储周期,制定合适的转储策略。 日志文件是用来记录对数据库每一次更新活动的文件。在转储中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。 6.3 并发控制与封锁 6.3.1 并发控制概述 6.3.2 封锁 6.3.3 封锁协议 6.3.4 死锁 6.3.5 两段锁协议 6.3.1 并发控制概述 数据库中的数据是一个共享的资源,因此会有很多用户同时使用数据库中的数据, 在多用户系统中,可能同时运行着多个事务,而事务的运行需要时间,并且事务中的操作是在一定的数据上进行的。 当系统中同时有多个事务在运行时,特别是当这些事务是对同一段数据进行操作时,彼此之间就有可能产生相互干扰的情况。 并发事务的相互干扰示例 A、B两个订票点恰巧同时办理同一架航班的飞机订票业务。设其操作过程及顺序如下: A订票点(事务A)读出航班目前的机票余额数,假设为10张; B订票点(事务B)读出航班目前的机票余额数,也为10张; A订票点订出6张机票,修改机票余额为10-6 = 4,并将4写回到数据库中; B订票点订出5张机票,修改机票余额为10-5 = 5,并将5写回到数据库中; 可见这两个事务不能反映出飞机票数不够的情况,而且B事务对数据库的修改,使数据库中的数据不可信,这种情况称为数据的不一致。DBMS必须想办法避免出现这种情况,这就是DBMS在并发控制中要解决的问题。 并发操作所带来的数据不一致情况大致分为:丢失修改,不可重复读,读“脏”数据和产生“幽灵”数据。以下分别介绍。 丢失数据修改 是指两个事务T1和T2读入同一数据并进行修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被T2覆盖掉。例如: 读“脏”数据 是指一个事务读取了某个失败事务运行过程中的数据。 不可重复读 是指事务T1读取数据后,事务T2执行了更新操作,修改了T1读取的数据,T1操作完数据后,又重新读取了同样的数据,但此次读完后,当T1再对这些数据进行相同操作时,所得的结果与前一次不一样。 产生“幽灵”数据 属于不可重复读的范畴。 指当事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中的部分记录,或者在其中添加了部分记录,则当T1再次按相同条件读取数据时,发现其中莫名其妙地少了(对删除)或多了(对插入)一些记录。 这样的数据对T1来说就是“幽灵”数据或称“幻影”数据。 产生这四种数据不一致现象的主要原因是并发操作破坏了事务的隔离性。并发控制是要用正确的方法来调度并发操作,使一个事务的执行不受其他事务的干扰,避免造成数据的不一致情况

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档