1、数据库应用系统功能设计、关系数据库操作语言 SQL及答案解析(总分:48.00,做题时间:90 分钟)一、单项选择题(总题数:22,分数:22.00)1.以下关于详细设计的任务及其成果说法错误的是_。(分数:1.00)A.详细设计是细化概要设计产生的功能模块B.用某种过程设计语言设计程序模块的内部细节C.为编写软件源代码提供依据D.详细设计结果表示为需求说明书2.以下关于三层浏览器/服务器(B/S)结构的数据库应用系统说法错误的是_。(分数:1.00)A.三层浏览器朋艮务器结构的数据库应用系统是一种互联网环境下的新型数据库应用系统结构B.它将数据处理功能分解并分布在表示层、功能层两个层次上C.
2、表示层位于客户端,由 Web浏览器实现D.功能层位于 Web应用服务器,实现面向具体应用领域的业务规则3.在 SQL语言中,ALTER TABLE 实现下列功能中的_。(分数:1.00)A.数据定义B.数据查询C.数据操纵D.数据控制4.匹配串中可包含四种通配符,其中用于匹配任何一个字符的是_。(分数:1.00)A.B.C.D.5.模块结构图定义的内容包括_。各个模块的功能 模块间的接口信息各个模块的名字 模块间的调用关系(分数:1.00)A.B.C.D.6.概要设计应提供的文件不包括_。(分数:1.00)A.概要设计说明书B.数据库或数据结构设计说明书C.组装测试计划D.需求说明书7.现有如
3、下关系表:职工(职工号,姓名,性别,基本工资,职务津贴)男职工(职工号,姓名,性别,工资)要求修改男职工的工资信息,工资为职工表中对应职工的基本工资和职务津贴的和,以下 SQL语句正确的是_。(分数:1.00)A.update 男职工 set 工资=职工.基本工资+职工.职务津贴 from 职工 where 职工.职工号=男职工.职工号B.update 男职工 set 工资=基本工资+职务津贴C.update 男职工,职工 set 工资=职工.基本工资+职工.职务津贴 from 职工 where 职工.职工号=男职工.职工号D.update 男职工 set 工资=职工.基本工资+职工.职务津贴
4、 from 职工 where 职工.男职工8.有会员卡表 TableCards(CardsID,StartDate,Score),CardID 表示卡标识,Scord 为卡积分,有视图定义:CREATE VIEW vCard ASSELECT * FROM TableCards WHERE Score BETWEEN 200 AND 500 WITH CHECR OPTION假设(C0001,2008/5/6,220)是 TableCards表中的一个元组,下述说法正确的是_。(分数:1.00)A.若要查询积分在 200和 300之间的有卡标识,通过视图 vCARD查询会比连接在 TableC
5、ards上查询的效率要高B.数据库系统会分配存储空间实际保存视图 vCards所对应的数据C.语句 UPDATE vCards SET Score=260 WHERE CardID=C0001能成功执行D.语句 INSERT INTO vCard VALUSE(C0010,2008/4/5,1000)能成功执行9.SQL Server支持的准确型数据类型不包括_。(分数:1.00)A.BigintB.intC.SmallintD.float10.以下叙述错误的是_。(分数:1.00)A.NOTNULL和 DEFAULT不能在表级完整性约束处定义B.如果 CHECK约束是定义多列之间的取值约束,
6、则只能在表级完整性约束处定义C.如果在表级完整性约束处定义外码,则 FOREIGN KEY不能省略,但列名可以省略D.如果表的主码由多个列组成,则这样的主码也只能在表级完整性约束处定义11.在 SQL中删除视图的操作是_。(分数:1.00)A.DELETEB.DROPC.CLEARD.REMOVE12.以下不属于软件设计遵循的原则的是_。(分数:1.00)A.设计应与软件需求保持一致B.设计的软件结构应支持模块化C.逐步求精D.面向过程13.以下属于软件设计任务的是_。建立软件系统的总体结构和模块间的关系定义各功能模块的接口设计全局数据库或数据结构规定设计约束制定组装测试计划(分数:1.00)
7、A.B.C.D.14.以下关于视图的定义叙述错误的是_。(分数:1.00)A.视图的数据可以只取自一个基本表的部分行、列B.视图的数据可以来自多个表中,这样定义的视图一般只用于查询,不用于修改数据C.不可以在视图上再建立视图D.含分组统计信息的视图,只用于查询,不用于修改数据15.以下关于检查关系表对数据库事务的支持性的具体步骤说法错误的是_。(分数:1.00)A.对每一个事务,根据需求分析阶段的事务分析,列出该事务所访问的各个数据项B.如果事务访问的数据项同时出现在多个表中,检查这些关系表间的关联关系,如主码/外码关联C.列出事务访问的数据项所在的关系表和对应的关系属性D.所访问的一些数据项
8、出现在多个关系表中的事务,需要重新修改数据库的概念模型或逻辑结构16.一个完整的事务概要设计包括_。事务名称 事务所访问的关系表及关系属性事务处理逻辑 事务用户(分数:1.00)A.B.C.D.17.以下不属于软件设计过程的是_。(分数:1.00)A.需求分析B.概要设计C.编码及实施D.数据设计18.以下关于人机界面设计原则叙述错误的是_。(分数:1.00)A.保持用户与人机界面间的双向交流B.用户界面应该遵循一定标准和常规C.尽量减少用户的输入负担D.减少字符、图形、图像、声音等数据输出方式19.以下不属于一个好的概要设计的要求的是_。(分数:1.00)A.良好的总体结构B.功能模块间较高
9、的耦合度C.功能模块内较高的内聚度D.尽量降低模块接口复杂性20.应用软件概要设计成果是_。(分数:1.00)A.软件设计概要说明书B.数据库或数据结构设计说明书C.组装测试计划D.需求说明书21.SQL Server支持的统一编码字符的数据类型不包括_。(分数:1.00)A.nchar(n)B.nvarchar(n)C.ntextD.nfloat22.有职工工资表(职工号、姓名、日期、基本工资、奖金、工资合计),其中“工资合计”等于同一行数据的“基本工资”与“奖金”之和,在职工工资表中插入一行数据时(设一次只插入一行数据)能实现自动计算“工资合计”列的值的代码是_。(分数:1.00)A.AL
10、TER TABLE 职工工资表 ADD CHECK(工资合计=基本工资+奖金)B.UPDATE 职工工资表 SET 工资合计=基本工资+奖金C.INSERT INTO 职工工资表(工资合计) VALUES(基本工资+奖金)D.CREATE TRIGGER TRION 职工工资表 FOR INSERTASUPDATE 职工工资表 SETA工资合计=基本工资+A奖金&nb二、简答题(总题数:1,分数:26.00)存在如下表结构:Student表结构列名 含义 数据类型 约束Sno 学号 普通编码定长字符串,长度为 7 主码Sname姓名 普通编码定长字符串,长度为 10 非空Ssex 性别 普通编
11、码定长字符串,长度为 2 取值范围为:男,女Sage 年龄 微整型 大于等于 14Sdept所在系 普通编码不定长字符串,长度为 20Course表结构列名 含义 数据类型 约束Cno 课程号 普通编码定长字符串,长度为 10 主码Cname 课程名 普通编码不定长字符串,长度为 20非空Periods 学时数 小整型 大于 0Porperty课程性质 普通编码定长字符串,长度为 4 取值范围为必须,选修SC表结构列名 含义 数据类型 约束Sno 学号 普通编码定长字符串,长度为 7 主码,引用 Student的外码Cno 课程号 普通编码定长字符串,长度为 10主码,引用 Course的外码
12、Grade成绩 小整型 取值范围为 0100写出实现下述操作的 SQL语句:1.查询选课门数超过两门的学生的平均成绩和选课门数。(分数:26.00)_数据库应用系统功能设计、关系数据库操作语言 SQL答案解析(总分:48.00,做题时间:90 分钟)一、单项选择题(总题数:22,分数:22.00)1.以下关于详细设计的任务及其成果说法错误的是_。(分数:1.00)A.详细设计是细化概要设计产生的功能模块B.用某种过程设计语言设计程序模块的内部细节C.为编写软件源代码提供依据D.详细设计结果表示为需求说明书 解析:2.以下关于三层浏览器/服务器(B/S)结构的数据库应用系统说法错误的是_。(分数
13、:1.00)A.三层浏览器朋艮务器结构的数据库应用系统是一种互联网环境下的新型数据库应用系统结构B.它将数据处理功能分解并分布在表示层、功能层两个层次上 C.表示层位于客户端,由 Web浏览器实现D.功能层位于 Web应用服务器,实现面向具体应用领域的业务规则解析:3.在 SQL语言中,ALTER TABLE 实现下列功能中的_。(分数:1.00)A.数据定义B.数据查询C.数据操纵 D.数据控制解析:4.匹配串中可包含四种通配符,其中用于匹配任何一个字符的是_。(分数:1.00)A. B.C.D.解析:5.模块结构图定义的内容包括_。各个模块的功能 模块间的接口信息各个模块的名字 模块间的调
14、用关系(分数:1.00)A. B.C.D.解析:6.概要设计应提供的文件不包括_。(分数:1.00)A.概要设计说明书B.数据库或数据结构设计说明书C.组装测试计划D.需求说明书 解析:7.现有如下关系表:职工(职工号,姓名,性别,基本工资,职务津贴)男职工(职工号,姓名,性别,工资)要求修改男职工的工资信息,工资为职工表中对应职工的基本工资和职务津贴的和,以下 SQL语句正确的是_。(分数:1.00)A.update 男职工 set 工资=职工.基本工资+职工.职务津贴 from 职工 where 职工.职工号=男职工.职工号 B.update 男职工 set 工资=基本工资+职务津贴C.u
15、pdate 男职工,职工 set 工资=职工.基本工资+职工.职务津贴 from 职工 where 职工.职工号=男职工.职工号D.update 男职工 set 工资=职工.基本工资+职工.职务津贴 from 职工 where 职工.男职工解析:8.有会员卡表 TableCards(CardsID,StartDate,Score),CardID 表示卡标识,Scord 为卡积分,有视图定义:CREATE VIEW vCard ASSELECT * FROM TableCards WHERE Score BETWEEN 200 AND 500 WITH CHECR OPTION假设(C0001,
16、2008/5/6,220)是 TableCards表中的一个元组,下述说法正确的是_。(分数:1.00)A.若要查询积分在 200和 300之间的有卡标识,通过视图 vCARD查询会比连接在 TableCards上查询的效率要高B.数据库系统会分配存储空间实际保存视图 vCards所对应的数据C.语句 UPDATE vCards SET Score=260 WHERE CardID=C0001能成功执行 D.语句 INSERT INTO vCard VALUSE(C0010,2008/4/5,1000)能成功执行解析:9.SQL Server支持的准确型数据类型不包括_。(分数:1.00)A.
17、BigintB.intC.SmallintD.float 解析:10.以下叙述错误的是_。(分数:1.00)A.NOTNULL和 DEFAULT不能在表级完整性约束处定义B.如果 CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义C.如果在表级完整性约束处定义外码,则 FOREIGN KEY不能省略,但列名可以省略 D.如果表的主码由多个列组成,则这样的主码也只能在表级完整性约束处定义解析:11.在 SQL中删除视图的操作是_。(分数:1.00)A.DELETEB.DROP C.CLEARD.REMOVE解析:12.以下不属于软件设计遵循的原则的是_。(分数:1.00)A.设
18、计应与软件需求保持一致B.设计的软件结构应支持模块化C.逐步求精D.面向过程 解析:13.以下属于软件设计任务的是_。建立软件系统的总体结构和模块间的关系定义各功能模块的接口设计全局数据库或数据结构规定设计约束制定组装测试计划(分数:1.00)A.B.C.D. 解析:14.以下关于视图的定义叙述错误的是_。(分数:1.00)A.视图的数据可以只取自一个基本表的部分行、列B.视图的数据可以来自多个表中,这样定义的视图一般只用于查询,不用于修改数据C.不可以在视图上再建立视图 D.含分组统计信息的视图,只用于查询,不用于修改数据解析:15.以下关于检查关系表对数据库事务的支持性的具体步骤说法错误的
19、是_。(分数:1.00)A.对每一个事务,根据需求分析阶段的事务分析,列出该事务所访问的各个数据项B.如果事务访问的数据项同时出现在多个表中,检查这些关系表间的关联关系,如主码/外码关联C.列出事务访问的数据项所在的关系表和对应的关系属性D.所访问的一些数据项出现在多个关系表中的事务,需要重新修改数据库的概念模型或逻辑结构 解析:16.一个完整的事务概要设计包括_。事务名称 事务所访问的关系表及关系属性事务处理逻辑 事务用户(分数:1.00)A.B.C.D. 解析:17.以下不属于软件设计过程的是_。(分数:1.00)A.需求分析B.概要设计C.编码及实施D.数据设计 解析:18.以下关于人机
20、界面设计原则叙述错误的是_。(分数:1.00)A.保持用户与人机界面间的双向交流B.用户界面应该遵循一定标准和常规C.尽量减少用户的输入负担D.减少字符、图形、图像、声音等数据输出方式 解析:19.以下不属于一个好的概要设计的要求的是_。(分数:1.00)A.良好的总体结构B.功能模块间较高的耦合度 C.功能模块内较高的内聚度D.尽量降低模块接口复杂性解析:20.应用软件概要设计成果是_。(分数:1.00)A.软件设计概要说明书 B.数据库或数据结构设计说明书C.组装测试计划D.需求说明书解析:21.SQL Server支持的统一编码字符的数据类型不包括_。(分数:1.00)A.nchar(n
21、)B.nvarchar(n)C.ntextD.nfloat 解析:22.有职工工资表(职工号、姓名、日期、基本工资、奖金、工资合计),其中“工资合计”等于同一行数据的“基本工资”与“奖金”之和,在职工工资表中插入一行数据时(设一次只插入一行数据)能实现自动计算“工资合计”列的值的代码是_。(分数:1.00)A.ALTER TABLE 职工工资表 ADD CHECK(工资合计=基本工资+奖金)B.UPDATE 职工工资表 SET 工资合计=基本工资+奖金C.INSERT INTO 职工工资表(工资合计) VALUES(基本工资+奖金)D.CREATE TRIGGER TRION 职工工资表 FO
22、R INSERTASUPDATE 职工工资表 SETA工资合计=基本工资+A奖金&nb 解析:二、简答题(总题数:1,分数:26.00)存在如下表结构:Student表结构列名含义数据类型约束Sno学号普通编码定长字符串,长度为7主码Sname姓名普通编码定长字符串,长度为非空10Ssex性别普通编码定长字符串,长度为2取值范围为:男,女Sage年龄微整型大于等于14Sdept所在系普通编码不定长字符串,长度为20Course表结构列名含义数据类型约束Cn课程普通主码o 号 编码定长字符串,长度为10Cname课程名普通编码不定长字符串,长度为20非空Periods学时数小整型大于0Porpe
23、rty课程性质普通编码定长字符串,长取值范围为必须,选修度为4SC表结构列名含义数据类型约束Sno学号普通编码定长字符串,长度为7主码,引用Student的外码Cno课程号普通编码定长字符串,长度为10主码,引用Course的外码Grade成绩小整型取值范围为0100写出实现下述操作的 SQL语句:1.查询选课门数超过两门的学生的平均成绩和选课门数。(分数:26.00)_正确答案:(select sno,sum(grade)总成绩,avg(grade)平均成绩,count(*) 选课门数 from scgroup by sno having count(*)2)解析:_正确答案:(select
24、 sno,sum(grade) 总成绩 from scgroup by sno having sum(grade)200)解析:_正确答案:(select sname,sdept from Student join SC on Student.Sno=SC.Snowhere cno=C02)解析:_正确答案:(select sname,cno,gradefrom student s join sc on s.sno=sc.snowhere grade80Order by grade desc)解析:_正确答案:(select sname,ssex,gradefrom student s joi
25、n sc on s.sno=sc.snojoin course c on o=owhere sdept=计算机系 and ssex=男and cname=数据库基础)解析:_正确答案:(select s.sno,sname,cno,grade from Student s left join SCon s.Sno=SC.Sno)解析:_正确答案:(select top 3 s.sno,sname,sdept,gradefrom Student s join SC on s.Sno=SC.Snojoin Course c on c.Cno= SC.Cnowhere cname=数据库基础orde
26、r by grade desc)解析:_正确答案:(select t1.sno,t2.sno,ofrom sc as t1 join.sc as t2on o=owhere tl.snot2.sno)解析:_正确答案:(select o,cname from course c left join scon o=owhere o is null)解析:_正确答案:(select sname,cname,gradefrom student S join sc on s.sno=sc.snojom course c on o=owhere sdept=计算机系and grade(select avg
27、(grade) from sc)解析:_正确答案:(select sname,sdept,gradefrom student s join sc on s.sno=sc.snojom course C on o=owhere grade=(select min(grade) from scwhere cno in (select cno from course where cname=vb)and cname=vb)解析:_正确答案:(select s.sno 学号,sname 姓名,case sdeptwhen 计算机系 then CSwhen 信息系 then ISwhen 数学系 the
28、n MAelse OTHERend as 所在系,grade 成绩from student s join sc on s.sno=sc.snojoin course c on o=owhere cname=vb)解析:_正确答案:(select o,casewhen count(o)100 then 人多when count(o) between 40 and 100 then一般when count(o)40 then 较少when count(o)=0 then 无人选end as 选课人数from sc right join course c on o=ogroup by o)解析:解析 本题考查的是 SQL操作。