数据库系统概论期末考试试卷2
文章目录
数据库系统概论期末考试试卷
课程名称: 数据库系统概论
考试形式: 闭卷
考试时间: 120 分钟
满分: 100 分
考试范围: 《数据库系统概论》第 6 版,第 1 章至第 7 章
说明: 本试卷不考 E-R 图。
一、单选题(15 题,每题 2 分,共 30 分)
-
数据库系统的核心软件是( )。
A. 操作系统
B. 数据库管理系统
C. 编译系统
D. 应用程序 -
数据库系统与文件系统相比,最主要的优点是( )。
A. 数据冗余更高
B. 数据共享性好、独立性高
C. 数据只能顺序存取
D. 不需要安全控制 -
数据库系统的三级模式结构是指( )。
A. 外模式、模式、内模式
B. 概念模式、逻辑模式、物理模式
C. 用户模式、系统模式、存储模式
D. 关系模式、网状模式、层次模式 -
关系模型的数据结构是( )。
A. 树
B. 图
C. 二维表
D. 文件 -
在关系中,能唯一标识一个元组的属性或属性组称为( )。
A. 外码
B. 候选码
C. 域
D. 分量 -
关系代数中,投影运算的作用是( )。
A. 选出满足条件的行
B. 选出指定的列
C. 连接两个关系
D. 对元组排序 -
SQL 中用于修改表结构的语句是( )。
A. UPDATE
B. ALTER TABLE
C. DELETE
D. SELECT -
若要删除表中满足条件的元组,应使用( )。
A. DROP
B. DELETE
C. ALTER
D. CREATE -
SQL 查询中,WHERE 子句的作用是( )。
A. 对查询结果排序
B. 对分组结果筛选
C. 对元组进行条件筛选
D. 定义视图 -
聚集函数 COUNT(*) 的含义是( )。
A. 统计某列非空值个数
B. 统计元组个数
C. 求平均值
D. 求最大值 -
SQL 中用于收回权限的语句是( )。
A. GRANT
B. REVOKE
C. CHECK
D. COMMIT -
实体完整性要求主码属性( )。
A. 可以为空
B. 不能取空值
C. 可以重复
D. 可以由系统任意指定 -
设关系模式 R(A, B, C),若 A→B,B→C,则 A→C 体现的是函数依赖的( )。
A. 自反律
B. 增广律
C. 传递律
D. 分解律 -
若关系模式中存在非主属性对候选码的部分函数依赖,则该关系模式不满足( )。
A. 1NF
B. 2NF
C. 3NF
D. BCNF -
数据库设计中,将关系模式进一步确定存储结构和存取方法的阶段是( )。
A. 需求分析
B. 概念结构设计
C. 逻辑结构设计
D. 物理结构设计
二、多选题(5 题,每题 2 分,共 10 分)
-
数据库系统通常由( )组成。
A. 数据库
B. 数据库管理系统
C. 应用程序
D. 数据库管理员 -
数据模型通常包括( )。
A. 数据结构
B. 数据操作
C. 完整性约束
D. 数据存储设备 -
下列属于 SQL 数据定义语句的有( )。
A. CREATE TABLE
B. ALTER TABLE
C. DROP TABLE
D. INSERT -
关系完整性约束主要包括( )。
A. 实体完整性
B. 参照完整性
C. 用户定义完整性
D. 并发完整性 -
数据库安全性控制方法包括( )。
A. 用户身份鉴别
B. 存取权限控制
C. 视图机制
D. 审计
三、判断题(10 题,每题 1 分,共 10 分)
-
数据库系统可以减少数据冗余,提高数据共享性。( )
-
数据库的逻辑独立性是指内模式改变时,模式可以保持不变。( )
-
关系中的元组顺序不影响关系的含义。( )
-
关系中的每个属性都必须是不可再分的数据项。( )
-
SQL 只能用于查询数据,不能用于定义数据库结构。( )
-
GROUP BY 子句用于对查询结果进行分组。( )
-
HAVING 子句通常用于对分组后的结果进行条件筛选。( )
-
外码的取值必须与被参照关系的主码值完全一致,不能取空值。( )
-
满足 BCNF 的关系模式一定满足 3NF。( )
-
数据库完整性控制的目的是防止非法用户访问数据库。( )
四、填空题(10 题,每题 1 分,共 10 分)
-
数据库管理系统的英文缩写是 ________。
-
数据库系统的三级模式结构中,描述数据库物理存储结构的是 ________。
-
关系模型中,表的一行称为 ________。
-
关系模型中,属性的取值范围称为 ________。
-
SQL 中,用于查询数据的语句是 ________。
-
SQL 中,定义主码约束通常使用关键字 ________。
-
SQL 中,用于授权的语句是 ________。
-
参照完整性约束中,外码参照的是另一个关系的 ________。
-
若 X→Y,但 Y 不函数依赖于 X,则称 X→Y 为 ________ 函数依赖。
-
消除非主属性对码的部分函数依赖后,关系模式至少可达到 ________ 范式。
五、简答题(2 题,每题 3 分,共 6 分)
-
简述数据库系统三级模式结构及两级映像的作用。
-
简述数据库安全性控制和数据库完整性控制的区别。
六、综合应用题(共 34 分)
1. SQL 综合应用题(14 分)
设有如下关系模式:
Student(Sno, Sname, Ssex, Sage, Sdept)
Course(Cno, Cname, Credit)
SC(Sno, Cno, Grade)
其中:Sno 为学生号,Cno 为课程号,Grade 为成绩。
请写出完成下列要求的 SQL 语句:
-
查询计算机系学生的学号、姓名和年龄。(2 分)
-
查询选修了课程号为
C01的学生学号和成绩,结果按成绩降序排列。(2 分) -
查询每个学生的学号、姓名和平均成绩,只显示有选课记录的学生。(3 分)
-
查询选修课程数不少于 3 门的学生学号和选课门数。(3 分)
-
查询没有选修任何课程的学生学号和姓名。(2 分)
-
建立一个视图
Good_SC,包含成绩大于等于 90 分的学生学号、课程号和成绩。(2 分)
2. 关系代数应用题(6 分)
仍使用如下关系模式:
Student(Sno, Sname, Ssex, Sage, Sdept)
Course(Cno, Cname, Credit)
SC(Sno, Cno, Grade)
请写出关系代数表达式:
-
查询信息管理系学生的学号和姓名。(2 分)
-
查询选修了“数据库系统”课程的学生学号。(2 分)
-
查询选修了“数据库系统”课程且成绩大于等于 80 分的学生姓名。(2 分)
3. 关系规范化分析题(10 分)
设有关系模式:
R(Sno, Sname, Dept, DeptHead, Cno, Cname, Credit, Grade)
语义如下:
一个学生只有一个姓名,属于一个系;一个系只有一个系主任;一门课程有固定的课程名和学分;一个学生选修一门课程后有一个成绩。
已知函数依赖集 F:
Sno → Sname, Dept
Dept → DeptHead
Cno → Cname, Credit
(Sno, Cno) → Grade
请回答:
-
写出关系模式 R 的候选码。(2 分)
-
指出 R 中存在的部分函数依赖。(2 分)
-
指出 R 中存在的传递函数依赖。(2 分)
-
判断 R 最高满足第几范式,并说明理由。(2 分)
-
将 R 分解为满足 3NF 的关系模式,并标明各关系主码。(2 分)
4. 完整性与安全性应用题(4 分)
某教务系统中有如下关系:
Student(Sno, Sname, Ssex, Sage, Sdept)
Course(Cno, Cname, Credit)
SC(Sno, Cno, Grade)
请回答:
-
写出 SC 表中应设置的主码和外码。(2 分)
-
若要求教师只能查询成绩,教务管理员可以查询、插入、修改和删除成绩,应采用什么安全性控制措施?请简要说明。(2 分)
参考答案
一、单选题答案
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | B | B | A | C | B | B | B | B | C | B | B | B | C | B | D |
二、多选题答案
| 题号 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 答案 | ABCD | ABC | ABC | ABC | ABCD |
三、判断题答案
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | √ | × | √ | √ | × | √ | √ | × | √ | × |
四、填空题答案
-
DBMS
-
内模式
-
元组
-
域
-
SELECT
-
PRIMARY KEY
-
GRANT
-
主码
-
非平凡
-
第二
五、简答题参考答案
1. 简述数据库系统三级模式结构及两级映像的作用。
数据库系统的三级模式结构包括外模式、模式和内模式。
外模式是用户看到和使用的局部数据视图;模式是数据库中全体数据的逻辑结构和特征描述;内模式是数据在数据库内部的物理存储结构和存取方式。
两级映像包括外模式/模式映像和模式/内模式映像。外模式/模式映像保证数据库的逻辑独立性;模式/内模式映像保证数据库的物理独立性。
2. 简述数据库安全性控制和数据库完整性控制的区别。
数据库安全性控制是为了防止非法用户或非法操作访问数据库,主要解决“谁能访问、能做什么”的问题。
数据库完整性控制是为了保证数据库中数据的正确性、有效性和一致性,主要解决“数据是否符合语义和约束”的问题。
例如,权限控制、用户身份鉴别属于安全性控制;主码约束、外码约束、CHECK 约束属于完整性控制。
六、综合应用题参考答案
1. SQL 综合应用题答案
(1)查询计算机系学生的学号、姓名和年龄。
SELECT Sno, Sname, Sage
FROM Student
WHERE Sdept = '计算机系';
(2)查询选修了课程号为 C01 的学生学号和成绩,结果按成绩降序排列。
SELECT Sno, Grade
FROM SC
WHERE Cno = 'C01'
ORDER BY Grade DESC;
(3)查询每个学生的学号、姓名和平均成绩,只显示有选课记录的学生。
SELECT s.Sno, s.Sname, AVG(sc.Grade) AS AvgGrade
FROM Student s
JOIN SC sc ON s.Sno = sc.Sno
GROUP BY s.Sno, s.Sname;
(4)查询选修课程数不少于 3 门的学生学号和选课门数。
SELECT Sno, COUNT(Cno) AS CourseCount
FROM SC
GROUP BY Sno
HAVING COUNT(Cno) >= 3;
(5)查询没有选修任何课程的学生学号和姓名。
SELECT Sno, Sname
FROM Student
WHERE Sno NOT IN (
SELECT Sno
FROM SC
);
(6)建立一个视图 Good_SC,包含成绩大于等于 90 分的学生学号、课程号和成绩。
CREATE VIEW Good_SC
AS
SELECT Sno, Cno, Grade
FROM SC
WHERE Grade >= 90;
2. 关系代数应用题答案
(1)查询信息管理系学生的学号和姓名。
π Sno,Sname (σ Sdept='信息管理系' (Student))
(2)查询选修了“数据库系统”课程的学生学号。
π Sno (SC ⋈ σ Cname='数据库系统' (Course))
连接条件为:
SC.Cno = Course.Cno
(3)查询选修了“数据库系统”课程且成绩大于等于 80 分的学生姓名。
π Sname (σ Cname='数据库系统' ∧ Grade>=80 (Student ⋈ SC ⋈ Course))
连接条件为:
Student.Sno = SC.Sno ∧ SC.Cno = Course.Cno
3. 关系规范化分析题答案
(1)写出关系模式 R 的候选码。
候选码为:
(Sno, Cno)
因为:
Sno → Sname, Dept
Dept → DeptHead
Cno → Cname, Credit
(Sno, Cno) → Grade
所以:
(Sno, Cno)+ = {Sno, Cno, Sname, Dept, DeptHead, Cname, Credit, Grade}
因此,(Sno, Cno) 是候选码。
(2)指出 R 中存在的部分函数依赖。
由于候选码是 (Sno, Cno),而存在:
Sno → Sname, Dept
Cno → Cname, Credit
所以非主属性 Sname、Dept、Cname、Credit 对候选码 (Sno, Cno) 存在部分函数依赖。
(3)指出 R 中存在的传递函数依赖。
存在:
Sno → Dept
Dept → DeptHead
因此:
Sno → DeptHead
所以 DeptHead 对 Sno 存在传递函数依赖,也可以理解为 DeptHead 对候选码 (Sno, Cno) 存在传递依赖。
(4)判断 R 最高满足第几范式,并说明理由。
R 最高满足第一范式,即 1NF。
理由:关系 R 中各属性均为不可再分的数据项,因此满足 1NF。
但是 R 中存在非主属性对候选码 (Sno, Cno) 的部分函数依赖,例如:
Sno → Sname, Dept
Cno → Cname, Credit
所以 R 不满足 2NF。
(5)将 R 分解为满足 3NF 的关系模式,并标明各关系主码。
可分解为:
Student(Sno, Sname, Dept)
主码:Sno
Department(Dept, DeptHead)
主码:Dept
Course(Cno, Cname, Credit)
主码:Cno
SC(Sno, Cno, Grade)
主码:(Sno, Cno)
其中,SC.Sno 可作为外码参照 Student(Sno),SC.Cno 可作为外码参照 Course(Cno)。
4. 完整性与安全性应用题答案
(1)写出 SC 表中应设置的主码和外码。
SC 表应设置:
主码:(Sno, Cno)
表示同一学生对同一门课程只能有一条选课记录。
外码:
Sno
参照:
Student(Sno)
外码:
Cno
参照:
Course(Cno)
(2)若要求教师只能查询成绩,教务管理员可以查询、插入、修改和删除成绩,应采用什么安全性控制措施?请简要说明。
应采用用户身份鉴别和存取权限控制。
可以为教师用户授予查询权限:
GRANT SELECT
ON SC
TO Teacher;
为教务管理员授予查询、插入、修改和删除权限:
GRANT SELECT, INSERT, UPDATE, DELETE
ON SC
TO Admin;
这样教师只能查看成绩,不能修改成绩;教务管理员可以对成绩记录进行查询、插入、修改和删除操作。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)