- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件学院《数据库系统》入学考试复习-2015-01
锁机制 利用锁实现对共享数据的互斥访问 对数据项可以有两种方式上锁 排它锁(X锁),对数据项可以读和写 共享锁(S锁),对数据项只能读不能写 锁的相容矩阵 二阶段封锁协议(2PL) 一个事务的执行分为两个阶段 增长阶段,事务可以申请锁,但不能释放锁 缩减阶段,事务可以释放锁,但不能申请锁 二阶段封锁协议保证调度的可串行化,可以证明事务能够按照封锁点的次序进行串行化 二阶段封锁协议不能保证调度是可恢复的 严格的二阶段封锁协议还要求事务申请的排它锁在事务提交之后才能释放 思考:调度A是否可能由二阶段封锁协议产生? 死锁 考虑以下两个事务: T1: write (X) T2: write(Y) write(Y) write(X) 以下调度造成死锁 T1 T2 lock-X on X write (X) lock-X on Y write (Y) 等待 lock-X on X 等待 lock-X on Y 死锁处理 死锁预防 一次封锁法 顺序封锁法 死锁检测与恢复 超时法 等待图法,该图由G=(V,E)组成,顶点集V由系统中所有的事务组成,边集E的每一个元素是一个有序对Ti ?Tj ,表示事务Ti在等待Tj释放所需的锁。当且仅当等待图中包含环时,系统中存在死锁。 死锁恢复 选择牺牲者 回滚 防止饿死 练习: 在超市数据库的开发中,为了管理商品销售记录,有人设计了关系模式ITEMS如下: ITEMS(商品条码,商品名称,商品生产厂家,客户编号,客户姓名,客户地址, 购买顺序号,购买价格,购买数量,购买金额,购买日期) 问题: 哪些属性构成关系ITEMS的候选关键字(candidate key)? 关系ITEMS存在什么缺陷? 如何对关系ITEMS进行规范化以解决上述存在的缺陷? 练习: 两阶段封锁协议能不能避免死锁的产生? 死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态? 活锁产生的原因是什么?解决办法是什么? 如何实现这两个事务的并发控制?举例说明。 数据库的故障类型 事务故障 逻辑错误 系统错误 系统崩溃:如突然停电、硬件故障、软件错误等引起系统崩溃 故障停止假设:当系统崩溃时非易失存储器内容不被破坏 介质故障 基于日志的恢复 日志用于记录事务对数据库的更新操作的线性文件,由日志记录组成,数据库管理系统利用日志进行数据库的故障恢复 一个例子: T0 : read (A) A := A – 50 Write (A) read (B) B := B + 50 write (B) T1 : read (C) C := C- 100 write (C) 先写日志文件原则 登记日志的次序严格按并发事务执行的时间次序; 当一个事务的所有操作日志记录(包括commit日志记录)写到磁盘后,事务才能进入commit状态; 当要把缓冲区里的一个块数据写到磁盘之前,要先把该块相关的日志记录写到磁盘上; 数据库备份 为防止介质故障,需要定期对数据库内容进行备份,分为完全备份和增量备份; 离线备份,在备份过程中不允许对数据库的任何更新操作,得到的一定是数据一致的副本,但会降低数据库的可用性; 在线备份,在备份过程中允许对数据库进行访问和更新,得到的可能是不一致的副本,在恢复时需要与日志相配合才能把数据库恢复到某一时刻的一致状态; 例题1: 2009年5月5号,某用户收到了如下的短信通知: “尊敬的用户:您好!由于4月1日X银行的电脑故障,3月2日-3月28日的用户充值记录丢失。如果你此期间在X银行充过值,请与我们联系一下,以方便我们能找回您在A银行的丢失信息。非常感谢! --- 中国移动公司。” (注:X, Y为代号) 请从技术角度来分析X银行的数据库系统可能发生了什么问题?要防止这类问题的发生,有什么技术思路? 例题1: 可能存在的问题: 存放数据库的磁盘介质发生故障,而数据库又没有及时做备份,或者备份损坏。 也可能那几天的数据库日志文件发生故障,以至于不能用于数据库恢复。 技术方案: 制定叔数据库备份和恢复计划; 及时做数据库备份; 备份介质要异地存放; 数据库日志文件要多版本备份. 更彻底的解决办法是多场地数据库实时远程备份。 例题2: 在数据库系统中,有些事务需要处理大量数据,因而执行时间较长,这类事务称为“长事务”,比如银行每季度结算活期利息,如果在一个事务中完成所有活期账户的利息增加操作,就是一个长事务的例子。 (1)简述长事务的利弊; (2)有什么思路可以避免长事务的弊端? 例题2:
您可能关注的文档
最近下载
- 保险学结课论文.docx VIP
- 2025四川广安安辑项目管理有限公司第二批次招聘劳动合同工5人笔试参考题库附答案解析.docx VIP
- 呆呆鲨可爱卡通风AI应用科普模版.pptx VIP
- 中考数学复习重难题型真题再现及题型预测(全国通用)专题01简单计算题(实数混合计算、整式分式化简、解分式方程、解不等式及方程)(原卷版+解析).docx VIP
- 实验室废物处理培训.pptx VIP
- 2025四川广安安辑项目管理有限公司第二批次招聘劳动合同工5人笔试备考题库及答案解析.docx VIP
- 劳力士培训课件.ppt VIP
- 医学大数据分析与挖掘方法及应用研究综述.pptx VIP
- 第一视角与第三视角.ppt VIP
- 窗口人员劳务派遣投标方案模板(345).doc VIP
原创力文档


文档评论(0)