一、单选题(每小题 2 分,共 30 分)
1.
实现数据库安全性控制的常用方法和技术有(
A
)
A
.用户标识与鉴别、存取控制、视图机制、审计、数据加密
B
.存取控制、视图机制、审计、数据加密、防火墙
C
.用户标识与鉴别、存取控制、视图机制、审计、防火墙
D
.存取控制、视图机制、审计、数据加密、数据转储
2.
数据库系统与文件系统的主要区别是(
B
)
A.
数据库系统复杂,而文件系统简单
B.
文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
C.
文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
D.
文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
3.
数据库系统的数据独立性体现在(
B
)
A.
不会因为数据的变化影响到应用程序
B
.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.
不会应为存储策略的变化而影响存储结构
D
.不会因为某些存储结构的变化而影响其他存储结构
4.
建立索引的作用之一是(
C
)
A
.节省存储空间
B
.便于管理
C.
提高查询速度
D
.提高查询和更新的速度
5.
数据库(
DB
)、数据库系统(
DBS
)、数据库管理系统(
DBMS
)三者之间的关系是(
A
)
A
.
DBS
包括
DB
和
DBMS
B
.
DBMS
包括
DB
和
DBS
C.DB
包括
DBS
和
DBMS
D.DBS
就是做出来,也就是
DBMS
6.
撤销用户
manger1
修改
salary
表中的
“
姓名
”
字段的权限,应使用的
SQL
语句是 (
B
)
(
A
)
REVOKE UPDATE(
姓名
) on salary TABLE FROM manager1
(
B
)
REVOKE UPDATE(
姓名
) on TABLE salary FROM manager1
(
A
)
REVOKE MODIFY(
姓名
) on salary TABLE FROM manager1
(
A
)
REVOKE MODIFY (
姓名
) on TABLE salary FROM manager1
7.
有一张学生数据表
st
(
sno, sname, sage,scity
),要想查询同学们所在城市的种类个数,以下 SQL
语句正确的是(
A
)
(
A
)
SELECT COUNT(DISTINCT scity) FROM st
(
B
)
SELECT COUNT(scity) FROM st
(
C
)
SELECT COUNT(sno) FROM st
(
D
)
SELECT COUNT(sno) FROM st GROUP BY scity
8.
在
SC(Sno,Cno, Grade)
表中查找缺少成绩的同学的学号和课程号,下面
SQL
语
句中
WHERE
子句的条件表达式应该是:
(
D
)
(A)Grade=0
(B)Grade<=0
(C) Grade=NULL
(D)Grade is NULL
9.
不能激活触发器的事件是(
C
)
(A)UPDATE
(B)INSERT
(C)SELECT
(D)DELETE
10.
采用三级模式的主要原因是(
D
)
(A)
便于应用程序从不同角度进行数据调用
(B)
便于构建数据的二级映象
(C) 将大模式分解为小模式,便于数据库管理系统进行分级治理
(D)
便于解决程序于数据之间的数据独立性
11.
以下哪种情形不适合创建索引(
C
)
(A)
需要强制保持唯一性的列
(B)
连接中频繁使用的列
(C)
只有两个或若干个的列
(D)
表中的主键列
12.
设有一个关系:
Student(Sno,Sname)
,如果要找出倒数第三个字母为
Y
,并且至少包含 5
个字母的
Sname
,则查询条件子句应写成
WHERE Sname LIKE
(
B
)
(
A
)
'_ _ _Y_%'
(
B
)
'_ _%Y_ _'
(
C
)
'_ _Y_ _'
(
D
)
'_ _Y_%'
13.
给定关系
R
与
S
,关系代数运算
R
∩
S
等价于(
D
)
(A)S-(R-S) (B) S-R (C)R-(S-R) (D) R-(R-S)
14.
一个读者同时可以从图书馆借阅多本书,一本书只能有一位读者借阅,读者与书之间是什么样的联系(
B
)
(A)
多对多
(B)
一对多
(C)
一对一
(D)
以上都不是
15.
在一个关系中,全部字段都是不可分的,给定一个关键字就可以在这个数据表中唯一确定一条记录,这个关系肯定能够满足 1NF, 2NF
与
3NF
中的(
A
)
(A) 1NF
(B) 1NF
与
2NF
(C) 2NF
与
3NF
(D) 1NF
,
2NF
与
3NF
二、简答题(每小题 6 分,共 24 分)
1.
什么是关系模式?什么是关系?简述关系模式和关系的对比?
答:
关系模式(
Relation Schema
)是型,对关系的描述,是静态的、稳定的。
(
2
分)
关系是值,是有元组来确定的,是动态的、随时间不断变化的,是关系模式在某一时刻的状态或内容。
(
2
分)
关系模式是对关系的描述,关系模式和关系往往统称为关系。
(
2
分)
2.
试述关系数据库系统中视图的作用。是否所有的视图都可以更新?为什么?
答:
视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
(
3
分)
不是。
(
1
分)
视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。
(
2
分)
3.
试述完整性约束条件的机制。参照完整性如何进行违约处理?
答:
完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束 条件;
SQL
标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性;这些完整性一般由 SQL
的数据定义语言语句来实现。
(
3
分)
参照完整性违约处理:
1
)拒绝(
NO ACTION
)执行。不允许该操作执行。该策略一般设置为默认策略。
(
1
分)
2
) 级联(
CASCADE
)操作
,
当删除或修改被参照表的一个元组造成了与参
照表的不一致,则删除或修改参照表中的所有造成不一致的元组
.
(
1
分)
3
)设置为空值(
SET-NULL
)
,
当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。
(
1
分)
4.
强制存取控制的特点?强制存取控制的规则是什么?为什么要这样设置?
答:
强制存取控制(
Mandatory Access Control
,简称
MAC
)
1
)
B1
级
(
0.5
分)
2
)每一个数据对象被标以一定的密级
(
0.5
分)
3
)每一个用户也被授予某一个级别的许可证
(
0.5
分)
4
)对于任意一个对象,只有具有合法许可证的用户才可以存取
(
0.5
分)
强制存取控制规则:
1
)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(
1
分)
2
)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
(
1
分)
防止高许可证级别的主体恶意降低高密级客体导致数据泄露
(
2
分)
三、计算设计题(共 46 分)
1.
已知有关系模式
R
(
A,B,C,D,E
)
,R
上的一个函数依赖集
F={A
→
BC, B
→
CE, A→
B, AB
→
C, AC
→
D}.
求
R
上
F
的一个最小函数依赖集(请写出求解过程,分三个步骤)(13
分)
【解答】
(1)
右边单属性:
F={ A
→
B , A
→
C, B
→
C, B
→
E, AB
→
C, AC
→
D }
(
5
分)
(2)
去掉左部冗余属性:
AB
→
C
中的
B
可约,因为
A
→
C
已知
(
2
分)
;
AC
→
D
的C 可约,因为由
A
→
C
可推出
A
→
AC,
根据
AC
→
D
传递率可推出
A
→
D
(
2
分)
,
因此
F{ A
→
B , A
→
C, B
→
C, B
→
E
,
A
→
D }
(
2
分)
(
3
)去掉冗余函数依赖关系:
A
→
C
可由传递率推出,为冗余,应去掉:F{ A→
B , B
→
C, B
→
E
,
A
→
D }
(
3
分)
2.
设有学生关系
S(Sno
,
Sname
,
Reward)
,选课关系
SC
(
Sno
,
Cno
,
Grade
)
,
课程关系 C(Cno
,
Cname
,
Cpo)
,(
18
分)
注:关键词如果拼写错误,每个
0.5
分
(1)
试用
SQL
语句定义一个有关学生学号及其其平均成绩的视图
SV
。
(
3
分)
【解答】
CREATE VIEW SV AS SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno
(2)
试用
SQL
语句检索选修
C2
或
C5
课程的学生学号。
(
3
分)
【解答】
SELECT Sno FROM SC WHERE Cno=‘C2’OR Cno=
‘C5’
(3)
用
SQL
语句完成如下操作:对单科成绩超过
95
分的学生,如果没有得过奖学金(NULL
值
)
,将其奖学金设为
500
元。
(
3
分)
【解答】
UPDATE S SET Reward=
500 WHERE Reward IS NULL AND Sno IN
(
SELECT Sno FROM SC WHERE Grade >=
95
)
(注:
>
=
95
或
>95
都算正确)
(4)试用
SQL
语句检索选修课程程名为
Database
的学生姓名和成绩。
(
3
分)
【解答】
SELECT Sname, Grade FROM S,C,SC WHERE S.Sno=SC. Sno AND SC.Cno=C.Cno AND C.Cname=‘Database’
(5)
试用关系代数表达式检索没有选修
Database
课程的学生姓名。
(
3
分)
【解答】
(6)
试用关系代数表达式检索至少选修了一门其直接先行课为
Database
的学生姓名。
(
3
分)
【解答】
3.
设有一个记录高校学生参加社团情况的关系模式
R(
学生号,姓名,年级,社团名称,社团简介,社团负责人,担任职务)
。如果规定:每名学生可同时参加多个社团,在每个社团中只担当一种职务;每个社团由多人组成,只有一位负责人。 (15
分)
(1)
根据上述规定,写出模式
R
的基本函数依赖和关键码。(
5
分)
【解答】
R 的基本函数依赖:
(学生号,社团名称)
→
担任职务 学生号
→
姓名 学生号
→
年级 社团名称
→社团简介 社团名称→
社团负责人
(
3
分
,1
个正确
1
分,每多一个正确
+0.5
)
关键码是:(学生号,社团名称)
(
2
分)
(2) R 最高属于第几范式。(
5
分)
【解答】
由于存在学生号→
姓名,所以姓名局部依赖于候选键,所以
R
是第一范
式
(
5
分,如果前面分析正确,但
R
的范式归属回答错误,给
3
分)
(3)
将
R
规范到
3NF
。(
5
分)
【解答】
将 R
分解为:
R1
(学生号,姓名,年级)
R2
(社团名称,负责人,简介)
R3
(学生号,社团名称,担任职务)
(
5
分,关系分解正确
1
项给
2
分,
2
项给
4 分,全部正确给
5
分)