一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共 10 小题,
每小题 2 分,总计 20 分)
1、数据的正确和相容称之为数据的 D__。
A. 安全性
B. 一致性
C. 独立性
D. 完整性
2、关系模式 R 中的属性全部都是主属性,则 R 的最高范式必定是 D。
A.2NF
B.3NF
C.BCNF
D. 4NF
3、用于数据库恢复的重要文件是 C。
A.数据库文件
B.备注文件
C. 日志文件
D.索引文件
4、若事务 T 对数据 R 加 X 锁,则其他事务对数据 R
_D_。
A.可以加 S 锁,不能加 X 锁
B.不可加 S 锁,可以加 X 锁
C.可以加 S 锁,也可以加 X 锁
D. 不能加任何锁
5、任何一个供应商可向任何一个工程供应任何一种零件,该事务规则只能用_C__表示。
A. 一元联系
B. 二元联系
C. 三元联系
D. 四元联系
6、必须使用游标的嵌入式 SQL 语句的情况是_B_____。
A.INSERT
B. 对于已知查询结果确定为多元组时
C.DELETE
D.对于已知查询结果确定为单元组时
7、“脏”数据的读出是_B___遭到破坏的情况。
A. 完整性
B. 并发性
C. 安全性
D. 一致性
8、下面不属于 ACID 限制的是_D___。
A. 原子性
B. 隔离性
C. 持久性
D. 共享性
9、数据库系统的基础是_D___。
A.数据结构
B. 数据库管理系统
C. 操作系统
D.数据模型
10、在登录日志文件时,应该____C____。
A. 将更新数据库与登录日志文件两个操作同时完成
B. 将更新数据库与登录日志文件两个操作按随机的先后顺序完成
C. 先登录日志文件,后写数据库的更新
D. 先写数据库的更新,后登录日志文件
二、简答题(本大题共 4 小题,总计 25 分)
1、试述数据库系统中可能发生的故障有哪几类。
答:事务故障、系统故障、介质故障、计算机病毒
2、聚簇的含义。
答:为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值
的元组集中存放在连续的物理块称为聚簇。
3、数据字典的定义和内容。
答:数据字典是系统中各类数据描述的集合。内容通常包括:数据项,数据结构,数据流,数据存
储,处理过程五个部分。
4、 分析如图所示的事务运行会带来什么问题?如何解决?其中 FIND 表示从 DB 中读值,UPD 表示把值
写回到 DB。(本题 10 分)
答:丢失修改,使用 X 锁封锁解决。
时间
事务T1
数据库中A的值
事务T2
T0
t1
t2
t3
t4
t5
t6
t7
FIND
A
A:=A-30
UPD
A
100
70
200
FIND
A
A:=A*2
UPD
A
三、按要求完成如下操作(本大题共 12 小题,每小题 2 分,总计 25 分)
在学生-课程数据库中有三个表:
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
(一)用 SQL 语句实现如下功能:
1、建立学生表 Student,其中学号不能为空,值是唯一的,并且姓名取值也唯一。
2、查询所有姓刘学生的姓名、学号和性别。
3、查询所有有成绩的学生学号和课程号。
4、查询选修了 3 号课程的学生的学号及其成绩,查询结果按分数降序排列。
5、查询选修了课程的学生人数。
6、查询选修了 4 门以上课程的学生学号。(本题 3 分)
7、求选修 2 号课的学生学号,成绩,这些学生的成绩比选修 1 号课的最低成绩要高。
8、建立计算机专业选修了 2 号课程的学生视图。
9、把对选课的 INSERT 权限授予 U1 用户,并允许他再将此权限授予其他用户
1.CREATE TABLE Student
CHAR(5) NOT NULL UNIQUE,
(Sno
Sname CHAR(20) UNIQUE,
Ssex
Sage
Sdept
CHAR(1) ,
INT,
CHAR(15));
2.SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE ‘刘%’;
3.SELECT Sno,Cno
FROM SC
WHERE Grade IS NOT NULL;
4.SELECT Sno,Grade
SC
FROM
WHERE
ORDER BY Grade DESC;
Cno= ' 3 '
5.SELECT COUNT(DISTINCT Sno)
FROM SC;
6.SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*) >4;
7.SELECT 学号,成绩
FROM 选课
WHERE 课号=‘2’AND 成绩>ANY
(SELECT 成绩
FROM 选课
WHERE 课号=‘1’);
8.CREATE VIEW SO_S1(学号,姓名,成绩)
AS
SELECT 学生.学号,姓名,成绩
FROM 学生,选课
学生.学号=选课.学号 AND
选课.课号= '2';
9.GRANT INSERT
ON TABLE 选课
TO U1
WITH GRANT OPTION;
(二)用关系代数实现下列功能
1、查询选修了全部课程的学生号码和姓名。
2、查询选修了 1 号课程的学生的姓名。
WHERE 专业= ‘计算机' AND
3、查询年龄小于 20 岁的学生。
1、πSno,Cno(SC)÷πCno(Course)
πSno,Sname(Student)
2、πSname(σCno='1'(SC))
3、σSage < 20(Student)
四、综合题(共 10 分)
设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址;二
是“商品”实体集、属性有商品号、商品名、规格、单价;三是“职工”实体集,属性有职工编号、姓
名、性别、业绩。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可在多个商店销售,每个
商店销售的每一种商品,都有月销售量记录;商店与职工间存在着“聘用”联系,每个商店的职工人数
应该在 20—100 人之间,每个职工只能在一个商店工作,商店聘用职工有聘用期和月薪。
问题:
(1) 设计满足上述要求的 E-R 图。
职工
n
聘用
1
商店
m
销售
n
商品
(2) 将该 E-R 图转换为等价的关系模式,并注明主码和外码。
答:(带下划线的为主码,黑体的为外码):
商店(商店编号,商店名、地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)