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

2017年上海海事大学524数据库原理复试仿真模拟三套题

  摘要

一、简答题

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

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

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

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

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

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

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

【答案】(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 做任何修改。

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

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

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

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

4. 试举出三个多值依赖的实例。

【答案】(1)关系模式MSC (M ,S ,C )中,M 表示专业,S 表示学生,C 表示该专业的必

修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同,实例关系如下。按照语义对于M 的每一个值Mi , S 有一个完整的集合与之对应而不论C 取何值,

所以

由于C 与S 的完全对称性,

必然有成立。

(2)关系模式ISA (I ,S ,A )中,I 表示学生兴趣小组,S 表示学生,A 表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。按照语义有成立。

,一个学生可由多个教师来教,一个学生可在多教室上(3)上课(学号,教师工号,教室)

课,而且一个教师可在多个教室上课,一个教室可由多个教师上课。所以存在如下多值依赖

5. 简述关系数据语言的特点和分类。

【答案】(1)这些关系数据库语言的共同特点是:都是非过程化的集合操作语言,具有完备的表达能力,功能强,能够嵌入高级语言中使用。

(2)关系数据语言分为三类:

①关系代数语言。关系代数是用对关系的运算来表达查询要求的。

②关系演算语言。关系演算是用谓词来表达查询要求的。

③SQL 。具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询DDL 、DML 和DCL 于一体的关系数据语言。

6. 什么是NoSQL ,试述NoSQL 系统在人数据库发展中的作用。

【答案】(1)NoSQL 是以互联网大数据应用为背景发展起来的分布式数据管理系统,它有两种解释:一种是 Non-Relational ,即非关系数据库;另一种是Not Only SQL, 即数据管理技术不仅仅是SQL 。NoSQL 系统支持的 数据模型通常分为

(document )。

(2)NoSQL 系统为了提高存储能力和并发读写能力采用了极其简单的数据模型,支持简单的查询操作,而 将复杂操作留给应用层实现。该系统对数据进行划分,对各个数据分区进行备份,以应对结点可能的失败,提高 系统可用性;通过大量结点的并行处理获得高性能,釆用的是横向扩展的方式(scale out)。

模型、BigTable 模型、文档

二、应用题

7. 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若千研宄生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R 图画出此学 校的概念模型,实体的属性可自行设计。

【答案】对应的E-R 图如图所示。各实体的属性如下:

①系:系名、系主任名、系地址、系电话。

②班级:班号、班长、人数。

③教研室:教研室名、地址、电话。

④学生:学号、姓名、性别、年龄、籍贯、入学年份、专业。

⑤本科生:已修学分、平均成绩。

⑥研宄生:研宄方向、导师姓名。

⑦教员:编号、姓名、年龄、性别、职称、专长。

⑧正副教授:科研项目、研宄方向。

⑨课程:课程号、课程名、学分、类型(选修/必修)。

其中,学生实体是本科生和研宄生实体的超类,教员实体是正、副教授实体的超类,超类和子类之间具有继承关系。

图 学校E-R 概念模型