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

2017年沈阳师范大学数据库复试实战预测五套卷

  摘要

一、简答题

1. 考虑两个事务。

增加加锁操作和解锁操作,并要求遵循两阶段封锁协议。

的执行是否会引起死锁,给出的一个调度并说明之。

事务可串行执行,不会引起死锁。调度如下表所示:

(1)改写(2)说明【答案】增加加锁和解锁操作后的

2. 某单位想举行一个小型的联谊会,关系Male 记录注册的男宾信息,关系Female 记录注册的女宾信息。建立一个断言,将来宾的人数限制在50人以内。(提示,先创建关系Female 和关系Male 。) 【答案】

3. 什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?

【答案】(1)数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。

(2)进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA 就要

第 2 页,共 29 页

对数据库进行重组织。DBMS 一般都提供用于数据重组织的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式,这就要进行数据库重构造。

4. 什么是封锁?基本的封锁类型有几种?试述它们的含义。

【答案】(1)封锁是指事务T 在对某个数据对象(例如表、记录等)进行操作之前,先向系统发出请求,对其加锁。加锁后,事务T 就对该数据对象有控制权,在事务T 释放锁之前,其他事务不能更新此数据对象。

(2)基本的封锁类型有两种:排它锁(简称X 锁)和共享锁(简称S 锁)。

①排它锁又称为写锁。若事务T 对数据对象A 加上X 锁,则只允许T 来读取和修改A , 其他任何事务都不能再对A 加任何类型的锁,直到T 释放A 上的锁。这就保证了其他事务在T 释放A 上的锁之前不能再读取和修改A 。

②共享锁又称为读锁。若事务T 对数据对象A 加上S 锁,则事务T 可以读A 但不能修改A , 其他事务只能再对A 加S 锁,而不能加X 锁,直到事务T 释放A 上的S 锁。这就保证了其他事务可以读A ,但在事务T 释放A 上的S 锁之前不能对A 做任何修改。

5. 关系数据库管理系统的完整性控制机制应具有哪三方面的功能?

【答案】DBMS 的完整性控制机制应具有三个方面的功能:

(1)提供定义完整性约束条件的机制。完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。SQL 标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL 的DDL 语句来实现。它们作为数据库模式的一部分存入数据字典中。

DBMS 中检查数据是否满足完整性约束条件的机制称为完整性(2)提供完整性检查的方法。

检查。一般在INSERT 、UPDATE 、DELETE 语句执行后开始检查,也可以在事务提交时检查。检查这些操作执行后数据库中的数据是否违背了完整性约束条件。

(3)违约处理。DBMS 若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NO ACTION)执行该操作,或级连(CASCADE )执行其他操作,进行违约处理以保证数据的完整性。

6. 写出面向对象数据库产生的主要原因。

【答案】面向对象数据库产生的两个主要原因是:

(1)传统的数据模型和系统往往不能满足CAD/CAM、GIS 和多媒体数据库这些复杂数据库应用的要求。 例如,对象的结构更为复杂,事务持续时间更长,需要存储图像或大文本项数据类型。面向对象的方法为处理这些应用需求提供了很大的灵活性,使人们摆脱了传统DBS 对数据类型和查询语言的限制,能让设计者定义并应 用复杂对象的结构。

第 3 页,共 29 页

(2)人们在开发应用软件时,越来越多使用面向对象的程序设计语言。现在数据库已称为软件系统的基本组成部分,但是如果用面向对象的语言开发软件,很难把传统数据库嵌入到这种面向对象的应用软件中。所以面 向对象数据库就应运而生,把数据库和面向对象语言开发的软件直接或无缝地集成在一起。

二、应用题

7. 设有如图所示的关系R 。回答以下问题:

(1)它为第几范式?为什么?

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生?

(3)将它分解为高一级范式,分解后的关系如何解决分解前可能存在的删除操作的异常问题。

R

图 —个关系R

【答案】(1)它是2NF 。

因为R 的候选码为课程名,而课程名—教师名,教师名—课程名不成立,教师名—教师地址,所以课程名教师地址,存在非主属性教师地址对候选码课程名的传递函数依赖,因此R 不是3NF 。又因为不存在非主属性 对候选码的部分函数依赖,所以R 是2NF 。

(2)存在。当删除某门课程时会删除不该删除的教师的有关信息。

(3)分解为高一级范式如图所示。

图 关系分解

分解后,若删除课程数据时,仅对关系

丢失教师方面的信息。

第 4 页,共 29 页 操作,教师地址信息在关系中仍然保留,不会