A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_金额>200 B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200 C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200 D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_金额>200
(31)要使“产品”表中所有产品的单价上浮8%,正确的SQL命令是 A)UPDATE 产品 SET 单价=单价 + 单价*8% FOR ALL B)UPDATE 产品 SET 单价=单价*1.08 FOR ALL C)UPDATE 产品 SET 单价=单价 + 单价*8% D)UPDATE 产品 SET 单价=单价*1.08
(32)假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是 A)SELECT 产品名称,AVG(单价) FROM 产品 GROUP BY 单价 B)SELECT 产品名称,AVG(单价) FROM 产品 ORDER BY 单价 C)SELECT 产品名称,AVG(单价) FROM 产品 ORDER BY 产品名称 D)SELECT 产品名称,AVG(单价) FROM 产品 GROUP BY 产品名称
(33)执行如下命令序列后,最后一条命令的显示结果是 DIMENSION M(2,2) M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ? M(2)
A)变量未定义的提示 B)10 C)20 D).F.
(34)设有S(学号,姓名,性别)和SC (学号,课程号,成绩)两个表,如下SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是 A)SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT * FROM sc WHERE SC.学号=S.学号 AND 成绩<=85) B)SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS (SELECT * FROM sc WHERE SC.学号=S.学号 AND 成绩<=85) C)SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT * FROM sc WHERE SC.学号=S.学号 AND 成绩>85) D)SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS
(SELECT * FROM sc WHERE SC.学号=S.学号 AND 成绩<85)
(35)从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL 语句是 A)DROP FROM 订单WHERE签订日期<={^2004-l-10} B)DROP FROM 订单 FOR 签订日期<={^2004-l-lO} C)DELETE FROM 订单 WHERE 签订日期<={^2004-1-10} D)DELETE FROM 订单 FOR 签订日期<={^2004-l-10)
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整。
(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为 【1】 。
第41页
(2)在面向对象方法中, 【2】 描述的是具有相似属性与操作的一组对象。 (3)在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】 。
(4)程序测试分为静态分析和动态测试。其中 【4】 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【5】 。
(6)表达式{^2005-1-3 10:0:0}-{^2005-10-3 9:0:0}的数据类型是 【6】 。
(7)在Visual FoxPro中,将只能在建立它的模块中使用的内存变量称为 【7】 。 (8)查询设计器的“排序依据”选项卡对应于SQL SELECT语句的 【8】 短语。 (9)在定义字段有效性规则时,在规则框中输入的表达式类型是 【9】 。 (10)在Visual FoxPro中,主索引可以保证数据的 【10】 完整性。 (11)SQL支持集合的并运算,运算符是 【11】 。 (12)SQL SELECT语句的功能是 【12】 。 (13)“职工”表有工资字段,计算工资合计的SQL语句是 SELECT 【13】 FROM 职工。 (14)要在“成绩”表中插入一条记录,应该使用的SQL语句是: 【14】 成绩(学号,英语,数学,语文) VALUES(\(15)要将一个弹出式菜单作为某个控件的快捷菜单,通常是在该控件的 【15】 事件代码中添加调用弹出式菜单程序的命令。 参考答案: 一、选择题:1-5 DADBA 6-10 DCDAC 11-15 DCDAC 16-20AADDA 21-25 CDCDD 26-30 BDAAB 31-35 DDCDC 二、填空题:1.45 2.类 3.关系 4.静态分析 5.物理独立性 6.数值型(N) 7.局部变量 8.ORDER BY 9.逻辑型 10.实体 11.UNION 12.数据查询 13.SUM(工资) 14.INSERT INTO 15.RIGHTCLICK 2005年9月全国计算机等级考试二级笔试试卷 Visual FoxPro数据库程序设计 (考试时间90分钟,满分100分) 一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成 C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试 (2)下列数据结构中,能用二分法进行查找的是 A)顺序存储的有序线性表 B)线性链表 C)二叉链表 D)有序线性链表 (3)下列关于栈的描述正确的是
A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 (4)下列叙述中正确的是
A)一个逻辑数据结构只能有一种存储结构
第42页
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 (5)下列描述中正确的是
A)软件工程只是解决软件项目的管理问题 B)软件工程主要解决软件产品的生产率问题
C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D)软件工程只是解决软件开发中的技术问题 (6)在软件设计中,不属于过程设计工具的是 A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图 (7)下列叙述中正确的是 A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令 (8)数据库设计的根本目标是要解决 A)数据共享问题 B)数据安全问题 C)大量数据存储问题 D)简化数据维护 (9)设有如下关系表: T R S A B C A B C A B C 1 2 1 2 2 3 3 1 3 1 2 3 1 2 1 2 3 3 则下列操作中正确的是( )。 A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S (10)数据库系统的核心是 A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员 (11)Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指 A)数据库文件(dbc文件) B)一个数据库中两个表之间有一定的关系 C)表文件(dbf文件) D)一个表文件中两条记录之间有一定的关系 (12)扩展名为mnx的文件是 A)备注文件 B)项目文件 C)表单文件 D)菜单文件 (13)报表的数据源可以是 A)表或视图 B)表或查询 C)表、查询或视图 D)表或其他报表 (14)如果添加到项目中的文件标识为“排除”,表示 A)此类文件不是应用程序的一部分 B)生成应用程序时不包括此类文件 C)生成应用程序时包括此类文件,用户可以修改 D)生成应用程序时包括此类文件,用户不能修改 (15)“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是 A)查询、视图或表单 B)表单、报表和标签 C)查询、表单或程序 D)以上文件都可以 (16)允许出现重复字段值的索引是
A)侯选索引和主索引 B)普通索引和惟一索引 C)侯选索引和惟一索引 D)普通索引和侯选索引 (17)以纯文本形式保存设计结果的设计器是
A)查询设计器 B)表单设计器 C)菜单设计器 D)以上三种都不是
第43页
(18)以下关于视图的描述正确的是
A)视图保存在项目文件中 B)视图保存在数据库文件中 C)视图保存在表文件中 D)视图保存在视图文件中 (19)下面有关表间永久联系和关联的描述中,正确的是
A)永久联系中的父表一定有索引,关联中的父表不需要有索引 B)无论是永久联系还是关联,子表一定有索引
C)永久联系中子表的记录指针会随父表的记录指针的移动而移动 D)关联中父表的记录指针会随子表的记录指针的移动而移动 (20)下面关于类、对象、属性和方法的叙述中,错误的是
A)类是对一类相似对象的描述,这些对象具有相同种类的属性和方法 B)属性用于描述对象的状态,方法用于表示对象的行为 C)基于同一个类产生的两个对象可以分别设置自己的属性值 D)通过执行不同对象的同名方法,其结果必然是相同的
(21)在下面的Visual FoxPro表达式中,运算结果为逻辑真的是 A)EMPTY(.NULL.) B)LIKE('xy', 'xyz') C)AT('xy','abcxyz') D)ISNULL(SPACE(0)) (22)依次执行以下命令后的输出结果是 SET DATE TO YMD SET CENTURY ON
SET CENTURY TO 19 ROLLOVER 10 SET MARK TO \? CTOD(\
A)49.05.01 B)1949.05.01 C)2049.05.01 D)出错
(23)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令: 姓名=姓名-\您好\ ? 姓名
那么主窗口中将显示
A)张三 B)张三 您好 C)张三您好 D)出错
(24)有一学生表文件,且通过表设计器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是
A)SET INDEX TO 姓名 B)SET INDEX TO XM C)SET ORDER TO 姓名 D)SET ORDER TO XM
(25)当前打开的图书表中有字符型字段“图书号”,要求将图书号以字母A开头的图书记录全部打上删除标记,通常可以使用命令
A)DELETE FOR 图书号=\ B)DELETE WHILE 图书号=\C)DELETE FOR 图书号=\ D)DELETE FOR 图书号 LIKE \(26)在Visual FoxPro中,要运行查询文件query1.qpr,可以使用命令
A)DO query1 B)DO query1.qpr C)DO QUERY query1 D)RUN query1 (27)下列程序段的输出结果是 ACCEPT TO A IF A=[123456] S=0 ENDIF S=1
第44页
? S RETURN
A)0 B)1 C)由A的值决定 D)程序出错 (28)如果在命令窗口输入并执行命令:“LIST 名称”后在主窗口中显示 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线
假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是 GO 2
SCAN NEXT 4 FOR LEFT(名称2)=\电\ IF RIGHT(名称,2)=\线\ LOOP ENDIF ?? 名称 ENDSCAN
A)电话线 B)电冰箱 C)电冰箱电线 D)电视机电冰箱 第(29)—(35)题使用如下三个表:
职员.DBF:职员号 C(3),姓名 C(6),性别 C(2),组号 N(1),职务 C(10) 客户.DBF:客户号 C(4),客户名 C(36),地址 C(36),所在城市 C(36)
订单.DBF:订单号 C(4),客户号 C(4),职员号 C(3),签订日期 D,金额 N(6.2) (29)查询金额最大的那10%订单的信息。正确的SQL语句是 A)SELECT * TOP 10 PERCENT FROM 订单 B)SELECT TOP 10% * FROM 订单 ORDER BY 金额
C)SELECT * TOP 10 PERCENT FROM 订单 ORDER BY 金额
D)SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC
(30)查询订单数在3个以上、订单的平均金额在200元以上的职员号。正确的SQL语句是 A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_金额>200 B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200 C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200 D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_金额>200
(31)显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是 A)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户
ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1} B)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户
WHERE 订单.客户号=客户.客户号 AND 签订日期>{^2005-1-1} C)SELECT 订单号,客户名,签订日期 FROM 订单,客户
WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1} D)SELECT 订单号,客户名,签订日期 FROM 订单,客户
ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
(32)显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是 A)SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单
ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0
第45页