2022数据库系统原理期中考试试题
东莞理工学院(本科)试卷(期中试卷)
2021 -2022学年第二学期
数据库系统原理
答题要求:答案写入答题卡中。
一. 选择题(共30分 每题2分)
1. 在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是( )。 A.内模式 B.模式 C. 外模式 D. 其他
2.数据库系统的物理独立性是指( )。
A.不会因为数据的变化而影响应用程序
B.不会因为数据存储结构的变化而影响应用程序
C.不会因为数据存储策略的变化而影响数据的存储结构
D.不会因为数据逻辑结构的变化而影响应用程序
3.SQL中的视图提高了数据库系统的( )。
A.完整性 B.并发控制 C.隔离性 D.安全性
4. 下列关于实体联系模型中联系的说法,错误的是( )。
A.一个联系可以只与一个实体有关
B.一个联系可以与两个实体有关
C.一个联系可以与多个实体有关
D.一个联系也可以不与任何实体有关
5. 为最大限度地保证数据库数据的正确性,关系数据库实现了三个完整性约束,下列用于保证实体完整性的是( )。
A. 主码 B. 外码 C. CHECK约束 D. UNIQUE约束
6. SQL Server数据库是由文件组成的。下列关于数据库所包含的文件的说法,正确的是( )。
A.一个数据库可包含多个次要数据文件和多个日志文件
B.一个数据库只能包含一个主数据文件和一个日志文件
C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件
D. 一个数据库可包含多个主数据文件和多个日志文件
7. 下列利用SC表的查询语句中,错误的是( )。
A. SELECT Sno, COUNT(*) FROM SC GROUP BY Sno
B. SELECT Sno FROM SC GROUP BY Sno
C. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 4
D. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 4
8. 在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的( )约束。
A.实体完整性 B.参照完整性 C.用户自定义 D.用户操作
9.设在某SELECT语句的WHERE子句中,需要对Grade列的空值进行处理。下列关于空值的操作,错误的是( )。
A.Grade IS NOT NULL B.Grade IS NULL
C.Grade = NULL D.NOT (Grade IS NULL)
10.下列聚合函数中,不忽略空值的是( )。
A.SUM(列名) B.MAX(列名)
C.AVG(列名) D.COUNT(*)
11. 设四元关系R(A,B,C,D),则下面不正确的是( )
A.为取属性D,B的两列组成新关系
B.为取属性的值是4,2的两列组成新关系
C.与是等价的
D.与是相同关系
12.检索选修“数据库系统原理”课程所有学生姓名和成绩。正确的SELECT语句是( )。
A. SELECT S.SN,SC.GRADE FROM S WHERE C.CN= “数据库系统原理”
B. SELECT S.SN,SC.GRADE FROM S,C,SC
WHERE S.S#=SC.S# AND C.C#=SC.C# AND C.CN=“数据库系统原理”
C. SELECT S.SN,SC.GRADE FROM S,C,SC WHERE C.CN= “数据库系统原理”
D. SELECT S.SN,SC.GRADE FROM S,C,SC WHERE S.S#=SC.S# AND C.C#=SC.C#
13. 设有关系R和S如题13图:

则R与S进行差运算,其结果的元组数为( )
A.1 B.3
C.2 D.5
14.下述SQL命令的短语中,不用于定义属性上约束条件的是( )。
A. HAVING短语 B.LIKE短语
C. CHECK短语 D. NULL短语
15 、关于关系模型,下列叙述不正确是( )
A. 一个关系至少要有一个候选码
B. 列的次序可以任意交换
C. 行的次序可以任意交换
D. 一个列的值可以来自不同的域
二. 简答题(共10分 每题2分)
1. 假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于哪一种完整性?
2. 在LIKE运算符中“%”的作用是什么?
3. WHERE Age BETWEEN 20 AND 30子句,查找的Age范围是多少?
4. WHERE Sdept NOT IN (‘CS’,’IS’,’MA’),查找的数据是什么?
5. 外连接与内连接的主要区别是什么?
三. 导入数据库和创建表(10分)
(1)使用ScoreDB2017.sql脚本文件导入SSMS,并将其改名为SDB2022,截图给出“SSMS”中的运行结果。
答题要求:操作结果贴截图,要求截图中显示SDB2022数据库中的各表的表名。
(2) 在SDB2022数据库中创建数据表StuBook(逻辑结构及约束条件设计如下表所示),写出SQL语句并附上详细的操作结果截图。
答题要求:SQL语句贴语句文本,操作结果贴截图。

-- 学期取值范围是[1,2,3,4,5,6,7,8]
-- 课程代码为3位数字字符且不能为000
-- 图书编号最高四位为大写英文字母ISBN,后四位为数字。
-- 课程代码和图书编号一起构成主码。
-- 课程代码是外键
-- 其它参照不要求编写。
四. 操作题(共50分,每题10分)(答题要求:关系代数手写拍照贴图,SQL查询语句贴语句文本,查询结果贴截图。)
1. 检索所有成绩小60的学生所学课程的信息,包括学号、课程号,姓名和分数。请先写出关系代数(5分),再写出相应的SQL查询语句和查询结果贴截图(5分)。
2. 查询“会计学院”,班号为“ CP1602”的所有学生的学号,姓名。请先写出关系代数(5分),再写出相应的SQL查询语句(5分)。
3. 查询成绩低于该门课程平均分的学生的学号、姓名和成绩,写出相应的SQL查询语句(10分)。
4. 查询同时选修过“体育”和“操作系统”两门课程的同学学号、姓名以及该同学所选修的所有课程的课程名和相应成绩,按学号(升序)、成绩(降序)排序输出。写出相应的SQL语句(10分)。
5. 创建一个视图VIstuScore,查询至少选修了两门课程并且平均成绩大于或等于80分的学生的学号、姓名、成绩和所在班级。写出相应的SQL语句(10分)。
答案如下:
