当前位置:问答库>考研试题

2017年北京大学信息管理系856情报学考研强化模拟题

  摘要

一、简答题

1. 在操作系统中也有并发控制问题,为什么数据库管理系统还要并发控制机制?

【答案】操作系统提供的封锁机制和DBMS 的封锁机制在封锁对象、封锁对象的状态、封锁

DBMS 的粒度、及封锁的类型上存在很大的差别,操作系统的封锁机制不能直接应用在DBMS 中,

必须重新设计,来满足复杂的封锁需求。

2. 试述关系数据库管理系统的语言处理层处理一个数据操纵语言语句的大致过程。

【答案】DML 语句处理的过程包括:

(1)先对DML 语句进行词法分析和语法分析,并把外部关系名、属性名转换为内部名,通过词法和语法分析后生成语法分析树;

(2)根据数据字典中的内容进行查询检查,包括审核用户的存取权限和完整性检查;

(3)对查询进行优化,包括代数优化和存取路径优化;

(4)把选中的查询执行方案描述出来。

3. 试述关系模型的3个组成部分。

【答案】关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

(1)关系数据结构:在关系模型中,现实世界的实体以及实体间的各种联系均用单一的结构类型即关系来表示。

(2)关系操作集合:关系模型中常用的关系操作包括查询操作和插入、删除、修改操作。 (3)关系完整性约束:关系模型中有实体完整性约束、参照完整性约束和用户定义的完整性约束三类约束。

4. 登记日志文件时为什么必须先写日志文件,后写数据库?

【答案】把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后进行数据库的修改。

5. 试述查询优化在关系数据库系统中的重要性和可能性。

【答案】(1)查询优化在关系数据库系统中的重要性:

关系系统的查询优化既是RDBMS 实现的关键技术,又是关系系统的优点所在。它减轻了用

户选择存取路径的负担。用户只要提出“干什么”,不必考虑如何最好地表达查询以获取较好的效率,而且系统可以比用户程序的“优化”做得更好。

(2)查询优化在关系数据库系统中的可能性:

①优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性的分布情况、这些属性上是否有索引(B+树索引、HASH 索引、唯一索引或组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。

②如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。

③优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。

④优化器中包括了很多复杂的技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。

6. 试述关系数据库的特点。

【答案】关系数据模型具有下列优点:

(1)关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。

(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。

(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,同时也简化了程序员的工作和数据库开发建立的工作。所以关系数据模型诞生以后发展迅速,深受用户的喜爱。

当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如格式化数据模型。因此为了提高性能,DBMS 必须对用户的查询请求进行优化因此増加了开发DBMS 的难度。不过,用户不必考虑这些系统内部的优化技术细节。

7. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?

【答案】(1)数据与程序的物理独立性:当数据库的存储结构改变,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

(2)数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的

,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。数据类型等)

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

(3)数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

8. 试述数据模型在数据库系统发展中的作用和地位。

【答案】(1)数据模型是数据库系统的核心和基础。

(2)数据库的发展集中表现在数据模型的发展。

9. 数据库的并发操作会带来哪些问题?如何解决?

【答案】(1)数据库的并发操作通常会带来以下3类问题:丢失更新问题;不一致分析问题;“脏数据”的读出。(2)可以用并发控制的方法调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其他事 务的干扰。另一方面,对数据库的应用有时允许某些不一致性。如有些统计工作涉及数据量很大,读到一些“脏 数据”对数据统计精度没有什么影响,这些可以降低对一致性的要求,以减少系统开销。

10.具有检查点的恢复技术有什么优点? 试举一个具体例子加以说明。

【答案】(1)在采用检查点技术之前,利用日志技术进行数据库的恢复时需要从头扫描日志文件,而利用检查点技术只需要从检查点所处时间点起开始扫描日志,这就缩短了扫描日志的时间,改善恢复效率。

(2)例如当事务T 在一个检查点之前提交,T 对数据库所做的修改已经写入数据库,那么在进行恢复处理时,没有必要对事务T 执行REDO 操作。

11.试述关系模型的概念,定义并解释以下术语:关系,属性,域,元组,码,分量,关系模式

【答案】(1)关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点中,关系模型中数据的逻辑结构是一张二维表,由行和列组成。

(2)术语的定义和解释:

①关系:一个关系对应通常所说的一张表。

②属性:表中的一列即为一个属性。

③域:属性的取值范围。

④元组:表中的一行即为一个元组。

⑤主码:表中的某个属性组,它可以惟一确定一个元组。

⑥分量:元组中的一个属性值。

⑦关系模式:对关系的描述,一般表示为关系名(属性1,属性2,... ,属性n )。

12.试证明若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。

【答案】首先以两个并发事务为例,存在多个并发事务的情形可以类推。

根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况: 事务写某个数据对象A ,读或写A ; 事务读或写某个数据对象A

, 写A 。

下面称A 为潜在冲突对象。