- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 网状模型的结点间的联系可以是任意的,任何二个结点间都能发生联系,更适于描述客观世界。 将层次模型中对结点的限制去掉后就成为网状模型。网状模型中,允许: (1) 一个结点可以有多个双亲结点; (2) 多个结点可以无双亲结点。 * 声明式数据完整性 作为对象定义的一部分来定义数据必须达到的标准 DBMS 自动强制完整性 通过使用约束、默认和规则来实现 过程式数据完整性 在脚本中定义数据必须达到的标准,强制完整性 通过使用触发器和存储过程来实现 可在客户端或服务器用其他编程语言和工具来实现 * 循环次数 令ai=|X(i)|,{ai}形成一个步长大于1的严格递增的序列,序列的上界是|U|,因此算法最多循环|U|-|X|。 * 3. 数据库恢复技术 数据恢复的基本原理 数据冗余: 利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据 如何建立冗余数据 数据转储 登记日志文件 * 3. 数据库恢复技术 恢复中经常使用的技术 数据库转储 静态转储和动态转储 基于日志的恢复技术 “日志记录优先写入”的原则 Redo技术: 重作已提交的事务 Undo技术:对没有提交的事务执行Undo,将被修改的数据项恢复到事务开始前的状态 提高恢复效率的技术 检查点技术 镜像技术 * 4. 数据库恢复策略 事务故障的恢复 利用日志文件撤销事务对数据的更改,系统回滚到事务执行前的状态 。 当事务故障发生时,系统反向扫描日志文件,并执行逆向操作,将更新前的数据写入数据库 介质故障的恢复 首先根据后备副本重建数据库, 然后利用运行日志重做该副本备份后已完成的所有事务 * 系统故障的恢复步骤 (1) 正向扫描日志文件(即从头扫描日志文件) Redo队列: 在故障发生前已经提交的事务 Undo队列:故障发生时尚未完成的事务 (2) 对Undo队列事务进行UNDO处理 反向扫描日志文件,对每个UNDO事务的更 新操作执行逆操作 (3) 对Redo队列事务进行REDO处理 正向扫描日志文件,对每个REDO事务重新执行登记的操作 * 检查点的恢复技术 检查点记录的内容 1. 建立检查点时刻所有正在执行的事务清单 2. 这些事务最近一个日志记录的地址 利用检查点的恢复步骤 (1) 从重启动文件中找到最后一个检查点记录; (2) 得到检查点时刻的事务清单, 暂时放入Undo队列 (3) 从检查点开始正向扫描日志文件, 如有新开始的事务,暂时放入Undo队列;如有提交事务Tj,把对Tj从Undo队列移到REDO队列 (4)对Undo队列事务进行UNDO处理;对Redo队列事务进行REDO处理。 * 第9章 并发控制 并发操作带来的数据不一致性 丢失修改(lost update) 事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 不可重复读(non-repeatable read) 事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。 读“脏”数据(dirty read) 事务T1修改某一数据并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。 * 1.并发调度的可串行性 定义9.1 多个事务的并发执行是正确的,当且仅当并发执行的结果与这些事务按某一串行顺序执行的结果相同,这种调度策略被称为可串行化调度。可串行化是并发事务正确调度的准则 。 冲突操作是指不同的事务对同一个数据的读写操作和写写操作 Ri (x)与Wj(x) /* 事务Ti读x,Tj写x*/ Wi(x)与Wj(x) /* 事务Ti写x,Tj写x*/ 其他操作是不冲突操作 不同事务的冲突操作和同一事务的两个操作不能交换 * 调度的冲突等价性 可串行化调度的充分条件: 一个调度S在保证冲突操作的次序不变的情况下, 通过交换两个事务不冲突操作的次序得到另一个串行调度S’ , 则调度S为可串行化的调度 * 2.基于封锁的并发控制技术 封锁的类型 共享锁(Share lock,简记S锁,又称为读锁) 若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁 排它锁(eXclusive lock,简记X锁,又称为写锁) 若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁 * 2.基于封锁的并发控制技术 封锁协议 在给数据对象加锁时,要考虑何时请求锁、持有锁的时间和何时释放等,要遵从一定规则。这
文档评论(0)