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

发布 2022-11-08 03:17:28 阅读 2875

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

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

1)无损联接(p122)

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

2)函数的逻辑蕴含。

3)多值依赖。

4)函数依赖集f的闭包f+

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

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

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

关系规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常、更新不一致等问题。规范化的程度越高,数据的冗余和更新异常相对减少,但由于联接运算费时,查询时所花的时间也就越多。因此,规范化的程度不是越高越好,而取决于关系运算的实际需求。

在实际工作中,应根据具体情况权衡利弊,适可而止。一般来说,静态关系模式(数据加载之后,用户在这个关系上仅运行查询操作,不再进行更新、插入和删除等操作)只需具有第一范式形式,动态关系模式(用户经常在这个关系上进行更新、插入和删除等操作)至少具有第三范式形式。

二、已知关系模式r的属性集合u=,函数依赖集合f=,分解ρ=,请验试ρ是否具有无损联接性(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表示更新前后数据对象的值。

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

事务标识。

被更新的数据块。

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

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

因此,利用日志文件恢复数据库的方法如下图所示。

图利用日志文件恢复数据库。

说明:其中ta~tb为静态转储阶段,从ta时刻开始转储,到tb时刻转储完毕。若tf时刻发生故障,则重装后备副本,只能恢复到转储结束时刻,其后的事务必须重做。

ta为转储点,tb为检查点,tf为故障点,2)基于检查点的恢复技术。

利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要重做(redo),哪些事务需要撤销(undo)。一般需要检查所有日志记录,这样就带来两个问题:一是搜索整个日志将耗费大量的时间,二是很多需要重做(redo)处理的事务实际上已经将它们的更新操作结果写到了数据库中了,然而恢复子系统又重新执行这个操作,也会浪费大量时间。

数据转储:定期对数据库进行复制或转储(dump)。注意几个概念:静态转储、动态转储、海量转储和增量转储。

转储是指dba定期将整个数据库复制到永久存储器的过程,这些备用的数据文本称为后备副本或后援副本。一旦系统发生介质故障,数据库就遭到破坏,可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,还必须重新运行自转储以后的所有更新事务。转储按照转储时的状态分为静态转储和动态转储。

静态转储:是指在系统中无运行事务时进行的转储操作,转储操作开始时,数据库处于一致性状态,转储期间不允许对数据库的任何存取和修改,得到的是一个数据一致性的副本。

动态转储:是指转储期间允许对数据库进行存取或修改操作,即转储和用户事务可以并发执行。它不用等待正在运行的用户事务结束,必须把转储期间各事务对数据库的修改记下来,建立日志文件。

这样,后备副本加上日志文件就能把数据库恢复到某一时刻的正确状态。

采用动态转储必须借助日志文件,把转储期间的存取活动登记下来作为后援副本,方能保证恢复到转储结束时刻的正确状态。

转储又可分为海量转储和增量转储。海量转储每次转储全部数据库;增量转储指每次只转储上次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。

但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

完整数据库备份:完整数据库备份就是备份整个数据库。它备份数据库文件、这些文件的地址以及事务日志的某些部分(从备份开始时所记录的日志顺序号到备份结束时的日志顺序号)。

差异数据库备份:差异数据库备份是指将从最近一次完全数据库备份以后发生改变的数据进行备份。如果在完整备份后将某个文件添加至数据库,则下一个差异备份将会包括该新文件。

这样可以方便地备份数据库,而无须了解各个文件。

事务日志备份:事务日志备份就是自从上一个事务以来已经发生了变化的部分。事务日志备份比完整数据库备份节省时间和空间,而且利用事务日志备份进行恢复时,可以指定恢复到某一个事务。

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

哈尔滨工业大学2012年春博士入学考试 数据库原理 试卷。1.术语解释 3 5 1 数据 模式 数据模型 概念模型。数据是描述事物的符号记录,如数字 文字 图形 图像 声音 html等,是信息的载体。模式 schema 也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是数据库的总设计,一个数...

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

哈尔滨工业大学2010年春博士入学考试 数据库原理 试卷。一 名词解释 15分,每小题3分 1 无损联接 p122 称这个分解是满足函数依赖集的无损连接。2 函数的逻辑蕴含。3 多值依赖。4 函数依赖集f的闭包f 设r是一个具有属性集合u的关系模式,f是给定的函数依赖集合,由f推导出的所有函数依赖的...

哈尔滨工业大学2023年复试题

哈尔滨工业大学。二 五年硕士研究生入学考试试题。考试科目 专业课 报考专业。考试科目 考生注意 答案务必写在答题纸上,并标明题号。答在试题上无效。1 简答题。1 水源的种类。2 排水系统的布置形式。3 乳化油的去除方法。4 同向絮凝,异向絮凝。5 胶体稳定的原因?画出热能曲线。6 给水校核有什么?7...