某教学管理数据库中,学生、课程关系模式分别为:S(学号,姓名,性别,家庭住址,电

admin2022-08-02  69

问题 某教学管理数据库中,学生、课程关系模式分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名,学分),关系C的主键为课程号。假设一个学生可以选择多门课程,一门课程可以由多个学生选择;一旦学生选择某门课程必定有该课程的成绩。由于学生与课程之间的‘选课”联系类型为(  ),所以对该联系(  )。查询“软件工程”课程的平均成绩、最高成绩与最低成绩之间差值的SQL语句如下:    SELECT AVG(成绩)AS平均成绩,(  )    FROM C,SC    WHERE C.课程名=’软件工程’AND C.课程号=SC.课程号;A.差值AS MAX(成绩)-MIN(成绩)B.MAX(成绩)-MIN(成绩)AS差值C.差值IN MAX(成绩)-MIN(成绩)D.MAX(成绩)-MIN(成绩)IN差值

选项 A.差值AS MAX(成绩)-MIN(成绩)
B.MAX(成绩)-MIN(成绩)AS差值
C.差值IN MAX(成绩)-MIN(成绩)
D.MAX(成绩)-MIN(成绩)IN差值

答案 B

解析 此题考查数据库的分析设计能力,涉及到实体关系,一个学生可以选择多门课程,一门课程可以被多个学生选择,所以学生与课程之间的关系类型是多对多,即n:m。
这种多对多的关系会影响数据操作,比如当前的关系中无法知道某个学生选择某个课程的成绩,删除一个课程会影响到所有选择该课程的学生记录,因此这个关系模型有问题,需要进行拆分。需要构建一个独立的关系,即学生号,课程号,成绩。这样的话,修改学生信息或者课程信息都不会影响学生选课的成绩记录。
此题考查SQL语句的使用,最高成绩与最低成绩要用到聚合函数MAX,MIN,AS是取别名,所以要先计算最高与最低的差再取别名。
转载请注明原文地址:https://tihaiku.com/congyezige/2427244.html

最新回复(0)