②③⑤⑥
①③④⑤
②④⑤⑥
①②③⑤
第1题:
在“学籍管理”数据库中,有学生表与选课表,两表间以学生表为主表,以学号建立一对多联系。设计如图5-1所示的表单,当在学生表中选中一个记录时,子表显示相应同学的选课记录。
第2题:
数据库中有学生表Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表 Course(Cno,Cname,Cpno,Ccredit),各属性为课程号.课程名,先行课,学分。(先行课的意思是,比如课程号1有先行课5,说明要选课程1,就必须先选课程5) 。用以上各表完成查询选修了全部课程的学生姓名的语句补充:
SELETE Sname
FROM
5.
第3题:
查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。
A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)
B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)
C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)
D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)
第4题:
在学生表中查找没有选课的学生,下列语句正确的是( )。
A.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE学生号=学生.学生号)
B.SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生.学生号)
C.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)
D. SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)
第5题:
若要在表“学生”和“选课”中查找001号学生的成绩,下列语句正确是( )。
A.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001:
B.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001; ON学生.学生号=选课.学生号
C.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; ON学生.学生号=选课.学生号; WHERE 学生号=001
D. SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生.学生号=选课.学生号
第6题:
某学校的学籍管理系统实现了对学生学籍信息的管理,其中学生表结构为:学生表(学号, 姓名, 性别, 系号, 是否有学籍),此表中除学号列有唯一索引外,其它列均无索引。
设学籍管理系统中经常执行如下形式的操作:
SELECT*FROM学生表
WHERE姓名='张三' AND 系号='10' AND 是否有学籍='有'
系统运行中发现这类操作的效率比较低,系统工程师建议:由于查询条件中使用了“系号”、“姓名”和“是否有学籍”三列,建议在这三个列上分别建立索引,以提高查询效率。
请问其建议建立的三个索引是否都能提高查询效率?请简要说明原因。
第7题:
若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是( )。
A.SELECT COUNT(DISTINCT学生号)FROM选课
B.SELECT COUNT(学生号)FROM选课
C.SELECT COUNT(*)FROM选课
D.SELECT COUNT(DISTINCT*)FROM选课
第8题:
阅读下列说明以及图10-7和图10-8,回答问题1、问题2和问题3。
[说明]
某高等院校的教学管理具有选课管理和成绩管理两大功能。选课管理主要完成以下工作:(1)录入与生成新学期课程表;(2)学生选课注册;(3)查询,学生、教师、教学管理员可以查询课程表,获得课程信息、学生选课信息和学生、教师信息;(4)选课注册信息的统计与报表生成。成绩管理主要的功能为: (1)成绩录入:教学管理员录入学生考试成绩;(2)成绩查询:教师、教学管理员可以查询学生考试成绩。。学生只允许查询自己的考试成绩,不允许查询他人的成绩;(3)成绩统计与报表生成:教学管理员进行成绩统计,打印统计报表。把学生选课注册信息传送给财务系统,以便计算学生应交纳的费用。
根据需要,系统设计的用例有“选课管理”、“成绩管理”、“查询课程信息”、“选课注册”、“管理开设课程”等用例。其中部分用例说明如下:
“查询课程信息”:学生、教师或教学管理员启动查询课程信息时,该用例开始运行。根据输入的查询要求(查询主题或关键字),显示有关的课程信息;
“选课注册”。当学生登录进行选课注册时,该用例开始运行,它提供了选择课程、注册、修改注册、删除注册等功能。学生登录需要用户标识(ID)和口令;
“管理开设课程”。 当教学管理员登录系统进行产生选课信息操作时, 该用例开始运行。 它首先检查用户标识(ID)和口令,然后从数据库中取出学生的选课注册数据,按照要求进行分类统计,生成选课注册报表。
活动者“学生”与用例“选课注册”的交互关系如下:当“学生”登录系统进入选课注册活动时,首先要输入用户标识(ID)和口令,经系统的“注册表单”接口对象验证,如果正确无误,则“学生”可以进行查询活动或选课活动,否则拒绝进入。若“学生”发出“查询”请求,系统的“选课注册表单”接口对象响应信息给“学生”,及发送增加或删除学生选课数据的消息。 “开设课程”对象响应该消息,找出数据库中的相关数据,增加或删除学生的姓名和所选的课程名,或做相应的修改,并把增加或删除学生课操作成功或失败的信息反馈给“选课注册表单”接口对象,“选课注册表单”接口对象再反馈给“学生”。如果“学生”按下“确认”键,则选课操作得到确认,发出提交请求。“选课注册表单”接口对象响应该请求,并发出“存储”消息。“开设课程”对象响应“存储”消息,进行数据库存储操作,选课数据存入数据库。若“学生”结束选课,发出“退出”系统请求,“注册表单”接口对象响应请求,关闭系统。
图10-7为系统的顶层UML用例图。图10-8为选课注册顺序图。
用例图解释了活动者与用例之间的交互关系。根据系统设计说明,将系统的顶层用例图补充完整。
第9题:
若需在“选课”表中按降序排列查询前3名的学生,下列语法正确的是( )。
A.SELECT 学生号,成绩 TOP 3 FROM 选课; ORDER BY 成绩 DESC
B. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课: ORDER BY 成绩 DESC
C.SELECT 学生号,成绩 TOP 3 FROM 选课 DESC:
D. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课 DESC
第10题:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。
A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)
B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)
D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)