欢迎光临散文网 会员登陆 & 注册

2022数据库系统原理期中试卷参考答案

2022-08-12 10:50 作者:老师-忘记密码  | 我要投稿

试题如下:


东莞理工学院(本科)试卷(期中试卷参考答案)

2021 -2022 学年第二学期

 数据库系统原理

一. 选择题(共30分  每题2分)答题要求选择题答案填入下表中

1-5BBDDA

6-10ADCCD

11-15BBCAD


二. 简答题(共10分  每题2分)

1. 假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于哪一种完整性?

答:用户自定义的完整性    

2. 在LIKE运算符中“%”的作用是什么?

答:匹配0个或多个字符。

3. WHERE Age BETWEEN 20 AND 30子句,查找的Age范围是多少?

:Age大于等于20并且小于等于30

4. WHERE Sdept NOT IN (CS,IS,MA),查找的数据是什么?

答:查找CS,IS,MA三个系之外的其他系

5. 外连接与内连接的主要区别是什么?

答:进行外连接的两个表中,可以有一张表不满足连接条件,而进行内连接的两个表必须都满足连接条件。

三. 导入数据库和创建表10分)

1. 导入ScoreDB数据库,并将其改名为ScoreDBTS截图给出“SSMS”中的运行结果。

答题要求操作结果贴截图,要求截图中显示ScoreDBTS数据库中的各表的表名

 

 

2. 创建数据表SBook

答题要求SQL语句贴语句文本,详细的操作结果贴截图。

CREATE TABLE SBook( --创建数据表SBook

schoolYear TINYINT NOT NULL CHECK(SchoolYear IN (1,2,3,4,5,6,7,8)),--学期

Number Smallint NULL, --数量

courseNo CHAR(3) NOT NULL CHECK((CourseNo LIKE '[0-9][0-9][0-9]') AND (courseNo NOT LIKE '000')),--课程代码

BookNo CHAR(8) NOT NULL CHECK(BookNo LIKE ' ISBN [0-9][0-9][0-9][0-9]'), --图书编号

CONSTRAINT SBookPK PRIMARY KEY(CourseNo,BookNo),

FOREIGN KEY(CourseNo) REFERENCES Course(CourseNo)

)

 


 

四.  操作题(共50分)

1. (10分)检索所有成绩小于60的学生所学课程的信息,包括学号、课程号,姓名和分数。

(1).写出关系代数(5)

答题要求:关系代数手写拍照贴图

ΠStudent.studentNo,courseNo,studentName,score(σscore<60(StudentScore))

 


(2).写出相应的SQL查询语句和结果截图(5)

答题要求SQL查询语句贴语句文本,查询结果贴截图。

SELECT a.studentNo,courseNo,studentName,score

FROM Student a,Score b

WHERE a.studentNo=b.studentNo AND score<60

 


2. (10分)查询“会计学院,班号为“ CP1602”的所有学生的学号,姓名请先写出关系代数(5),再写出相应的SQL查询语句(5)。

(1).写出关系代数(5分)

答题要求:关系代数手写拍照贴图

 


(2).写出相应的SQL查询语句和结果截图(5分)

答题要求SQL查询语句贴语句文本,查询结果贴截图。

SELECT studentNo,studentName

FROM Student a,Class b

WHERE b.institute='会计学院' AND b.classNo='CP1602' AND a.classNo=b.classNo

 


 

3. 查询成绩低于该门课程平均分的学生的学号、姓名和成绩,写出相应的SQL查询语句,写出相应的SQL查询语句和结果截图(10分)

答题要求SQL查询语句贴语句文本,查询结果贴截图。

SELECT DISTINCT a.studentNo,c.studentName,a.score

FROM Score a,(SELECT courseNo,AVG(SCORE) AS avgScore FROM Score GROUP BYcourseNo) b,Student c

WHERE a.courseNo=b.courseNo AND a.score<b.avgScore AND a.studentNo=c.studentNo

 

4. 查询同时选修过“体育”和“操作系统”两门课程的同学学号、姓名以及该同学所选修的所有课程的课程名和相应成绩,按学号(升序)、成绩(降序)排序输出。写出相应的SQL语句(10分)。

 

  SELECT  a.studentNo, studentName, courseName, score

FROM Student a, Course b, Score c

WHERE  a.studentNo=c.studentNo AND b.courseNo=c.courseNo

      AND  a.studentNo IN 

                  ( SELECT studentNo FROM Score

                   WHERE courseNo IN 

                           ( SELECT courseNo FROM Course

                            WHERE courseName='体育' ) )

      AND  a.studentNo IN

                  ( SELECT studentNo FROM Score

                   WHERE courseNo IN 

                         ( SELECT courseNo FROM Course

                          WHERE courseName='操作系统' ) )

ORDER BY a.studentNo, score DESC

 

 

SELECT a.studentNo,a.studentName,courseName,score

FROM Student a,Score b,Course c,

(SELECT DISTINCT studentNo

 FROM Score a,Course b

 WHERE b.courseName='体育' AND a.courseNo=b.courseNo) d,

(SELECT DISTINCT studentNo

 FROM Score a,Course b

 WHERE b.courseName='操作系统' AND a.courseNo=b.courseNo) e

WHERE d.studentNo=e.studentNo AND b.studentNo=d.studentNo AND a.studentNo=b.studentNo AND b.courseNo=c.courseNo

ORDER BY a.studentNo ,score DESC

 


 

5. 创建一个视图VIstuScore查询至少选修了两门课程并且平均成绩大于或等于80分的学生的学号、姓名、成绩和所在班级。写出相应的SQL查询语句和结果截图(10分)

 

答题要求SQL查询语句贴语句文本,结果截图。

CREATE VIEW VIstuScore

AS

SELECT distinct A.studentNo,c.studentName,c.classNo,Score

FROM  Score B, (select distinct studentno

from score

group by studentno

having COUNT(courseno)>=2 and AVG(score)>=80) A,student C 

WHERE A.studentNo=B.studentNo AND A.studentNo=C.studentNo

GROUP BY A.studentNo,c.studentName,c.classNo,Score

 


例如:修改平均成绩大于或等于79分:

SELECT distinct A.studentNo,c.studentName,c.classNo,Score

FROM  Score B, (select distinct studentno

from score

group by studentno

having COUNT(courseno)>=2 and AVG(score)>=79) A,student C 

WHERE A.studentNo=B.studentNo AND A.studentNo=C.studentNo

GROUP BY A.studentNo,c.studentName,c.classNo,Score

 



2022数据库系统原理期中试卷参考答案的评论 (共 条)

分享到微博请遵守国家法律