岗位知识竞赛

单选题小王在学习了VB以后,准备设计一个学生选课信息管理系统,那么关于对象“学生”,一般需要考虑的属性有()。 ①学籍号 ②所选课程 ③姓名 ④体重 ⑤班级 ⑥爱好A ②③⑤⑥B ①③④⑤C ②④⑤⑥D ①②③⑤

题目
单选题
小王在学习了VB以后,准备设计一个学生选课信息管理系统,那么关于对象“学生”,一般需要考虑的属性有()。 ①学籍号 ②所选课程 ③姓名 ④体重 ⑤班级 ⑥爱好
A

②③⑤⑥

B

①③④⑤

C

②④⑤⑥

D

①②③⑤

参考答案和解析
正确答案: C
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在“学籍管理”数据库中,有学生表与选课表,两表间以学生表为主表,以学号建立一对多联系。设计如图5-1所示的表单,当在学生表中选中一个记录时,子表显示相应同学的选课记录。


正确答案:操作步骤如下: ①在表单中创建2个“标签”控件和2个“表格”控件并选好位置和大小。 ②设置控件的字体和字号。 ③打开“数据环境设计器”加入数据库中的表“学生.DBF”和“选课.DBF”2个表以学生表为主表以学号为关键字建立“一对多”的永久关联。表单控件的主要属性见表5-1。
操作步骤如下: ①在表单中创建2个“标签”控件和2个“表格”控件,并选好位置和大小。 ②设置控件的字体和字号。 ③打开“数据环境设计器”,加入数据库中的表“学生.DBF”和“选课.DBF”,2个表以学生表为主表,以学号为关键字建立“一对多”的永久关联。表单控件的主要属性见表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.


正确答案:NOTEXISTS
NOTEXISTS

第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”)


正确答案:D
解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“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 学生号=学生号)


正确答案:B
解析:本题是嵌套循环查循,在外层中使用了谓词EXISTS。依据题意,在子查询中有结果返回,应该用EXISTS谓词。内层查询引用了外层查询的表,所以在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 学生.学生号=选课.学生号


正确答案:C
解析:在超级联接查询中,SELECT列出查询的属性,FROM后列出查询类型,ON短语列出联接查询条件,WHERE后是查询条件。ON短语要紧跟在JOIN短语的后面,WHERE短语置于ON短语后面。

第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选课


正确答案:A
解析:选项B是统计选修了课程的学生人次数;选项C是统计选课表中的记录数目;选项D为不正确用法:选项A中用DISTINCT表示不允许出现重复的记录。

第8题:

阅读下列说明以及图10-7和图10-8,回答问题1、问题2和问题3。

[说明]

某高等院校的教学管理具有选课管理和成绩管理两大功能。选课管理主要完成以下工作:(1)录入与生成新学期课程表;(2)学生选课注册;(3)查询,学生、教师、教学管理员可以查询课程表,获得课程信息、学生选课信息和学生、教师信息;(4)选课注册信息的统计与报表生成。成绩管理主要的功能为: (1)成绩录入:教学管理员录入学生考试成绩;(2)成绩查询:教师、教学管理员可以查询学生考试成绩。。学生只允许查询自己的考试成绩,不允许查询他人的成绩;(3)成绩统计与报表生成:教学管理员进行成绩统计,打印统计报表。把学生选课注册信息传送给财务系统,以便计算学生应交纳的费用。

根据需要,系统设计的用例有“选课管理”、“成绩管理”、“查询课程信息”、“选课注册”、“管理开设课程”等用例。其中部分用例说明如下:

“查询课程信息”:学生、教师或教学管理员启动查询课程信息时,该用例开始运行。根据输入的查询要求(查询主题或关键字),显示有关的课程信息;

“选课注册”。当学生登录进行选课注册时,该用例开始运行,它提供了选择课程、注册、修改注册、删除注册等功能。学生登录需要用户标识(ID)和口令;

“管理开设课程”。 当教学管理员登录系统进行产生选课信息操作时, 该用例开始运行。 它首先检查用户标识(ID)和口令,然后从数据库中取出学生的选课注册数据,按照要求进行分类统计,生成选课注册报表。

活动者“学生”与用例“选课注册”的交互关系如下:当“学生”登录系统进入选课注册活动时,首先要输入用户标识(ID)和口令,经系统的“注册表单”接口对象验证,如果正确无误,则“学生”可以进行查询活动或选课活动,否则拒绝进入。若“学生”发出“查询”请求,系统的“选课注册表单”接口对象响应信息给“学生”,及发送增加或删除学生选课数据的消息。 “开设课程”对象响应该消息,找出数据库中的相关数据,增加或删除学生的姓名和所选的课程名,或做相应的修改,并把增加或删除学生课操作成功或失败的信息反馈给“选课注册表单”接口对象,“选课注册表单”接口对象再反馈给“学生”。如果“学生”按下“确认”键,则选课操作得到确认,发出提交请求。“选课注册表单”接口对象响应该请求,并发出“存储”消息。“开设课程”对象响应“存储”消息,进行数据库存储操作,选课数据存入数据库。若“学生”结束选课,发出“退出”系统请求,“注册表单”接口对象响应请求,关闭系统。

图10-7为系统的顶层UML用例图。图10-8为选课注册顺序图。

用例图解释了活动者与用例之间的交互关系。根据系统设计说明,将系统的顶层用例图补充完整。


正确答案:(1)选课管理(2)成绩管理
(1)选课管理(2)成绩管理

第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


正确答案:A
解析:SQL命令可以显示部分结果,使用TOP子句。在符合查询条件的所有记录中,选取指定数量或百分比的记录。选项C、D没有与ORDER BY同时使用;选项B使用了PERCENT短语,查询的是排名前3%的学生。

第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”)


正确答案:D
所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。

更多相关问题