2017年山东农业大学数据库原理考研复试核心题库
● 摘要
一、简答题
1. 写出面向对象数据库产生的主要原因。
【答案】面向对象数据库产生的两个主要原因是:
(1)传统的数据模型和系统往往不能满足CAD/CAM、GIS 和多媒体数据库这些复杂数据库应用的要求。 例如,对象的结构更为复杂,事务持续时间更长,需要存储图像或大文本项数据类型。面向对象的方法为处理这些应用需求提供了很大的灵活性,使人们摆脱了传统DBS 对数据类型和查询语言的限制,能让设计者定义并应 用复杂对象的结构。
(2)人们在开发应用软件时,越来越多使用面向对象的程序设计语言。现在数据库已称为软件系统的基本组成部分,但是如果用面向对象的语言开发软件,很难把传统数据库嵌入到这种面向对象的应用软件中。所以面 向对象数据库就应运而生,把数据库和面向对象语言开发的软件直接或无缝地集成在一起。
2. 什么是数据库的恢复?恢复的基本原则是什么?恢复是如何实现的?
【答案】(1)在数据库系统投入运行后,就可能会出现各式各样的故障,即数据库被破坏或数据不正确。作为 DBMS , 应能把数据库从被破坏后不正确的状态,变成最近的一个正确的状态,这个过程称为“恢复”的过程。DBMS 的这种能力称为可恢复性。
(2)恢复的基本原则就是“冗余”,即数据库重复存储。数据库恢复可用以下方法实现: ①周期性地对整个数据库进行复制或转储。
②建立日志文件,对于数据库的每次插入、删除或修改,都要记下改变前后的值,写到日志文件中,以便有案可查。
(3)一旦发生数据库故障,则分两种情况处理:
①如果数据库已被破坏,如磁头脱落、磁盘损坏等,这时数据库已不能用了,就要装入最近一次复制的数据 库,然后利用日志文件执行“重做”操作,将这两个数据库状态之间的所有修改重新做一遍。这样就建立了新的 数据库,同时也没丢失对数据库的更新操作。
②如果数据库未被破坏,但某些数据不可靠,受到怀疑,例如程序在修改数据库时异常中断,这时,不必去复制存档的数据库,只需通过日志文件执行“撤消”操作,撤消所有不可靠的修改,把数据库恢复到正确的状
3. UNDO 操作和REDO 操作各做些什么事情?
【答案】(1)在恢复操作中,REDO 操作称为重做,UNDO 操作称为撤消。如果数据库被破坏,利用日志文件 执行REDO 操作,将两个数据库状态之间的所有修改重新做一遍。这样,建立了新的数据库,同时也没丢失对数据库的更新操作。
(2) REDO 处理的方法是正向扫描日志文件,重新执行登记的操作。如果数据库未被破坏,但某些数据可 能不可靠,这时,可通过日志文件执行REDO 操作,把已经结束的、不可靠的事务进行REDO 处理。
(3)UNDO 处理的方法是反向扫描日志文件,对每个UNDO 事务的更新操作执行逆操作,即对已插入的新 记录执行删除操作,对己删除的记录重新插入,对已修改的数据库用旧值代替新值。
4. 具有检查点的恢复技术有什么优点? 试举一个具体例子加以说明。
【答案】(1)在采用检查点技术之前,利用日志技术进行数据库的恢复时需要从头扫描日志文件,而利用检查点技术只需要从检查点所处时间点起开始扫描日志,这就缩短了扫描日志的时间,改善恢复效率。
(2)例如当事务T 在一个检查点之前提交,T 对数据库所做的修改已经写入数据库,那么在进行恢复处理时,没有必要对事务T 执行REDO 操作。
5. 关系数据库管理系统的语言处理层是如何处理一个数据定义语言语句的?
【答案】语言处理层首先要对DDL 语句进行语法检查、语义检查和用户权限检查。语义检查的具体做法是,DBMS 读取数据字典,检查是否存在与该语句中的表、视图或索引等要创建的对象相同的对象名,检查该用户是否具有创建数据库对象的权限。
然后,把DDL 语句翻译成内部表示,将其存储在系统的数据字典中。例如建立一个新表,就要把关系名、建立者、属性个数、记录长度等信息记入数据字典中。
6. 试述SQL 的特点。
【答案】SQL 有以下五个特点:
(1)综合统一:SQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需一种操作符,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。
(2)高度非过程化:用SQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,
因此无需了解存取路径、存取路径的选择以及SQL 语句的操作过程。这有利于提高数据独立性。
(3)面向集合的操作方式:SQL 语言采用集合操作方式,不仅操作对象和查找结果可以是元组的集合,而且插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式:SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
二、应用题
7. 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若千研宄生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R 图画出此学 校的概念模型,实体的属性可自行设计。
【答案】对应的E-R 图如图所示。各实体的属性如下:
①系:系名、系主任名、系地址、系电话。
②班级:班号、班长、人数。
③教研室:教研室名、地址、电话。
④学生:学号、姓名、性别、年龄、籍贯、入学年份、专业。
⑤本科生:已修学分、平均成绩。
⑥研宄生:研宄方向、导师姓名。
⑦教员:编号、姓名、年龄、性别、职称、专长。
⑧正副教授:科研项目、研宄方向。
⑨课程:课程号、课程名、学分、类型(选修/必修)。
其中,学生实体是本科生和研宄生实体的超类,教员实体是正、副教授实体的超类,超类和子类之间具有继承关系。
图 学校E-R 概念模型
相关内容
相关标签