1、- 1 -Visual FoxPro 程序设计 习题解第一章 数据库基础知识一、选择题1. 关系数据库管理系统所管理的关系是( ) 。A. 一个.DBF 文件 B. 若干个二维表C. 一个.DBC 文件 D. 若干个.CDX 文件答案:B2. 在关系的基本运算中,下列不属于专门关系运算的是( ) 。A. 投影 B. 排序 C. 联接 D. 选择答案:B3. 数据库系统的核心是( ) 。A. 操作系统 B. 文件系统 C. 数据库 D. 数据库管理系统答案:D4. 关于数据库系统的下列说法中正确的是( ) 。A. 数据库中只存在记录之间的联系B. 数据库中数据项之间和记录之间都不存在联系C. 数
2、据库中只存在数据项之间的联系D. 数据库中数据项之间和记录之间都存在联系答案:D5. 在 Visual FoxPro 中,用二维表表示实体与实体之间联系的数据模型称为( ) 。A. 层次模型 B. 网关模型 C. 关系模型 D. E-R 模型答案:C6. 在模型概念中,实体所具有的某一特性称为( ) 。A. 属性 B. 实体型 C. 实体集 D. 元组答案:A7. 下列不属于 DBMS 功能的是( ) 。A. 数据字典 B. 数据定义 C. 数据操纵 D. 数据库运行控制答案:A8. 数据库系统中所支持的数据模型有( ) 。A. 层次模型、链接模型、网状模型 B. 层次模型、网状模型、树型模型
3、C. 网状模型、关系模型、链接模型 D. 关系模型、网状模型、层次模型答案:D9. 用于实现各种操作的软件称为( ) 。A. 数据软件 B. 数据库管理系统C. 编译程序 D. 操作系统答案:B10. 在有关数据库的概念中,若干个记录的集合称为( ) 。A. 文件 B. 数据项 C. 数据表 D. 字段名 答案:C二、填空题1. 一般说来,数据库管理系统主要适用于做 。 答案:数据处理2. 关系的基本运算可以分为两类: 和 。 答案:传统的集合运算 专门的关系运算- 2 -3. 关系是具有相同性质的 集合。答案:元组4. 按照所使用的 不同,数据库相同可以分为层次模型、网状模型和关系模型。 答
4、案:数据模型5. 二维表中的每一列称为一个字段,或称为关系的一个 ;二维表中的每一行称为一个记录,或称为关系的一个 。 答案:属性 元组6. 一个关系模式的主要定义主要包括 、 、 、属性长度和关键字。 答案:关系名 属性名 属性类型7. 从关系模式中指定若干个属性组成新的关系称为 。 答案:投影8. 用树型结构表示实体之间联系的模型是 。 答案:层次模型三、简答题1. 简述数据、数据库、数据库管理系统的概念与区别。 答:数据是指所有能输入到计算机并被计算机程序处理的符号介质的总称 。数据库是按照数据结构来组织、存储和管理数据的仓库 。数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立
5、、使用和维护数据库的系统。用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。2. 数据库管理系统的的主要功能有哪些? 答:数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库的系统。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。 3. DBMS 所支持的数据模型有哪些?答: DBMS 所支持的数据模型有层次模型,网状模型和关系模型。第二章 Visual FoxPro 9.0 概述一、选择题1. Visual Fo
6、xPro 支持的两种工作方式是( ) 。A. 交互操作方式和程序执行方式 B. 命令方式和程序执行方式C. 命令方式和菜单工作方式 D. 交互操作方式和菜单工作方式答案: A2. 在 Visual FoxPro 中,显示和隐藏命令窗口的正确操作是( ) 。A. 单击常用工具栏的“命令窗口”按钮B. 利用快捷键“CTRL+F2”显示命令窗口,利用快捷键 “CTRL+F4”隐藏命令窗口C. 单击“ 窗口”菜单中的“命令窗口”可用于显示命令窗口 D. 以上方法都可以答案:D3. 通过项目管理器窗口的按钮不可以完成的操作是( ) 。A. 删除文件 B. 新建文件 C. 重命名文件 D. 添加文件- 3
7、 -答案:C4. “项目管理器” 中的“ 全部”选项卡用于显示和管理( ) 。A. 菜单、报表和标签B. 菜单、文本文件和其他文件 C. 该项目中的所有文件,包括数据、文档、类库、代码和其他 D. 数据库、自由表和查询答案:C5. 报表文件是存在于项目管理器中的( ) 。A. “文档”选项卡 B. “代码”选项卡 C. “数据”选项卡 D. “其他”选项卡答案:A6. 项目管理器的功能是组织和管理与项目有关的各种类型的( ) 。A. 文件 B. 程序 C. 数据表 D. 字段答案:A7. 下列.启动 Visual FoxPro 向导的方法中,正确的是( ) 。A. 单击工具栏上的“向导”按钮
8、B. 选择“ 工具” 菜单中的“ 向导”子菜单中的命令C. 通过“ 新建”对话框 D. 以上方法均正确答案:D8. 在“选项”对话框的“ 文件位置 ”选项卡中可以设置( ) 。A. 默认目录 B. 程序代码的颜色 C. 表单的默认大小 D. 日期和时间的显示格式答案: A9. 从项目中移去文件,是指( ) 。A. 从项目中移出的文件不能再被其他项目所使用B. 将文件从“ 项目管理器”中移出,且将文件从磁盘中删除C. 将文件从“ 项目管理器”中移出,但文件保留在磁盘中D. 从“项目管理器”中移出的文件将不能再次添加到此项目中答案:C10. 要退出 Visual FoxPro 系统,可在命令窗口中
9、执行( )命令。A. QUIT B. EXIT C. CTRL+Q D. CTRL+W答案:A二、填空题1. 在 Visual FoxPro 项目管理器的“数据” 选项卡中包含 、 和 ;“文档”选项卡中包含 、 和 。 答案:数据库 自由表 查询 表单 报表 标签2. 项目文件的扩展名是 。 答案:.pjx3. 安 装 完 Visual FoxPro 之 后 , 系 统 自 动 用 一 些 默 认 值 来 设 置 环 境 , 要 定 制 自 己 发 系 统 环境 , 应 单 击 菜单下的 菜单项。答案:“工具” “选项”4. Visual FoxPro 中可以使用 对话框和 命令进行附加的配
10、置设定。答案: “选项” “SET”5. 要想显示和隐蔽工具栏,可单击 菜单中的“ 工具栏”命令,在工具栏中选择 ,单击“确定”按钮。 答案:“显示” “常用”三、简答题1. 试述 Visual FoxPro 项目管理器有哪些功能?- 4 -答:使用项目管理器可用可视化方法创建和组织表、表单、数据库、菜单、类、建立应用程序,并编译成能独立运行的文件;能够实现对文件的创建、添加、修改、删除等操作,实现对于非专业人士的简单的数据库操作。2. 如何设置 Visual FoxPro 的系统环境和工作界面?答:可以通过 3 种途径来设置 Visual FoxPro 的系统环境:使用“选项”对话框配置;使
11、用 SET 命令进行附加的配置;使用配置文件进行设置。可以通过设计表单来设置 Visual FoxPro 的工作界面。3. 简述 Visual FoxPro 主要文件类型。答: Visual FoxPro 主要文件类型包括数据库文件、文档文件和程序文件三大类。第 3 章 Visual FoxPro 9.0 语言基础一、选择题1. 常量的类型包括字符型、数值型、货币型、日期型、日期时间型和( ) 。A. 备注型 B. 通用型 C. 逻辑型 D. 对象型答案: C2. 字符型常量的的下列表示中不正确的是( ) 。A. 华商学院 B. “信息工程系“ C. 计算机 D. abc 答案: C3. 关于
12、变量的下列叙述中不正确的一项是( ) 。A. 在 Visual FoxPro 中可以将不同类型的数据赋给同一个变量 B. 变量的类型决定变量值的类型 *变量的类型取决于变量值的类型 C. 变量的值可以随时改变D. Visual FoxPro 中的变量分为字段变量和内存变量答案: B4. 若内存变量名和当前工作区的数据表中的字段 “score” 同名,则执行命令?Score 后显示的是( ) 。A. 字段的值 B. 随机显示 C. 内存变量的值 D. 错误信息答案: A5. 下列变量名中,属于 Visual FoxPro 合法变量名是( ) 。A. stu name B. stu_name C.
13、 stu. name D. stu # name 答案: B6. 下列哪个赋值语句名是正确的( ) 。A. STORE 1 TO X,Y,Z B. STORE 1,2,3 TO X C. STORE 1 TO X Y Z D. STORE 1、2、3 TO X 答案: A7. 系统定义一维数组 DIMENSION A(2,3),则数组中包含的元素个数为( ) 。A. 2 B. 3 C. 5 D. 6 答案: D8. 关系表达式的下列说法中,错误的是( ) 。A. 计算两个表达式之和 B. 各种关系运算符的优先级相同 C. 用来比较两个表达式的大小 D. 关系表达式的运算结果都为逻辑型数据 答案
14、: A- 5 -9. 表达式 2*231/2+32 的值是( ) 。A. 24.50 B. 70.45 C. 16 D. 5 答案: A10. 可以参加“与” 、 “或”、 “非”逻辑运算的对象是( ) 。A. 可以是数值型、字符型数据 B. 可以是数值型、字符型、日期型数据 C. 只能是逻辑型数据 D. 可以是数值型、字符型、日期型和逻辑型数据 答案: C11. 下列各选项中,运算符优先级最高的是( ) 。A. 关系运算符 B. 圆括号 C. 逻辑运算符 D. 算术运算符答案: B12. 利用 BOF()测试当前打开的一个空表文件,函数返回值为( ) 。A. 1 B. .F. C. .T.
15、D. 0答案: C正确答案:A解析:BOF()用于测试当前表文件 (缺省自变量)或指定表文件中的记录指针是否指向文件首,若是返回逻辑真(T ),否则为逻辑假 (F) 。若在指定工作区上没有打开表文件,函数返回逻辑假(F) ,若表文件中不包含任何记录,函数返回逻辑真( T)。13. Visual FoxPro 系统允许字符型数据的最大宽度是( ) 。A. 32 B. 10 C. 128 D. 255答案: D14. 假设 A=123,B=27,C=“A+B”,则函数 VARTYPE(1+&C)的值为( ) 。A. N B. C C. U D. 151答案: A15. 函数 LEN(STR(123
16、.45,2,1)的结果是( ) 。A. 3 B. 5 C. 一串星号(*) D. 2答案: D二、填空题1. 字符常量的定界符为 、 和 。答案:单引号 双引号 方括号2. Visual FoxPro 中有两种变量,即 和 。答案:内存变量 字段变量3. 给变量赋值的方法有 和利用 命令。答案:通过赋值号 STORE4. 表达式是由 、 和 通过特定的运算符连接起来的式子,其形式包括 和用运算符将运算对象连接起来的式子。答案:变量 字段 函数 单一的运算对象 5. 在关系表达式中,关系运算符号 和 只能用于字符型数据,且所以关系表达式的结果都为 数据。答案:$ = 逻辑型vf 中的字符表达式和
17、关系表达式的区别主要有以下两点:1、两种表达式的运算符不同字符表达式的运算符有两个“+”和“-”,功能是用于联接字符串,而关系表达式的运算符则是一些用于对数据进行关系比较的运算符号,如“”、“、= 、(!=、#) 、= 、=、$;逻辑运算符.NOT. 、.AND.、.OR.。运算符优先级排列: () 、*(或) 、*、/、% 、+、- 、 、=、(!=、#)、=、=、$、 .NOT. 、.AND. 、.OR.。第 4 章 表的操作一、选择题1. 一个表的全部备注字段的内容存储在( )中。A. 同一表备注文件 B. 不同表备注文件C. 同一文本文件 D. 同一数据库文件答案:A2. 在 VFP
18、表结构中,逻辑型、日期型和备注型字段的宽度分别为( ) 。A. 1、8、10 B. 3、8、任意 C. 3、8、10 D. 1、8、4答案:D- 7 -3. 下列范围选项中的( )表示从当前记录到最后记录之间的所有记录。A. REST B. NEXT C. NEXT n D. RECORD n答案:A4. 数据表文件共有 20 条记录,当前记录号是 10,执行命令 LIST NEXT 5 以后,当前记录号是( ) 。A. 10 B. 15 C. 14 D. 20答案:C5. 设当前数据表有 25 条记录,当前记录号是 6,执行如下命令后的输出结果是( ) 。SKIP 30?RECNO()A.
19、25 B. 26 C. 30 D. 36答案:B6. Visual FoxPro 中的索引有( ) 。A. 唯一索引、复合索引、候选索引、主索引B. 唯一索引、普通索引、候选索引、主索引C. 主索引、次索引、普通索引、唯一索引D. 唯一索引、复合索引、候选索引、视图索引答案:B7. 刚打开一个非空表时,记录指针的指向位置是( ) 。A. 首记录 B. 文件末尾 C. 文件开头 D. 末记录答案:A8. 当前表有学号、语文、数学、英语和总分 5 个字段,将所有记录的三科成绩之和替换总分字段,可用下列命令中的( )来实现。A. REPLACE 总分 WITH 语文+数学+英语B. REPLACE
20、ALL 总分 WITH SUM(语文,数学,英语)C. REPLACE ALL 总分 WITH 语文+数学+英语D. REPLACE 总分 WITH SUM(语文,数学,英语)答案:C9. 下列关于工作区的叙述中,错误的是( ) 。A. 45 工作区可以通过 SELECT 语句来加以选择或切换B. 前 10 个工作区的编号可以被指定为 AJC. 前 10 个工作区的编号可以被指定为 09D. 前 10 个工作区的编号可以被指定为 110答案:C10. 在 Visual FoxPro 9.0 的命令窗口执行一次 select 0 操作,将( ) 。A. 选定未用过的最低号工作区为当前工作区 B.
21、 选定 0 号工作区为当前工作区C. 选定 1 号工作区为当前工作区 D. 选定最低号工作区为当前工作区答案:A二、填空题1. VFP 将表分为两种,即 和 。答案:自由表 数据库表2. 自由表的字段名长度不超过 个字符。答案:103. 对表中记录逻辑删除的命令是 ,恢复表中所有被逻辑删除记录的命令是 ,将所有被逻辑删除记录进行物理删除的命令是 。 答案:DELETE RECALL PACK- 8 -4. 在当前表中第 5 条记录与第 6 条记录之间插入一条新的空白记录,可以使用的命令语句是 。答案:Go 5 Insert Before5. 当前表为学生信息表,其中字段“学号” 为字符型,要显
22、示学号为以“2009”开头的记录,可使用命令语句是 。答案: LIST FOR LEFT(学号,4)=2009三、简答题1. 比较 LIST 和 DISPLAY 两个命令的异同。答:List|Display Fields For|While To Printer To File Off 这两个命令都对满足条件的当前记录列表或分屏的方式进行显示输出。不同点是,当省略了 短语时,LIST 对当前表的所有记录进行操作,DISPLAY 只对当前表的当前记录进行操作。2. 追加记录命令 APPEND 和 INSERT 的功能有什么区别?答: APPEND 的功能是在当前数据表的末尾追加记录,而 INSE
23、RT 命令的功能是在当前数据表的指定位置插入一条新记录。3. 记录的逻辑删除和物理删除有什么不同?分别用什么命令进行逻辑删除和物理删除?答: 逻辑删除是指给记录加上删除标记,并不真正删除记录。物理删除是指将带有删除标记的的记录真正从表中清除或一次性删除表中的所有记录,且被删除的记录不可再恢复。用 DELETE 命令进行逻辑删除;用 PAK 命令将当前数据表中带有逻辑删除标记的记录进行物理删除;用 ZAP 命令一次性删除表中的所有记录4. 简述排序与索引的异同。答:排序是指按字段或字段组中数据值的大小,以递增(升序)或递减(降序)方式重新排列,生成一个新的有序的数据表文件 。 (物理顺序)索引是
24、按给定索引表达式值的大小,生成一个索引文件,并使数据表中的记录按索引文件的要求以递增(升序)或递减(降序)顺序显示。 (逻辑排序)排序的顺序是物理顺序,索引的顺序是逻辑顺序。5. 简述主索引和候选索引的异同。答:主索引:索引表达式不允许出现重复值,只能在数据库表中创建和使用,每个表有且只能建立一个主索引。 候选索引:索引表达式不允许出现重复值,一个数据表中允许建立多个候选索引,可以在自由表和数据库表中创建。 第 5 章 数据库的操作一、选择题1. Visual FoxPro 的数据库的主文件采用( )作为其扩展名。A. .DBF B. .DBCC. .FRX D. .SCX答案:B2. 可用下
25、列命令中的( )关闭所有数据库。A. CLOSE DATABASE B. SHUTDOWN DATABASEC. SHUTDOWN DATABASE ALL D. CLOSE DATABASE ALL答案:D3. 下列关于数据库表的叙述中,错误的是( ) 。- 9 -A. 一个数据库表只能属于一个数据库 B. 一个数据库表可能属于多个数据库C. 数据库表可以移出数据库成为自由表 D. 自由表可以添加数据库成为数据库表 答案:B4. 下列关于索引的叙述,错误的是( ) 。A. 只有数据库表才能建立主索引 B. 只有数据库表才能建立候选索引C. 数据库表和自由表都可以建立普通索引 D. 数据库表和
26、自由表都可以建立唯一索引答案:B5. 数据库可以设置字段有效性规则,字段有效型规则属于域完整性范畴,其中“规则”是一个( ) 。A. 逻辑表达式 B. 字符表达式 C. 数值表达式 D. 日期表达式答案:A6. 数据库表 BOOK.DBF 中的“图书编号”字段是字符型,字段宽度为 6,假设每条记录的“图书编号”第一位为字母,其他各位为数字字符,则可设置该字段的输入掩码为 ( ) 。A. A* B. A11111 C. A99999 D. *99999答案:C7. 要将数据库表成绩.DBF 从当前数据库学生.DBC 中移出成为自由表,可使用命令( ) 。A. REMOVE TABLE 成绩 B.
27、 REMOVE TABLE 成绩 FROM 学生.DBCC. DROP TABLE 成绩 D. DROP 成绩.DBF答案:A8. 某数据库表 student.dbf 有一个数值型字段“身高”,若每条记录的身高字段的值都应在 100 到 200之间,则应该将字段的( )设为身高=100 AND 身高=200。A. 字段有效性规则 B. 记录有效性规则C. 输入掩码 D. 默认值答案:A9. 参照完整性规则包括( ) 。A. 插入规则 B. 删除规则 C. 更新规则 D. 以上说法都有答案:D10. 在生成参照完整性中,设置更新操作规则时选择了“限制”选项卡,则( ) 。A. 在更新父表时,用新
28、的关键字值更新子表的所有记录B. 在更新父表时,若子表中有相关记录则禁止更新C. 在更新父表时,若子表中有相关记录则允许更新D. 允许更新父表,不管子表中的相关记录答案:B二、填空题1. 字段有效性规则和记录有效性规则只对 表文件有效。答案:数据库2. 使用字段有效性规则在表设计器的 选项卡中进行,而设置记录有效性规则,是在表设计器的 选项卡中进行。答案:字段 表3. 使用数据库设计器为两个表建立关联,首先应在父表中建立 索引,在子表中建立 索引。答案:主 普通4. 当删除父表的记录时,若子表中的所有相关记录也能自动删除,则相应的参照完整性的删除规则设置为 。答案:级联- 10 -三、简答题1
29、简述数据字典的含义及其作用。答:数据字典(Data Dictionary)用于保存数据库表中各种数据的定义或设置信息,存储在数据字典中的信息称为元数据,即记录关于数据的数据,如长表名或长字段名、有效性规则和触发器等信息。设置数据字典信息的目的是使得数据库表更加严谨。数据字典信息是通过表设计器来设置和修改的。2. 什么是永久关系?如何设置表间的永久关系。答: Visual FoxPro 是一个关系型数据库管理系统,在每一个独立的表中存储的数据之间有一定的关联,一般通过关系联系在一起,可以利用关系来查询数据库有关联的信息。永久关系 能在数据库表中创建,一旦创建就保存在数据库文件中,并随着数据库文件
30、打开而打开。 设置表间的永久关系,首先要给两个表分别建立索引,父表中的索引必须是主索引或者是候选索引;而子表中的索引可以是主索引、候选索引和普通索引。然后在数据库设计器中,把父表中的主索引拖拽到子表中同字段名的索引中,就创建了两表的关系。3. 简述参照完整性规则的含义、分类以及各自的功能。答:参照完整性规则是用来控制数据的一致性,尤其是控制数据库中相关表之间的主关键字和外部关键字之间数据一致性的规则。参照完整性规则分为更新规则、删除规则和插入规则。其功能如下:(1) 在建立关联的数据表之间,子表的每一个记录在对应的父表中都必须有一个父记录。(2) 对子表进行插入操作时,必须确保父表存在一个父记
31、录。(3) 对父表进行删除操作时,其对应的子表必须没有记录存在。(4)对父表进行更新记录时,如果更新了父表的主关键字的值,则子表中相关记录的外部关键字值必须同样更新。第 6 章 查询和视图一、选择题 1. 利用命令方式打开查询设计器,应在命令窗口中输入( ) 。A. OPEN QUERY B. OPEN VIEW C. CREATE QUERY D. CREATE VIEW答案: C2. 查询设计器中包含的选项卡依次为( ) 。A. 字段、联接、筛选、排序依据、分组依据、杂项B. 字段、联接、筛选、分组依据、排序依据、杂项C. 字段、联接、筛选、排序依据、分组依据、更新条件、杂项D. 字段、联
32、接、筛选、分组依据、排序依据、更新条件、杂项答案: A3. 下列关于查询设计器说法不正确的是( ) 。A. 查询是 Visual FoxPro 支持的一种数据库对象B. 查询设计器具有局限性,仅限于从单个表或视图中提取记录C. 查询是预先定义好的一个 SQL SELECT 语句D. 查询是从指定的表或视图中提取满足条件的记录,可将结果定向输出答案: B4. 在 Visual FoxPro 中,如果建立的查询是基于多个表,那么要求这些表之间( ) 。A. 必须有联系 B. 必须独立C. 必须是自由表 D. 不一定有联系答案: A5. 关于视图的下列说法中,不正确的是( ) 。A. 视图可以是本地的、远程的,但不可以带参数