哈尔滨工业大学2010年考博专业课试题《数据库原理》资料

  • 格式:doc
  • 大小:241.00 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨工业大学2010年春博士入学考试《数据库原理》试卷

一、名词解释(15分,每小题3分)

(1)无损联接(P122)

称这个分解 是满足函数依赖集的无损连接

(2)函数的逻辑蕴含

(3)多值依赖

(4)函数依赖集F的闭包F+

设R是一个具有属性集合U的关系模式,F是给定的函数依赖集合,由F推导出的所有函数依赖的集合,称为F的闭包,记作F+。

(5)简要分析关系规范化的利弊

关系模式规范化:把一个给定关系模式转化为某种范式的过程称为关系模式的规范化过程,简称规范化。关系模式规范化的主要方法是关系模式的分解,即把一个低一级范式的关系模式分解为若干个高一级范式的子关系模式,使这些子模式具有指定的某种范式。

关系规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常、更新不一致等问题。规范化的程度越高,数据的冗余和更新异常相对减少,但由于联接运算费时,查询时所花的时间也就越多。因此,规范化的程度不是越高越好,而取决于关系运算的实际需求。在实际工作中,应根据具体情况权衡利弊,适可而止。一般来说,静态关系模式(数据加载之后,用户在这个关系上仅运行查询操作,不再进行更新、插入和删除等操作)只需具有第一范式形式,动态关系模式(用户经常在这个关系上进行更新、插入和删除等操作)至少具有第三范式形式。

二、已知关系模式R的属性集合U={A,B,C,D,E},函数依赖集合F={A→C,B→C,C→D,DE →C,CE→A},分解ρ={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)},请验试ρ是否具有无损联接性(15分)

解:ρ的无损联接性判断表结果如下表示

由于表中不存在值为a1,a2,a3,a4,a5的行,所以分解ρ具有无损联接性。

三、什么是故障点、检查点、转储点?请按某次完整的故障恢复过程,描述这三者在故障恢复过程中的使用(10分)

1. 数据库故障的种类及其恢复策略

数据库系统可能发生的故障主要分为四类:事务故障、系统故障、介质故障和计算机病毒。

(1)事务故障

事务故障是指事务在运行过程中由于种种原因未能运行到正常结束点前而被终止,通常分为:

可预期的事务故障:应用程序可以发现并让事务回滚,撤销已做的修改操作,恢复数据库到正确状态。

非预期的事务故障:这些事务故障不能由事务程序处理,如并发事务发生死锁而被撤销等。

事务故障的恢复方法:恢复到事务未执行时的状态。反向阅读日志文件,找出该事务的所有更新操作,对每一项更新操作做它的逆操作,即强行回滚(ROLLBACK)该事务,这类恢复操作称为事务撤销(UNDO)。

(2)系统故障

系统故障是指造成数据库系统停止运行的任何事件,如操作系统、DBMS、硬件故障或突然断电等,使得系统需要重新启动,通常称为软故障(Soft Crash)。系统故障影响正在运行的所有事务,但不破坏数据库。

发生系统故障时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。发生系统故障时,一些尚未完成的事务的结果可能己送入物理数据库,从而造成数据库可能处于不正确的状态。为保证数据一致性,需要清除这些事务对数据库的所有修改。恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销(UNDO)所有未完成事务。另一方面,发生系统故障时,有些己完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态,因此应将这些事务己提交的结果重新写入数据库。所以系统重新启动后,恢复子系统除需要撤销所有未完成事务外,还需要重做(REDO)所有己提交的事务,以将数据库真正恢复到一致状态。

系统故障的恢复方法:对未完成的事务进行回滚,强行撤销(UNDO)所有未完成的事务;对已完成的事务提交,结果仍在缓冲区的事务重新提交。

(3)介质故障

介质故障称为硬故障(Hard Crash),是指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。这类故障比前两类故障发生的可能性小得多,但破坏性最大。

发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复策略是重装数据库,然后重做已完成的事务。

介质故障的恢复方法:首先,装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态;对于动态转储的副本,还须同时装入转储开始时的日志文件副本,利用恢复系统故障的方法(重做REDO+撤销UNDO)将数据库恢复到一致性状态。其次,装入相应的日志文件副本,重做已完成的事务。最后,从故障开始点反向读日志文件,使数据库恢复到故障前那一刻的状态。

(4)计算机病毒

计算机病毒是一种人为的故障或破坏,是一些恶作剧者研制的一种计算机程序。

恢复方法与介质故障的恢复方法相同。

2. 数据库恢复技术

数据库恢复的基本单位是事务。数据库恢复的基本策略是数据冗余和事务恢复,其中数据冗余是指数据备用副本和日志文件,事务恢复是利用事务作为操作单位进行恢复。

数据库恢复的基本思想:数据库系统通过记录日志和数据转储来建立冗余数据。日志记录了数据库的所有更新操作信息,所有故障的恢复都需要它。数据转储制作数据库的后备副本,这些副本与日志配合使用,用来实现介质故障恢复。数据库镜像在不同的存储介质上维护数据库的同步副本,也是建立冗余数据的一种方法。使用数据库镜像可以简化介质故障的恢复,但需要附加的存储设备。

数据恢复可分两个方面:一是事务或系统故障的恢复;另一个是存储介质故障的恢复。对于事务和系统故障涉及的存储器主要是主存储器和高速缓冲存储器,这两个存储器属临时存储器。当事务或系统发生故障时,临时存储器上的数据要么被破坏,要么全部丢失。介质故障涉及的存储器主要是硬盘、软盘、磁带等永久存储器。不管哪种故障恢复都必须借助日志文件,日志文件必须存放于理论上永远不会损坏的存储器上,称为永恒存储器。

数据库恢复的基本方法有:定期备份数据库、建立日志文件、针对不同故障类型分别恢复。

(1)基于日志的恢复技术

日志是数据库管理系统用来记录事务对数据库相关历史操作的文件,是日志记录的序列,记录了每个事务的开始标记、结束标记和所有更新操作。不同的数据库系统采用不同的日志文件,这些日志文件主要包括以记录为单位的日志文件和以数据块为单位的日志文件两种。

⏹以记录为单位的日志文件登录的内容:

①各事务的开始标记,用表示。

②各事务的结束标记,用表示事务已经提交。

③各事务的所有更新操作。用表示T事务在数据对象X上执行的操作,其中V1、V2表示更新前后数据对象的值。

⏹以数据块为单位的日志文件登记的内容包括:

①事务标识

②被更新的数据块。

日志文件的作用除进行事务故障的恢复和系统故障的恢复外,还用于存储介质故障的恢复。

事务故障和系统故障都不破坏存储在磁盘上的数据库,可以使用日志进行数据库恢复。日志除可以用来进行事务故障恢复和系统故障恢复外,还可协助后备副本进行介质故障恢复。当数据库被破坏后,可重新装入后备副本把数据库恢复到转储结束时的正确状态,然后利用日志文件,把已完成的事务进行重做,对故障发生时候未完成的事务进行撤销处理。因此,利用日志文件恢复数据库的方法如下图所示。