1、国家二级 VF笔试-试卷 255及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:32,分数:70.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。_2.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据处理的效率无关C.数据的存储结构与数据处理的效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的3.从工程管理角度,软件设计般分为两步完成,它们是( )。(分数:2.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与
2、数据设计D.过程设计与数据设计4.设树 T的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1,则 T中的叶子结点数为( )。(分数:2.00)A.5B.6C.7D.85.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。(分数:2.00)A.log2nB.n/2C.nD.n+l6.数据库设计的 4个阶段是:需求分析、概念设计、逻辑设计和( )。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计7.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:2.00)A.概要设计B.详细设计C.可行性分析D.
3、需求分析8.下面不属于软件设计原则的是( )。(分数:2.00)A.抽象B.模块化C.白底向上D.信息隐蔽9.在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(分数:2.00)A.63B.64C.6D.710.下列叙述中正确的是( )。(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上 3种说法都不对11.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域12.下列关于 Visual FoxPro的叙述正确
4、的是( )。(分数:2.00)A.表也被称作表单B.数据库文件不存储用户数据C.数据库文件的扩展名是 dbfD.一个数据库中的所有表文件存储在一个物理文件中13.数据库系统的核心是( )。(分数:2.00)A.数据库B.操作系统C.数据库管理系统D.文件14.按照数据模型分类,数据库管理系统可以分为 3种类型,它们是( )。(分数:2.00)A.大型、中型和小型B.西文、中文和兼容C.层次、网状和关系D.数据、图形和多媒体15.定义何种菜单时,可以使用菜单设计器窗口中的“插入栏”按钮,以插入标准的系统菜单命令( )。(分数:2.00)A.条形菜单B.弹出式菜单C.快捷菜单D.)和)都正确16.
5、下列关于控件类的说法中,错误的是( )。(分数:2.00)A.控件是一个可以以图形化的方式显示的对象B.控件可以与用户进行交互C.控件通常被放置在一个容器里D.控件是不可复制的17.用鼠标双击对象时所引发的事件是( )。(分数:2.00)A.ClickB.DbclickC.RightClickD.LeftClick18.SQL SELECT语句中的 WHERE用于说明( )。(分数:2.00)A.查询数据B.查询条件C.查询分组D.查询排序19.SQL语句可以进行多个查询的嵌套,但 Visual FoxPro中只支持( )层嵌套。(分数:2.00)A.1B.2C.3D.无穷20.在成绩表中要求
6、按“物理”降序排列,并查询前两名的学生姓名,正确的语句是( )。(分数:2.00)A.SELECT 姓名 TOP 2 FROM 成绩表 WHERE 物理 DESCB.SELECT 姓名 TOP 2 FROM 成绩表 FOR 物理 DESCC.SELECT 姓名 TOP 2 FROM 成绩表 GROUP BY 物理 DESCD.SELECT 姓名 TOP 2 FROM 成绩表 ORDER BY 物理 DESC21.找出职工年龄大于 50的职工姓名,以及这些职工工作所在的城市,正确的命语句是( )。(分数:2.00)A.SELECT 姓名,城市 FROM 职工; WHERE (年龄50) OR (
7、职工.职工号=城市.职工号)B.SELECT 姓名,城市 FROM 职工; WHERE (年龄50) AND (职工.职工号=城市.职工号)C.SELECT 姓名,城市 FROM 城市,职工; WHERE (年龄50) OR (职工.职工号=城市.职工号)D.SELECT 姓名,城市 FROM 城市,职工; WHERE (年龄50) AND (职工.职工号=城市.职工号)22.在 Visual FoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“限制”,当删除父表记录时,系统反应是( )。(分数:2.00)A.不做参照完整性检查B.不准删除父表中的记录C.自动删除子
8、表中所有相关记录D.若子表中有相关记录,则禁止删除父表中的记录23.在 Visual FoxPro中,下列选项中数据类型所占字符的字节数相等的是( )。(分数:2.00)A.字符型和逻辑型B.日期型和备注型C.逻辑型和通用型D.通用型和备注型24.不需要事先建立就可以使用的变量是( )。(分数:2.00)A.私有变量B.局部变量C.全局变量D.数组变量25.在 Visual FoxPro的数据库表中只能有一个( )。(分数:2.00)A.候选索引B.普通索引C.主索引D.唯一索引26.下列关于 SQL对表的定义的说法中,正确的是( )。(分数:2.00)A.利用 ALTER TABLE来定义一
9、个新的数据表结构B.SQL的表定义语句定义自由表的域完整性、字段有效性规则等C.SQL只能对数据库表实现其完整性、有效性规则等信息的设置D.SQL的表定义语句只能定义表中的候选索引、唯一索引和普通索引,不能定义主索引27.下列关于查询的描述中,正确的是( )。(分数:2.00)A.不能根据自由表建立查询B.只能根据自由表建立查询C.只能根据数据库表建立查询D.可以根据数据库表和自由表建立查询28.“主键”不允许取重复值,是指( )。(分数:2.00)A.实体完整性约束规则B.引用完整性约束规则C.用户自定义完整性约束规则D.数据完整性约束规则29.检索尚未确定的供应商的订单号,正确的语句是(
10、)。(分数:2.00)A.SELECT * FROM 订购单 WHERE 供应商号 NULLB.SELECT * FROM 订购单 WHERE 供应商号 =NULLC.SELECT * FROM 订购单 WHERE 供应商号 IS NULLD.SELECT * FROM 订购单 WHERE 供应商号 IS NOT NULL30.可以随表的打开而自动打开的索引是( )。(分数:2.00)A.单项索引B.复合索引C.结构复合压缩索引D.非结构化索引31.下列选项中,不属于 SQL特殊运算符的是( )。(分数:2.00)A.GROUPB.ONC.ALLD.EMPTY使用下列数据表。“外汇名”表:外币
11、代码 外币名称 现钞买入价 现钞卖出价 基准价 13 欧元 958.6400 985.2300 996.540028 英镑 1220.9700 1330.2200 1287.456537 法郎 592.7650 618.1305 612.591026 加元 516.4110 531.4280 519.869015 美元 811.5410 817.8900 815.6650“持有数”表:姓名 外币代码 持有数量李巡芬 37 30000.00 张武奇 13 1000.00 陆凭凭 15 3000.00 陆凭凭 37 4000.00张武奇 15 2200.00 林诗诗 26 2000.20 李巡芬
12、26 30000.00 张武奇 28 3000.00 陆凭凭 26 3000.00 陆凭凭 13 4000.00 张武奇 26 18000.00(分数:10.00)(1).执行下列 SQL语句后,第一条记录的内容是( )。SELECT 姓名,外币名称,持有数量 FROM 外汇名,持有数; WHERE 外汇名.外币代码=持有数.外币代码; AND 持有数量=10000; ORDER BY 持有数量 DESC,姓名(分数:2.00)A.张武奇 加元 18000B.张武奇 瑞士法郎 18000C.李巡芬 加元 30000D.李巡芬 瑞士法郎 30000(2).查询持有外币种类在 4种以上人员的姓名,
13、及持有的种类数量,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句中正确的是( )。(分数:2.00)A.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY 外币种类,姓名 DESCB.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY COUNT(*),姓名 DESCC.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING
14、 COUNT(*)=4; ORDER BY 外币种类 AND 姓名 DESCD.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY 外币种类+姓名 DESC(3).计算出“陆凭凭”所持有的全部外币相当于人民币的价值数量,下列语句中正确的是 ( )。(某种外币相当于人民币数量的计算公式:人民币价值数量=该种外币的“现钞买入价” * 该种外币“持有数量”)(分数:2.00)A.SELECT SUM (现钞买入价*持有数量) AS 人民币价值; FROM 持有数,外汇名; WHERE 外汇名.外币代
15、码=持有数.外币代码; AND 姓名=“陆凭凭“B.SELECT SUM (现钞买入价*持有数量) AS 人民币价值; FROM 持有数,外汇名; WHERE 外汇名.外币代码=持有数.外币代码; FOR 姓名=“陆凭凭“C.SELECT COUNT (现钞买入价,持有数量) AS 人民币价值; FROM 持有数,外汇名; WHERE 外汇名.外币代码=持有数.外币代码; AND 姓名=“陆凭凭“D.SELECT COUNT (现钞买入价*持有数量) AS 人民币价值; FROM 持有数,外汇名; WHERE 外汇名.外币代码=持有数.外币代码; FOR 姓名=“陆凭凭“(4).将“外汇名”表
16、美元和欧元的基准价下调 1%,下列语句中正确的是( )。(分数:2.00)A.UPDATE 外汇名 FOR 基准价=基准价*0.99; WHERE 外币名称=“美元“ OR 外币名称=“欧元“B.UPDATE 外汇名 SET 基准价=基准价*0.99; WHERE 外币名称=“美元“ OR 外币名称=“欧元“C.UPDATE 外汇名 SET 基准价=基准价*0.99; WHERE 外币名称=“美元“ AND 外币名称=“欧元“D.UPDATE 外汇名 FOR 基准价=基准价*0.99; WHERE 外币名称=“美元“ AND 外币名称=“欧元“(5).删除“持有数”表中所有外币名称为“瑞士法郎
17、”的记录,下列语句中正确的是( )。(分数:2.00)A.DELETE FROM 持有数; WHERE 持有数.外币代码=外汇名.外币代码; AND 外币名称=“法郎“B.DELETE FROM 持有数,外汇名; WHERE 持有数.外币代码=外汇名.外币代码; AND 外币名称=“法郎“C.DELETE FROM 持有数 WHERE 外币代码 IN; (SELECT 外币代码 FROM 外汇名 WHERE 外币名称=“法郎“)D.DELETE FROM 持有数 WHERE 外币代码 IN; SELECT 外币代码 FROM 外汇名 WHERE 外币名称=“法郎“二、填空题(总题数:16,分数
18、:32.00)32.填空题(每空)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。(分数:2.00)_33.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_34.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作 1。(分数:2.00)填空项 1:_35.在一个容量为 32的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_36.一棵二叉树第 6层(根结点为第一层)的结点最多为 1 个。(分数:2.00)填空项 1:_37.度为
19、 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_38.在项目管理器的“其他”选项卡中,包括文本文件、 1 文件和其他文件。(分数:2.00)填空项 1:_39.在 Visual FoxPro中修改表结构的非 SQL命令是 1。(分数:2.00)填空项 1:_40.数据完整性一般包括 1、域完整性和参照完整性等。(分数:2.00)填空项 1:_41.表单标签控件的 Caption(标题)属性最多能接收 1 个字符。(分数:2.00)填空项 1:_42.条件函数 IIF(LEN(SPACE(4)6,“TRUE“,“FALSE“)的返回值是 1。(分数:2
20、.00)填空项 1:_43.多栏报表的栏目数可以通过 1 对话框来设置。(分数:2.00)填空项 1:_44.在运行表单时,INIT、GOTFOFUS 和 DESTROY 3个事件中第 2个引发的事件是 1。(分数:2.00)填空项 1:_45.SQL语句中, 1 命令短语的功能是修改表中的记录。(分数:2.00)填空项 1:_46.逻辑删除成绩表中总分在 600分以下的学生记录,可使用 SQL语句:DELETE 1 成绩表 WHERE 总分600(分数:2.00)填空项 1:_47.SQL语句:SELECT*FROM 仓库表 WHERE NOT EXISTS; (SELECT*FROM 职工
21、表 WHERE 仓库号=仓库.仓库号)该语句等价于:SELECT*FROM 仓库表 WHERE 仓库号 1; (SELECT 仓库号 FROM 职工表)(分数:2.00)填空项 1:_国家二级 VF笔试-试卷 255答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:32,分数:70.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。_解析:2.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据处理的效率无关 C.数据的存储结构与数据处理的效率密切相关
22、D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析:一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等,选项 A和选项 D正确。采用不同的存储结构,其数据处理的效率不同,因此,在进行数据处理时,选择合适的存储结构是很重要的,选项 C正确,选项 B错误,应为本题正确答案。3.从工程管理角度,软件设计般分为两步完成,它们是( )。(分数:2.00)A.概要设计与详细设计 B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计解析:解析:从工程管理的角度,软件设计可分为概要设计和详细设计两大步骤。4.设树 T的度为 4,其中度为 1,2,
23、3,4 的结点个数分别为 4,2,1,1,则 T中的叶子结点数为( )。(分数:2.00)A.5B.6C.7D.8 解析:解析:根据给定的条件,在树中,各结点的分支总数为:41+22+13+41=15;树中的总结点数为:15(各结点的分支总数)+1(根结点)=16;非叶子结点总数为:4+2+1+1=8。因此,叶子结点数为16(总结点数)-8(非叶子结点总数)=8。5.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。(分数:2.00)A.log2nB.n/2C.n D.n+l解析:解析:在长度为 n的线性表中进行顺序查找,最坏情况下需要比较 n次。6.数据库设计的 4个阶
24、段是:需求分析、概念设计、逻辑设计和( )。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计 解析:解析:数据库的生命周期可以分为两个阶段:一是数据库设计阶段;二是数据库实现阶段。数据库的设计阶段又分为如下 4个子阶段:需求分析、概念设计、逻辑设计和物理设计。7.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析 解析:解析:在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。8.下面不属于
25、软件设计原则的是( )。(分数:2.00)A.抽象B.模块化C.白底向上 D.信息隐蔽解析:解析:软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念。它们是:抽象、模块化、信息隐蔽、模块独立性。没有自底向上9.在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(分数:2.00)A.63B.64 C.6D.7解析:解析:在长度为 64的有序线性表中,其中的 64个数据元素是按照从大到小或从小到大的顺序有序排列的。在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不在线性表中或位于线性表的最后。按照线性表的顺序查
26、找算法,首先用被查找的数据和线性表的第一个数据元素进行比较,若相等,则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。同样,若相等,则查找成功,否则,继续进行比较。依次类推,直到在线性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。因此,在长度为 64的有序线性表中进行顺序查找,最坏的情况下需要比较 64次。因此,本题的正确答案为 B。10.下列叙述中正确的是( )。(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题 C.数据库管理系统就是数据库系统D.以上 3种说法都不对解析:解析:数据库系统除了数
27、据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等,选项 A的说法是错误的。数据库具有为各种用户所共享的特点,选项 B的说法是正确的。通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由 5个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。因此,选项 C的说法是错误的。11.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系 C.键D.域解析:解析:把概念模型转换成关系数据模型就是把 E-R图转换成一组关系模式,每一个实体型转换为一个关系模式,每个联系分别转换为
28、关系模式。12.下列关于 Visual FoxPro的叙述正确的是( )。(分数:2.00)A.表也被称作表单B.数据库文件不存储用户数据 C.数据库文件的扩展名是 dbfD.一个数据库中的所有表文件存储在一个物理文件中解析:解析:Visual FoxPro 中一个关系被称作一个表,表与表单是两个不同的概念。数据库是一个逻辑上的概念和手段,是通过一组系统文件将相互联系的数据库表及其相关的数据库对象统一组织和管理,并不能存储用户数据。数据库中所包含的表文件都是独立存在的物理文件。数据库的文件扩展名为.dbc,表的文件扩展名为.dbfo13.数据库系统的核心是( )。(分数:2.00)A.数据库B
29、.操作系统C.数据库管理系统 D.文件解析:解析:在数据库系统中,数据库管理系统对数据实行专门管理,提供安全性和完整性等统一控制机制,是数据库系统的核心,Visual FoxPro 就是一个可以在计算机和服务器上运行的数据库管理系统。14.按照数据模型分类,数据库管理系统可以分为 3种类型,它们是( )。(分数:2.00)A.大型、中型和小型B.西文、中文和兼容C.层次、网状和关系 D.数据、图形和多媒体解析:解析:数据库管理系统所支持的数据模型分为 3种:层次型、网状型和关系型。其中层次型是用树型结构表示实体及实体之间的联系,网状型是用网状结构表示实体及实体之间的联系,关系型用二维表来表示实
30、体及实体之间的联系。15.定义何种菜单时,可以使用菜单设计器窗口中的“插入栏”按钮,以插入标准的系统菜单命令( )。(分数:2.00)A.条形菜单B.弹出式菜单C.快捷菜单D.)和)都正确 解析:解析:在当前菜单项之前插入一个 Visual FoxPro系统菜单命令的方法是:单击该按钮,打开“插入系统菜单栏”对话框,然后在对话框内选择所需的菜单命令(可以多选),并单击“插入”按钮。“插入栏”按钮仅在定义弹出式菜单时有效,而快捷菜单一般是一个弹出式菜单,或者由几个具有上下级关系的弹出式菜单组成。所以“插入栏”按钮在定义快捷菜单时也有效。16.下列关于控件类的说法中,错误的是( )。(分数:2.0
31、0)A.控件是一个可以以图形化的方式显示的对象B.控件可以与用户进行交互C.控件通常被放置在一个容器里D.控件是不可复制的 解析:解析:控件是一个可以以图形化的方式显示并能与用户进行交互的对象,如一个命令按钮、一个文本框等。控件通常被放置在一个容器里。容器可以被认为是一种特殊的控件,它能包容其他的控件或容器,如一个表单、一个表格等。在表单设计器环境下,可以对表单中的控件进行诸如移动、复制、布局等操作,也可以为控件设置 Tab键顺序。17.用鼠标双击对象时所引发的事件是( )。(分数:2.00)A.ClickB.Dbclick C.RightClickD.LeftClick解析:解析:Click
32、 事件是鼠标单击对象时所引发的;DblClick 事件是鼠标双击对象时所引发的;RightClick事件是右击对象所引发的;表单及控件中不包含 LefiClick事件。18.SQL SELECT语句中的 WHERE用于说明( )。(分数:2.00)A.查询数据B.查询条件 C.查询分组D.查询排序解析:解析:SELECT 语句中的 WHERE短语用来进行查询条件的筛选,相当于关系的选择操作:GROUP BY短语用于对查询结果进行分组;ORDERBY 短语用来对查询结果进行排序。19.SQL语句可以进行多个查询的嵌套,但 Visual FoxPro中只支持( )层嵌套。(分数:2.00)A.1B
33、.2 C.3D.无穷解析:解析:SQL 可以进行多个查询嵌套,Visual FoxPro 中只支持两层嵌套,即内层查询块和外层查询块,不支持 SQL的多层嵌套查询。20.在成绩表中要求按“物理”降序排列,并查询前两名的学生姓名,正确的语句是( )。(分数:2.00)A.SELECT 姓名 TOP 2 FROM 成绩表 WHERE 物理 DESCB.SELECT 姓名 TOP 2 FROM 成绩表 FOR 物理 DESCC.SELECT 姓名 TOP 2 FROM 成绩表 GROUP BY 物理 DESCD.SELECT 姓名 TOP 2 FROM 成绩表 ORDER BY 物理 DESC 解析
34、:解析:使用 SQL SELECT可以将查询结果排序,排序的短语是 ORDER BY。只显示前几项记录的格式是: TOP nExprPERCENT。 其中,nExpr 是数字表达式,当不使用PERCENT时,nExpr 可以是132767 之间的整数;当使用 (PERCENT时,nExpr 是 0.01到 99.99间的实数,说明显示结果中前百分之几的记录。TOP 要与 ORDER BY一起使用才有效。21.找出职工年龄大于 50的职工姓名,以及这些职工工作所在的城市,正确的命语句是( )。(分数:2.00)A.SELECT 姓名,城市 FROM 职工; WHERE (年龄50) OR (职工
35、.职工号=城市.职工号)B.SELECT 姓名,城市 FROM 职工; WHERE (年龄50) AND (职工.职工号=城市.职工号)C.SELECT 姓名,城市 FROM 城市,职工; WHERE (年龄50) OR (职工.职工号=城市.职工号)D.SELECT 姓名,城市 FROM 城市,职工; WHERE (年龄50) AND (职工.职工号=城市.职工号) 解析:解析:选项 A)中缺少查询的“城市”表,且查询条件连接有误;选项 B)中同样缺少查询的“城市”表;选项 C)中查询条件错误,应使用 AND进行条件连接,而不是 OR。22.在 Visual FoxPro中,如果在表之间的联
36、系中设置了参照完整性规则,并在删除规则中选择了“限制”,当删除父表记录时,系统反应是( )。(分数:2.00)A.不做参照完整性检查B.不准删除父表中的记录C.自动删除子表中所有相关记录D.若子表中有相关记录,则禁止删除父表中的记录 解析:解析:参照完整性与表之间的关联有关,它的大概含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。参照完整性规则包括更新规则、删除规则和插入规则。 删除规则规定了删除父表中的记录时,如何处理处理相关的子表中的记录: 如果选择“级联”,则自动删除子表中的所有相关记录。 如果选择“限制”,若子表中有相关
37、记录,则禁止删除父表中的记录。 如果选择“忽略”,则不作参照完整性检查,即删除父表的记录时与子表无关。23.在 Visual FoxPro中,下列选项中数据类型所占字符的字节数相等的是( )。(分数:2.00)A.字符型和逻辑型B.日期型和备注型C.逻辑型和通用型D.通用型和备注型 解析:解析:在 Visual FoxPro中,系统默认的逻辑型字段只占 1个字节,日期型字段占 8个字节,备注型和通用型字段占的 4个字节。24.不需要事先建立就可以使用的变量是( )。(分数:2.00)A.私有变量 B.局部变量C.全局变量D.数组变量解析:解析:在程序中直接使用 (没有通过 PUBLIC和 LO
38、CAL命令事先声明)而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放,局部变量用 LOCAL命令建立。全局变量是指在任何模块中都可使用的变量,又称为公共变量。全局变量要先建立后使用,全局变量可用 PUBLIC命令建立。25.在 Visual FoxPro的数据库表中只能有一个( )。(分数:2.00)A.候选索引B.普通索引C.主索引 D.唯一索引解析:解析:主索引是指在指定字段或表达式中不允许出现重复值的索引。这样的索引可以起到主关键字的作用,
39、它强调的“不允许出现重复值”是指建立索引的字段值不允许重复。 候选索引和主索引具有相同的特性,建立候选索引的字段可以看作是候选关键字,所以一个表可以建立多个候选索引。即候选索引像主索引一样要求字段值的唯一性并决定处理记录的顺序。 唯一索引是为了保持同早期版本的兼容性,它的“唯一性”是指索引项的唯一,而不是字段值的唯一。它以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。在一个表中可以建立多个唯一索引。 普通索引是可以决定记录的处理顺序,它不仅允许字段中出现重复值,并且索引项中也允许出现重复值。在一个表中可以建立多个普通索引。 在一个表中可以建立多个普通索引、多个唯一索引、多个候选索
40、引,但只能建立一个主索引。26.下列关于 SQL对表的定义的说法中,正确的是( )。(分数:2.00)A.利用 ALTER TABLE来定义一个新的数据表结构B.SQL的表定义语句定义自由表的域完整性、字段有效性规则等C.SQL只能对数据库表实现其完整性、有效性规则等信息的设置 D.SQL的表定义语句只能定义表中的候选索引、唯一索引和普通索引,不能定义主索引解析:解析:在 SQL的定义功能里,所定义的新数据表结构的内容和在表设计器中定义一个新表的内容一样,可以完成其所有功能,包括主索引、域完整性的约束、字段有效性规则等。但对于自由表的定义也和在表设计器中一样,都不能定义自由表的主索引、域完整性
41、的约束、字段有效性规则等,只能进行一些最基本的操作,如定义字段名、宽度和类型等。27.下列关于查询的描述中,正确的是( )。(分数:2.00)A.不能根据自由表建立查询B.只能根据自由表建立查询C.只能根据数据库表建立查询D.可以根据数据库表和自由表建立查询 解析:解析:查询就是预先定义好的一个 SQL SELECT语句,在不同的需要场合可以直接或反复使用,从而提高效率。查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,如浏览器、报表、表、标签等。查询是基于一个表或多个表的操作,表可以是数据库表或者自由表,如果查询基于多个表时,这些表是有联系的。28.“主键
42、”不允许取重复值,是指( )。(分数:2.00)A.实体完整性约束规则 B.引用完整性约束规则C.用户自定义完整性约束规则D.数据完整性约束规则解析:解析:实体完整性是保证表中记录唯一的特性,也就是说,在一个表中不可以有重复的记录。在Visual FoxPro 中利用主关键字和候选关键字来保证实体完整性。29.检索尚未确定的供应商的订单号,正确的语句是( )。(分数:2.00)A.SELECT * FROM 订购单 WHERE 供应商号 NULLB.SELECT * FROM 订购单 WHERE 供应商号 =NULLC.SELECT * FROM 订购单 WHERE 供应商号 IS NULL
43、D.SELECT * FROM 订购单 WHERE 供应商号 IS NOT NULL解析:解析:进行空值查询时,要使用 IS NULL,而=NULL 是无效的,因为空值不是一个确定的值,所以不能使用“=”这样的运算符进行比较。30.可以随表的打开而自动打开的索引是( )。(分数:2.00)A.单项索引B.复合索引C.结构复合压缩索引 D.非结构化索引解析:解析:结构复合压缩索引文件具有以下特性: 在打开表时自动打开。 在同一索引文件中能包含多个索引方案,或索引关键字。 在添加、更改或删除记录时,自动维护索引。31.下列选项中,不属于 SQL特殊运算符的是( )。(分数:2.00)A.GROUP
44、B.ONC.ALLD.EMPTY 解析:解析:选项 A)、B)、C)都属于 SQL的特殊运算符,选项 D)是一个空值测试函数。在 SQL要利用空值查询,应使用 IS NULL运算符号。使用下列数据表。“外汇名”表:外币代码 外币名称 现钞买入价 现钞卖出价 基准价 13 欧元 958.6400 985.2300 996.540028 英镑 1220.9700 1330.2200 1287.456537 法郎 592.7650 618.1305 612.591026 加元 516.4110 531.4280 519.869015 美元 811.5410 817.8900 815.6650“持有数
45、”表:姓名 外币代码 持有数量李巡芬 37 30000.00 张武奇 13 1000.00 陆凭凭 15 3000.00 陆凭凭 37 4000.00张武奇 15 2200.00 林诗诗 26 2000.20 李巡芬 26 30000.00 张武奇 28 3000.00 陆凭凭 26 3000.00 陆凭凭 13 4000.00 张武奇 26 18000.00(分数:10.00)(1).执行下列 SQL语句后,第一条记录的内容是( )。SELECT 姓名,外币名称,持有数量 FROM 外汇名,持有数; WHERE 外汇名.外币代码=持有数.外币代码; AND 持有数量=10000; ORDER
46、 BY 持有数量 DESC,姓名(分数:2.00)A.张武奇 加元 18000B.张武奇 瑞士法郎 18000C.李巡芬 加元 30000D.李巡芬 瑞士法郎 30000 解析:解析:本题 SQL语句执行的功能是检索外汇持有数量在 10000(含)以上的持有人姓名、外汇名称和持有数量,检索的结果按“持有数量”降序排序,当“持有数量”相同时则按“姓名”升序排序。其中FROM短语中指定的是要查询的表,WHERE 短语中指定两表的连接条件和筛选记录的条件,ORDER BY 短语中指定排序字段及排序方式。注意:两个排序字段之间用逗号隔开。(2).查询持有外币种类在 4种以上人员的姓名,及持有的种类数量
47、,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句中正确的是( )。(分数:2.00)A.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY 外币种类,姓名 DESC B.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY COUNT(*),姓名 DESCC.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY 外币种类 AND 姓名 DESCD.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)=4; ORDER BY 外币种类+姓名 DESC解析:解析:本题中首先通过 GROUP BY短语按“姓名”字段对“持有数”表中的记录进行分组,然后利用 COUNT()分组统计每个人持有的外币种类,再通过 HAVING子句限定外币种类至少在 4种以上的记录;利用 ORDER BY短语可以对查询结果进行排序,有升序(ASC)和降序 (DESC)两种,默认的为升序排序方式,如果排序字段有多个,则