【考研题库】2020年中国石油大学(北京)数据库原理(同等学力加试)考研复试核心题库[简答题+应用题

版权声明

本书根据最新复试要求并结合历年复试经验按照复试题型进行了整理编写,涵盖了这一复试科目该常考及重点复试试题并给出了参考答案,针对性强,由于复试复习时间短,时间紧张建议直接背诵记忆,考研复试首选资料。

青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。

因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。

特别说明

本书由本机构编写组多位高分在读研究生按照考试大纲、真题、指定参考书等公开信息潜心整理编写,仅供考研复试复习参考,与目标学校及研究生院官方无关,如有侵权请联系我们立即处理。

一、简答题

1.查询处理的任务是什么?查询处理的目标是什么?

【答案】查询处理的任务:

(1)全局查询到分片查询的转换。

(2)查询处理的优化^

查询处理的目标:

(1)使网络中数据的传输量最小。

(2)传输时间最短。

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?

【答案】数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。

后者是数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

3.DBMS中为什么要设置系统缓冲区?

【答案】设立系统缓冲区的原因如下。

一是为了把存储层以上的DBMS各系统成分和实在的外存设备隔离,外存设备的变更不会影响这些系统,使RDBMS具有设备独立性。

二是为了提高效率。RDBMS利用系统缓冲区滞留数据。当需要读取数据时系统首先到缓冲区中查找。只有当缓冲区中不存在该数据时才真正从外存读入该数据所在的页面。当要写回一元组到数据库中时,系统并不把它立即写回外存,仅把该元组所在的缓冲区页面作一标志,表示可以释放。只有当该用户事务结束或缓冲区已满需要调入新页时才按一定的淘汰策略把缓冲区中已有释放标志的页面写回外存。这样可以减少I/O次数,提高系统效率。

4.试述数据库设计的特点。

【答案】数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。其主要特点:

(1)数据库建设是硬件、软件和干件(技术与管理的界面)的结合。

(2)从软件设计的技术角度看,数据库设计应该和应用系统设计相结合。也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。

5.试述查询优化的一般步骤。

【答案】各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下:

(1)把查询转换成某种内部表示,通常用的内部表示是语法树。

(2)把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。

(3)选择低层的存取路径。

(4)生成查询计划,选择代价最小的。

6.简述面向对象的数据库系统的优点。

【答案】面向对象的数据库系统在逻辑上和物理上将面向元组的处理上升为面向对象、面向具有复杂结构的逻辑整体。允许使用自然的方法,并结合数据抽象的机制在结构和行为上对复杂的对象建立模型,从而提高管理效率,降低用户使用的复杂性,并且为版本管理、动态模式修改等功能的实现创造了条件。

7.说明数据不一致性中丢失修改的含义。

【答案】事务和先后从数据库读取同一数据,然后把修改的数据写回数据库,随后也把

修改的数据写回数据库,这样就覆盖了的操作结果,也就是对该数据的修改丢失了。

8.规范化理论对数据库设计有什么指导意义?

【答案】规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。

9.什么是函数依赖?

【答案】如果关系R中的两个元组在某个特定的属性集A上一致,则它们在某个其他特定属性B上也一致,就称B与A之间的关系为函数依赖。具体地说,就是B函数依赖于A,或者A函数决定B。

10.为什么系统不允许事务只提交对部分数据库或变量所做的更新,而不同时提交对其他部分数据库或变量所做的更新?

【答案】这样违背了事务特性中的原子性。如果事务能提交一些而不是全部更新,那么未提交的更新有可能将回滚,而已提交的更新又不能回滚,这样,事务将不再满足定义“事务要么都做,要么都不做”。

11.并发操作可能导致哪几种数据不一致的现象?采用什么协议解决这几种数据不一致现象?

【答案】并发操作可能导致修改丢失,读“脏”数据和不可重复读等3种数据不一致现象。采用一级封锁协议可解决丢失修改的问题,二级封锁协议既可解决丢失修改的问题,也可解决读“脏”数据的问题,而三级封锁协议可全部解决上述3种数据不一致现象。

12.试述SQL的定义功能。

【答案】SQL的数据定义功能包括定义表、定义视图和定义索引。

SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX语句建立索引,DROP INDEX语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW语句删除视图。

13.关系代数的基本运算有哪些?如何用这些基本运算来表示其他的运算?

【答案】在八种关系代数运算中,并、差、笛卡尔积、投影和选择五种运算为基本的运算。其他三种运算,即交、连接和除,均可以用五种基本运算来表达。

交运算:;

连接运算:;

除运算:。

X,Y,Z为属性组,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域集。

14.简述对象-关系数据库系统的特点。

【答案】对象-关系数据库系统除了具有原来关系数据库的各种特点外,还提供以下特点。

(1)扩充数据类型。

对象-关系数据库系统允许用户在关系数据库系统中扩充数据类型,即允许用户根据应用需求自己定义数据类型、函数和操作符。

(2)支持复杂对象。

能够在SQL中支持复杂对象。复杂对象是指由多种基本数据类型或用户定义的数据类型构成的对象。

(3)支持继承的概念。

能够支持子类、超类的概念,支持继承的概念,包括属性数据的继承和函数及过程的继承;支持单继承与多重继承;支持函数重载(操作的重载)。

(4)提供通用的规则系统。

15.什么叫活锁?如何防止活锁?

【答案】如果不断有事务申请对某数据对象的S锁,从而导致它始终被S锁占有,而X锁的申清一直无法得到响应,这种现象叫做活锁。防止活锁的方法可以在加锁协议中规定“先请求,先服务”的原则。这样,就可以防止后申请的加锁先得到响应。

16.使用数据库系统有什么好处?

【答案】使用数据库系统的好处是由数据库管理系统的特点与优点决定的。

使用数据库系统的好处很多,如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。

使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中成用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。用一个通俗的比喻,使用了DBMS就如同有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。

还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。

使用数据库系统可以减轻数据库系统管理人员维护系统的负担:因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、完全性、多用户并发控制、故障恢复等,都由DBMS执行。

总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。

17.试述使用检查点方法进行恢复的步骤。

【答案】(1)从重新开始文件(见下图)中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。

(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。

这里建立两个事务队列:

①UNDO-LIST:需要执行UNDO操作的事务集合;

②REDO-LIST:需要执行REDO操作的事务集合。

把ACTIVE-IJST暂时放入UNDO-LIST队列,REDO队列暂为空。

(3)从检查点开始正向扫描日志文件:

①如有新开始的事务,把暂时放入UNDO-LIST队列;

②如有提交的事务,把从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;

(4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。

18.SQL2中提供了几种权限,分别是什么?

【答案】査询(SELECT):允许用户对关系或视图进行査询操作;

插入(INSERT):允许用户对关系或视图进行插入操作;

删除(DELETE):允许用户对关系或视图进行删除操作;

修改(UPDATE):允许用户对关系或视图进行修改操作;

引用(REFERENCES):用户定义新关系时可引用其他关系的键码作为外键码;

使用(USAGE):用户可使用已定义的域。

19.试述网状、层次数据库的优缺点。

【答案】层次模型的优点:

(1)模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点;

(2)用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型;

(3)层次数据模型提供了良好的完整性支持。

层次模型的缺点:

(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决;

(2)对插入和删除操作的限制比较多;

(3)查询子女结点必须通过双亲结点。

网状数据模型的优点:

(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲;

(2)具有良好的性能,存取效率较高。

网状数据模型的缺点:

(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;

(2)其DDL、DML语言复杂,用户不容易使用。

由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

20.需求分析阶段的设计目标是什么?调查的内容是什么?

【答案】需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充

相关文档
最新文档