《VFP实验教程》word版.doc
《《VFP实验教程》word版.doc》由会员分享,可在线阅读,更多相关《《VFP实验教程》word版.doc(157页珍藏版)》请在装配图网上搜索。
第1章 数据库系统概述 1.1 基础知识练习 1.1.1 选择题 1. 存储在计算机内、有结构的相关数据的集合称为______。 A. 数据库 B. 数据库系统 C. 数据库管理系统 D. 数据结构 【答案】A 2. 数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是________。 A. DBMS包括DB和DBS B. DBS包括DB和DBMS C. DB包括DBS和DBMS D. DB、DBS和DBMS是平等关系 【答案】B 3. ________是处理数据库存取和各种管理控制的软件系统,是数据库系统的中心枢纽。 A. DB B. DBMS C. DBAS D. DML 【答案】B 4. 下列关于数据库系统的叙述中,正确的是________。 A. 数据库系统只是比文件系统管理的数据更多 B. 数据库系统中数据的一致性是指数据类型一致 C. 数据库系统避免了数据冗余 D. 数据库系统减少了数据冗余 【答案】D 5. 能唯一标识实体的是________。 A. 属性 B. 域 C. 码 D. 联系 【答案】C 6. Visual FoxPro是一种关系数据库管理系统,所谓关系是指________。 A. 表中各条记录彼此之间有一定的关系 B. 表中各个字段彼此之间有一定的关系 C. 一个表与另一个表之间有一定的关系 D. 数据模型符合满足一定条件的二维表格式 【答案】D 7. 如果一个部门有若干职员,每个职员只能属于某一个部门,则部门和职员两个实体之间的联系属于________。 A. 一对一联系 B. 一对二联系 C. 多对多联系 D. 一对多联系。 【答案】D 8. 在数据库设计中,将E-R图转换为关系模式是在________阶段。 A. 需求分析 B. 概念设计 C. 逻辑设计 D. 物理设计 【答案】C 9. 在关系中将年龄字段的值限制在15-30岁之间的这种约束属于________。 A. 实体完整性约束 B. 域完整性约束 C. 参照完整性约束 D. 视图完整性约束 【答案】B 10. 下列叙述中正确的是________。 A. 数据库系统是一个独立的系统,不需要操作系统的支持 B. 数据库技术的根本目标是要解决数据的共享问题 C. 数据库管理系统就是数据库系统 D. 以上三种说法都不对 【答案】B 11. 如果把学生看作实体,某个学生的姓名叫“王刚”,则“王刚”应看成________。 A. 记录型 B. 记录值 C. 属性型 D. 属性值 【答案】D 12. 在概念模型中,一个实体相对于关系数据库中一个关系中的一个________。 A. 属性 B. 元组 C. 列 D. 字段 【答案】B 1.1.2 填空题 1.存储在计算机中的数据包括________和________两方面。 【答案】数据内容,数据形式 2.数据处理技术大致经历的三个发展阶段是________、_________和________。 【答案】人工管理阶段,文件系统管理阶段,数据库系统管理阶段 3.数据库系统是由________、________、________和_______组成的具有高度组织性的总体。 【答案】计算机系统,数据库,数据库管理系统,有关人员 4.用实体名及其属性名集合来抽象和刻画同类实体称为_______。 【答案】实体型 5.数据模型不仅表示反映事物本身的数据,而且表示________。 【答案】事物之间的联系 6.用二维表的形式来表示实体之间联系的数据模型叫做________。 【答案】关系模型 7.在关系数据模型中,二维表的列称为________,二维表的行称为________。 【答案】属性,记录 8.对关系进行选择、投影或连接运算之后,运算的结果仍然是一个________。 【答案】关系 9.在关系数据库的基本操作中,从表中选出满足条件的元组的操作称为________;从表中抽取属性值满足条件的列的操作称为________;把两个关系中相同属性的元组连接在一起构成新的二维表的操作称为________。 【答案】选择,投影,连接 10.E-R图中实体间的________联系必须转换为一个独立的关系模式。 【答案】多对多 第2章 Visual FoxPro 6.0基础 2.1 基础知识练习 2.1.1 选择题 1. _________是Visual FoxPro中专门用来输入各种命令的区域。 A. 主窗口 B. 命令窗口 C. 菜单栏 D. 工具栏 【答案】B 2. “项目管理器”的“数据”选项卡用于显示和管理________。 A. 数据库、自由表和查询 B. 数据库、视图和查询 C. 数据库、自由表、查询和视图 D. 数据库、表单和查询 【答案】C 3. “项目管理器”的“文档”选项卡用于显示和管理________。 A. 表单、报表和查询 B. 数据库、表单和报表 C. 查询、报表和视图 D. 表单、报表和标签 【答案】D 4. 利用VFP中的________可以帮助用户高效方便地创建表、表单等文件。 A. 设计器 B. 向导 C. 生成器 D. 工具栏 【答案】A 5. 在以下四组函数运算中,结果相同的是________。 A. LEFT("Visual FoxPro",6)与SUBSTR("Visual FoxPro",1,6) B. YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2) C. VARTYPE("36-5*4")与VARTYPE(36-5*4) D. 假定A="this ",B="is a string",A-B与A+B 【答案】A 6. 在下面的Visual FoxPro表达式中,不正确的是________。 A. {^2008-12-01 10:10:10AM}-10 B. {^2008-12-01}-DATE() C. {^2008-12-01}+DATE() D. [^2008-12-01]+[1000] 【答案】C 7. 在下列函数中,函数值为数值的是________。 A. AT(人民,中华人民共和国) B. CTOD(01/01/96) C. BOF() D. SUBSTR(DTOC(DATE()),7) 【答案】A 8. 已知D1和D2为日期型变量,下列4个表达式中非法的是________。 A. D1-D2 B. D2-36 C. D1+28 D. D1+D2 【答案】D 9. 函数INT(数值表达式)的功能是________。 A. 按四舍五入取数值表达式值的整数部分 B. 返回数值表达式值的整数部分 C. 返回不大于数值表达式值的最大整数 D. 返回不小于数值表达式值的最小整数 【答案】B 10. 在下面的Visual FoxPro表达式中,运算结果是逻辑真的是________。 A. EMPTY(.NULL.) B. LIKE("ABC","AC?") C. AT("A","123ABC") D. EMPTY(SPACE(2)) 【答案】D 11. 设D=5>6,VARTYPE(D)的输出值是________。 A. N B. C C. L D. D 【答案】C 12. 设N=886,M=345,K="M+N",表达式1+&K的值是________。 A. 1232 B. 数据类型不匹配 C. 1+M+N D. 346 【答案】A 13. 如果X=10,Y="X=20",则TYPE("Y")的值是________。 A. L . N C. C D. 出错 【答案】C 14. 命令?VARTYPE(TIME())结果是 A. C B. D C. T D. 出错 【答案】A 15. 命令?LEN(SPACE(3)-SPACE(2))的结果是 A. 1 B. 2 C. 3 D. 5 【答案】D 2.1.2 填空题 1. Visual FoxPro6.0是________位的关系型数据库管理系统。 【答案】32 2. 在命令窗口中键入命令后,按________键执行该命令。 【答案】Enter 3. 对Visual FoxPro进行环境设置除了用SET命令外,还可以在________对话框中进行设置。 【答案】选项 4. VFP的三种工作方式是________、________和________工作方式。 【答案】菜单,命令,程序 5. VFP命令的续行符是________。 【答案】 ; 6. 在Visual FoxPro中,项目文件的扩展名是________。 【答案】PJX 7. 扩展名为.Prg的程序文件在“项目管理器”的________选项卡中显示和管理。 【答案】代码 8. 项目管理器的“移去”按钮有两个功能:一是把文件________,二是________文件。 【答案】从项目管理器中移去,从磁盘上删除 9. 如果一个表达式中包含算术运算、关系运算、逻辑运算和函数时,则运算的优先次序是________。 【答案】函数>算术运算>关系运算>逻辑运算, 10. TYPE("10/25/08")的输出值是________。 【答案】N 11. 设工资=1200,职称="教授",下列逻辑表达式的值是________。 工资>1000 AND (职称="教授" OR 职称="副教授") 【答案】.T. 12. ROUND(337.2007,3)的结果是________。 【答案】337.201 13. LEN("THIS IS MY BOOK")的结果是________。 【答案】15 14. TIME()返回值的数据类型是________。 【答案】字符型 15. MOD(9,-2)的返回值为______。 【答案】-1 2.2 上机实验 2.2.1 VFP6.0的启动、退出及工作环境配置 【实验题目】VFP的启动、退出及工作环境配置 【实验目的】掌握VFP的启动、退出方法及工作环境的设置 【实验示例】 1.启动VFP6.0 方法一:在“开始”菜单中启动Visual FoxPro 6.0。 单击Windows桌面左下方的“开始”按钮,调出“开始”菜单→选“所有程序”→在“程序”级联菜单中选带狐狸头图标的“Microsoft Visual FoxPro 6.0”选项,即可启动Visual FoxPro 6.0(图2-1)。 图2-1 利用“开始”菜单启动VFP6.0 方法二:利用桌面上的快捷方式启动Visual FoxPro 6.0。 若桌面上没有VFP6.0的快捷方式,就要先创建一个,方法是:单击Windows桌面左下方的“开始”按钮,调出“开始”菜单→选“所有程序”→在“程序”级联菜单中右击带狐狸头图标的“Microsoft Visual FoxPro 6.0”选项→选择“发送到”,在弹出的级联菜单中选择“桌面快捷方式”(图2-2(a)),这样就能在桌面上看到VFP狐狸头快捷方式图标(图2-2(b)),然后双击此图标即可启动Visual FoxPro 6.0(图2-3)。 若桌面上已经有了VFP6.0的快捷方式图标,直接双击此图标即可。 (a) (b) 图2-2 创建并利用快捷方式启动VFP6.0 图2-3 VFP窗口 2.设置默认目录及日期时间格式 (1)设置用户默认工作目录 在VFP的菜单中选“工具”→选“选项”,弹出“选项对话框”(图2-4(a))→选“文件位置”选项卡→选“默认目录”,单击“修改”按钮→在弹出的“更改文件位置”对话框(图2-4(b))中先要选中“使用默认目录”前的复选框,再在上面的文本框中输入用户的默认工作目录,或是单击文本框右侧的带三个点的选项按钮选择目录,然后单击“确认”按钮返回选项对话框(图2-4(c))→单击“设置为默认值”按钮→单击“确认”按钮,设置成功。 图2-4 (a) 图2-4 (b) 图2-4 (c) 图2-4 设置默认工作目录 提示:每次上机做的第一件事就是要设置好自己的默认工作目录,这样你在VFP中创建的所有文件都会保存在这个目录里,便于管理自己的文件,也不会出现找不到文件的错误。 (2)设置日期和时间格式 在VFP的菜单中选“工具”→选“选项”,弹出“选项对话框”→选“区域”选项卡(图2-5)→在“日期和时间”区定义日期格式、日期分隔符、年份格式、时间格式(在右边能随时看到你设置的日期时间格式示例)→单击“设置为默认值”按钮→单击“确认”按钮,设置成功。 图2-5 设置日期和时间格式 3.退出VFP 方法一:命令方式退出Visual FoxPro 6.0。 在VFP的命令窗口输入命令QUIT,按“Enter”键执行即可(图2-6)。 图2-6 命令方式退出VFP 方法二:菜单方式退出Visual FoxPro 6.0。 在VFP的菜单中选“文件”→选“退出”。(图2-7) 图2-7 菜单方式退出VFP 方法三:单击VFP主窗口左上方的狐狸头控制图标,从弹出的下拉菜单中选择“关闭”,或按Alt+F4组合键。(图2-8) 图2-8 控制图标方式退出VFP 方法四:用鼠标单击VFP系统窗口右上角的“”关闭窗口图标 【实验内容】 在D盘根目录下创建以自己名字命名的文件夹,并在其中建立“销售管理”子文件夹,设其为VFP6.0的默认目录。 【实验报告】 记录操作步骤。 2.2.2 项目文件的创建与使用 【实验题目】VFP项目文件的创建及其使用方法 【实验目的】 掌握VFP项目的创建及其操作 【实验示例】 1.创建一个项目文件 方法一:在VFP的菜单中选“文件”→选“新建”→选“项目”选项→单击“新建文件”按钮,在弹出的“创建”对话框中输入项目文件名(如:人事管理.PJX),单击“保存”按钮弹出“项目管理器”窗口(图2-9)。 图2-9 项目管理器窗口 方法二:在命令窗口中直接输入命令“CREATE PROJECT 学生管理”,就可建立一个名为“学生管理”的新项目(图2-10)。 图2-10 用命令创建项目文件 2.项目窗口的操作 (1)项目管理器窗口的移动: 同Windows窗口操作一样,拖动窗口最上方蓝色的标题栏可移动窗口位置。 若拖动窗口标题栏到VFP工具栏下方,可将项目管理器窗口放到VFP工具栏上(图2-11),此时可单击每一个选项卡的标题部分打开相应的选项卡;若想恢复,可用鼠标按住边缘非选项卡标题部分将项目管理器窗口拖到VFP窗口。 图2-11 移动后的项目管理器 (2)项目管理器窗口的折叠与恢复: 单击项目管理器窗口(图2-12(a))右上角的上箭头可折叠项目管理器窗口(图2-12(b));单击项目管理器窗口(图2-12(b))右上角的下箭头可恢复项目管理器窗口。 (a) (b) 图2-12 展开与折叠后的项目管理器 (3)项目中各类文件的折叠与展开: 单击项目管理器窗口某类文件图标左侧的“+”可展开该类文件(图2-13);单击项目管理器窗口某类文件图标左侧的“-”可折叠该类文件。 图2-13 展开与折叠各类文件 (4)项目中各类文件的建立、添加和移去: 在项目管理器窗口中单击某类文件图标(如:数据)→单击右边“新建(N)…”按钮将建立该类文件;在项目管理器窗口中单击某类文件图标(如:数据)→单击“添加(A)…”按钮将向该项目中添加该类已有的某文件;在项目管理器窗口中单击某文件图标(如:XS)→单击“移去(V)…”按钮,该文件将被移出该项目。(图2-14) 图2-14 项目管理器中各种功能按钮的使用 3.项目文件的关闭与打开 (1)项目文件的关闭。 在VFP的菜单中选“文件”→选“关闭”,或者单击项目管理器窗口右方上的关闭按钮。(图2-15) 图2-15 关闭项目管理器 (2)项目文件的打开。 在VFP的菜单中选“文件”→选“打开”→在弹出的“打开”对话框中选中项目文件名(如:学生管理.PJX),单击“确定”按钮(图2-16),就会弹出项目管理器窗口。 图2-16 打开项目管理器 【实验内容】 在VFP6.0默认目录下,建立名为“销售管理项目”的项目文件。 【实验报告】 在实验报告中记录操作步骤。 2.2.3 常量、变量、表达式、函数的操作 【实验题目】VFP常量、变量、表达式与常用函数的使用 【实验目的】 熟练掌握VFP中常量、变量与各种函数的使用格式,熟练掌握表达式中各种运算的规则及运算顺序。 【实验示例】 1.常量与变量的使用 (1)定义变量A、B、C、name、sex、birthday,其值分别为6、10、10、”李平”.T.、{^1986-4-17};(图2-17) 图2-17 变量赋值 注意: ①VFP命令中的标点符号均要在英文和半角状态下输入。 ②注意给多个变量赋相同值的书写格式,想想还可以用什么方法对变量B和C赋值。 ③给逻辑型变量赋值时,两边的圆点不能漏掉。 ④无论在严格或传统的日期格式下,均可以使用严格的日期型常量。想一想在传统的日期格式下,还可以用什么样的日期格式对变量birthday赋值? (2)在命令窗口用“?”命令显示上述变量的值;(图2-18) 图2-18 显示变量的值 (3)在命令窗口用LIST MEMORY或DISPLAY MEMORY命令查看上述变量的值和类型;(图2-19) 图2-19 查看变量的值 试一试:如果将list memory like * 中的like *去掉,即只输入list memory观察看输出什么结果,为什么? (4)在命令窗口用RELEASE MEMORY命令清除指定变量A、B、C;(图2-20)清除后显示一下变量看是否清除了。 图2-20 变量的清除 (5)在命令窗口用CLEAR MEMORY命令清除所有用户定义的变量。(图2-21) 图2-21 所有用户定义变量的清除 2.数组的定义与使用 (1)定义3行2列的数组A并为整个数组A赋初值0;(图2-22) 图2-22 数组的定义 想一想:还可以用什么命令定义数组? (2)为各数组元素分别赋值 "李平"、20、"王强"、21、"张玲"、20并显示数组元素各值;(图2-23) 图2-23 数组元素的赋值 试一试:显示A(5)的值,看它与哪个数组元素的值相同,为什么? (3)查看整个数组A的值和类型。(图2-24) 图2-24 查看数组的值与类型 3.常用函数的使用 (1)在命令窗口逐个输入图2-25中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。 图2-25 数值函数练习 (2)在命令窗口逐个输入图2-26中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。 图2-26 字符函数练习 (3)在命令窗口逐个输入图2-27中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。 图2-27 日期函数练习 (4)在命令窗口逐个输入图2-28中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。 图2-28 转换函数练习 注意:在CTOD(“2/14/2008”)函数中,字符型的参数必须和本机VFP系统设置的日期时间格式相一致,否则转换不成功,为空的日期。 (5)在命令窗口逐个输入图2-29中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。 图2-29 测试函数练习 4.表达式的使用 在命令窗口逐个输入图2-30中的命令,每个命令以回车为结束,在VFP主窗口中查看各表达的结果。 图2-30 表达式练习 【实验内容】 表2-1 常量、变量、函数与表达式的使用 在命令窗口中输入命令并执行 命令执行结果 命令功能 ? 2*3^3+2*8/4%5-2^3 ? "abc" -abc+"abc" ? INT(-3.1415926),INT(ABS(99-100)/2) ? ROUND(-3.1415926,5) ? AT("fox","foxpro") ? NOT(3>5 .AND. 5>3 .OR. MOD(3,5)<2) ? INT(10.512)>10 .AND. SQRT(10)>3 STORE 4*3-7 TO m, n, k ?"L=" , 2*PI()*m ?"S=" , PI()*m*m DIMENSION a(5),b(2,4) DISPLAY MEMORY a(2)=10 a(4)="山东" b(2,1)=5 DISPLAY MEMORY CLEAR MEMORY DISPLAY MEMORY stitle=[Visual FoxPro 程序设计] ? LEN(stitle) ? RIGHT(stitle,4) ? SUBSTR(stitle,15,4)+LEFT(stitle,13) ? STR(12345.678,8,1) ? STR(12345.678,8,2) ? STR(12345.678,8) ? {^2004-04-28}>DATE() ? DATE()-{^2002-06-10} ? DATE()-100 ? SUBSTR(DTOC(DATE()),7) ? MONTH({^2000-12-22}-40) 【实验报告】 记录表2-1中的实验结果,与手工计算结果相比较,若有错误,请找出出错原因。 2.2.4 常见错误 1. 找不到变量’A,B’。 出错原因:变量名写错;表达式中使用了未定义的变量;两变量名之间使用中文逗号分隔;命令中的短语之间缺少空格,如CLEAR MEMORY LIKE *写成CLEAR MEMORYLIKE *。 2. 不能识别的命令谓词。 出错原因:命令字写错,如CLEAR MEMORY写成CLEAN MEMORY;在中文状态下输入命令。 3. 命令中含有不能识别的短语或关键字。 出错原因:命令中短语部分的保留字拼错,如CLEAR MEMORY写成CLEAR MOMERY;表达式中使用了中文括号,如:G=50*1.2+(T-50)*2.4写成G=50*1.2+(T-50)*2.4。 4. 操作符/操作数类型不匹配。 出错原因:表达式中参加运算的变量的类型不一致,如?BirthDay<"^1980/12/31",发生该错是因为BirthDay是日期型,而"^1980/12/31"是字符型。 5. 函数参数的值、类型或数目无效。 出错原因:类型不符合要求,如SUBS("1234",2,2)写成SUBS(1234,2,2);参数值不符合要求,如HOUR(DATETIME())写成HOUR(TIME())。 6. 参数太多。 出错原因:参数个数多于规定的个数,如SQRT(25.5)写成SQRT(25,5)。 7. 参数太少。 出错原因:参数个数少于规定的个数,如MAX(10,20)写成MAX(10.25)。 8. 文件"xxx"不存在。 出错原因:函数名拼错,如SUBS("1234",2,2)写成SUB("1234",2,2)。 9. 命令中含有不能识别的短语或关键字。 出错原因:函数嵌套时括号不匹配,通常多右括号。如YEAR(DATE()))。 10. 日期/日期时间计算为无效值。 出错原因:日期常量格式错。如{^1980/10/01}写成{^10/01/1980}。 11. 不明确的日期/日期时间常量。 出错原因:日期常量格式错。如DTOC({^1980/10/01})写成DTOC({^19801001})。 第3章 数据库与表的基本操作 3.1 基础知识练习 3.1.1 选择题 1. 不允许记录中出现重复索引值的索引是________。 A. 主索引 B. 主索引、候选索引、普通索引 C. 主索引和候选索引 D. 主索引、候选索引和惟一索引 【答案】C 2. 要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表________。 A. 是同一个数据库中的两个表 B. 不同数据库中的两个表 C. 两个自由表 D. 一个是数据库表另一个是自由表 【答案】A 3. 在Visual FoxPro中,可以对字段设置默认值的表________。 A. 必须是数据库表 B. 必须是自由表 C. 可以是自由表或数据库表 D. 可以是自由表和数据库表 【答案】A 4. 在Visual FoxPro中,打开数据库的命令是________。 A. OPEN <数据库名> B. OPEN DATABASE <数据库名> C. USE <数据库名> D. USE DATABASE <数据库名> 【答案】B 5. 在Visual FoxPro的数据工作期窗口,使用SET RELATION命令可以建立两个表之间的关联,这种关联是________。 A. 永久性关联 B. 永久性关联或临时性关联 C. 临时性关联 D. 永久性关联和临时性关联 【答案】C 6. 在Visual FoxPro中,通用型字段C和备注型字段M在表中的宽度都是________。 A. 2个字节 B. 4个字节 C. 8个字节 D. 10个字节 【答案】B 7. 可以伴随着表的打开而自动打开的索引文件是________。 A. 单一索引文件(IDX) B. 结构化复合索引文件 C. 复合索引文件(CDX) D. 非结构化复合索引文件 【答案】B 8. Visual FoxPro参照完整性规则不包括________。 A. 更新规则 B. 查询规则 C. 删除规则 D. 插入规则 【答案】B 9. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的________。 A. “一方”表的主索引或候选索引,“多方”表的普通索引 B. “一方”表的主索引,“多方”表的普通索引或候选索引 C. “一方”表的普通索引,“多方”表的主索引或候选索引 D. “一方”表的普通索引,“多方”表的候选索引或普通索引 【答案】A 10. 不论索引是否生效,不能定位到相同记录上的命令是________。 A. GO TOP B. GO BOTTOM C. GO 6 D. SKIP 【答案】D 11. 要为当前表中所有职工增加100元工资应该使用命令________。 A. CHANGE 工资 WITH工资+100 B. REPLACE 工资 WITH工资+100 C. CHANGE ALL 工资 WITH工资+100 D. REPLACE ALL 工资 WITH工资+100 【答案】D 12. 当前已打开的学生表中有姓名、性别、出生日期等字段,要显示所有1985年出生的学生名单,应使用的命令是________。 A. LIST 姓名 FOR 出生日期=1985 B. LIST 姓名 FOR 出生日期="1985" C. LIST 姓名 FOR YEAR(出生日期)=1985 D. LIST 姓名 FOR YEAR("出生日期")=1985 【答案】C 13. 在VFP环境下,用LIST STRUCTURE命令显示表中每个记录的长度(总计)为60,用户实际可用字段的总宽度为________。 A. 58 B. 59 C. 60 D. 61 【答案】B 14. 如果需要给当前表增加一个字段,应使用的命令是________。 A. APPEND B. MODIFY STRUCTURE C. INSERT D. EDIT 【答案】B 15. 执行SET EXACT OFF命令后,再执行 ? "山东省"="山东"命令的结果是________。 A. .T. B. .F. C. 0 D. 非0 【答案】A 16. 已知当前表中有60条记录,当前记录为第6条记录。如果执行命令SKIP 3后,则当前记录为第________条记录。 A. 3 B. 4 C. 8 D. 9 【答案】D 17. 使用REPLACE命令时,如果范围短语为ALL或REST,则执行该命令后记录指针指向________。 A. 末记录 B. 首记录 C. 末记录的后面 D. 首记录的前面 【答案】C 18. 当前表中有4个数值型字段:数学、英语、计算机和总分。其中数学、英语、计算机的成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中,使用命令________。 A. REPLACE 总分 WITH 高等数学+英语+计算机网络 B. REPLACE 总分 WITH 高等数学,英语,计算机网络 C. REPLACE 总分 WITH 高等数学+英语+计算机网络 ALL D. REPLACE 总分 WITH 高等数学+英语+计算机网络 FOR ALL 【答案】C 19. 在当前表中,查找第2个女同学的记录,应使用命令________。 A. LOCATE FOR 性别="女" B. LOCATE FOR 性别="女" NEXT 2 C. LOCATE FOR 性别="女" CONTINUE D. LIST FOR 性别="女" NEXT 2 【答案】C 20. 当前工资表中有108条记录,当前记录号为8,用SUM命令计算工资总和时,若缺省范围短语,则系统将________。 A. 只计算当前记录的工资值 B. 计算前8条记录的工资和 C. 计算后8条记录的工资和 D. 计算全部记录的工资和 【答案】D 21. 在VFP中,使用AVERAGE命令时,表文件需要________。 A. 排序 B. 建立索引 C. 排序或建立索引 D. 以上操作都不需要 【答案】D 22. 执行SELECT 0选择工作区的结果是________。 A. 选择了0号工作区 B. 选择了空闲的最小号工作区 C. 选择了一个空闲的工作区 D. 显示出错信息 【答案】B 23. RSGZ数据表文件按基本工资字段升序索引后,再执GOTOP命令,此时当前记录号是________。 A. 1 B. 基本工资最少的记录号 C. 0 D. 基本工资最多的记录号 【答案】B 24. 数据库文件有30条记录,当前记录号为20,执行命令LIST NEXT 5后,所显示的记录号是________。 A.21~25 B.21~26 C.20~25 D.20~24 【答案】D 25. 数据库文件默认的扩展名是________。 A. .dbf B. .dbc C. .dbt D. .fpt 【答案】B 26. 与“DISPLAY NEXT 1”等价的命令是________。 A. LIST ALL B. LIST C. DISPLAY D. DISPLAY ALL 【答案】C 27. 如果某数据表为空表,则打开该表后________。 A. BOF()和EOF()均为.T. B. BOF()和EOF()均为.F. C. BOF()=.T. EOF()=.F. D. BOF()=.F. EOF()=.T. 【答案】A 28. 使用RECALL ALL 命令________。 A. 将恢复所有被物理删除的记录 B.只能恢复被逻辑删除的当前记录 C. 将恢复所有被逻辑删除的记录 D.只能恢复被物理删除的当前记录 【答案】C 29. 在Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值。应选择________。 A. 限制(Restrict) B. 忽略(Ignore) C. 级联(Cascade) D. 级联(Cascade)或限制(Restrict) 【答案】C 30. 数据库表移出数据库后,仍然有效的是________。 A. 字段的有效性规则 B. 表的有效性规则 C. 字段的默认值 D. 结构复合索引 【答案】D 3.1.2 填空题 1. LIST和DISPLAY命令的区别在于,前者___________,后者___________。 【答案】LIST连续不分屏显示信息;DISPLAY采用分屏显示信息。 2. 在数据表结构设计时,字段宽度的总计数目比___________之和大1,这是因为系统保留了1个字节的宽度记用于___________。 【答案】各字段宽度;存放逻辑删除标 3. 所谓当前表是指___________。 【答案】已经打开并且正在使用的数据表 4. 设当前记录为第3条记录(没有打开任何索引文件),执行SKIP 2后,记录指针指向___________记录,连续执行GO BOTTOM和SKIP两条命令后,记录指针执向___________。 【答案】第5条记录;最后一条记录后面(此时EOF()函数的值为.T.) 5. ___________命令原来做逻辑删除,___________命令用来做物理删除。 【答案】DELETE ; PACK 6. 索引文件分为___________和复合索引文件,复合索引文件又分为___________和___________。 【答案】单入口索引文件;结构化复合索引文件;非结构化(独立)复合索引文件 7. Visual FoxPro将表分为两种,即___________和___________。 【答案】自由表,数据表 8. 汇总命令TOTAL的功能是分别对关键字相同的记录的数值型字段求和,并将结果存储在一个___________中。 【答案】新数据表 9. 如果某记录的备注型字段标志显示为___________,则表明该字段不再为空。 【答案】Memo 10. 字段“定价”为数值型,如果整数部分最多为3位、小数部分为2位,那么该字段的宽度至少应为___________。 【答案】6位 11. 顺序查询对表的记录没有任何要求,但查找速度较慢;而索引查询要求表的记录是___________的,查找速度较快。 【答案】按索引顺序排列 12. 当前表为图书表,其中字段“分类号”为字符型,要将分类号以字母“I”开头的记录作删除标记,可使用命令___________。 【答案】DELETE FOR SUBSTR(分类号,1,1)=”I” 13. 物理删除当前表第8条到第15条记录的命令序列是___________。 【答案】GO 8 DELETE NEXT 8 PACK 14. 结构复合索引文件的主名与___________相同,它随表的打开而打开,在增删记录时会自动维护,因而使用最方便。 【答案】数据表名 15. 数据库表有4种索引类型,即___________、普通索引、惟一索引和候选索引。 【答案】主索引 16. RSDA.DBF表中“婚否”字段为逻辑型,则显示所有已婚记录的命令为___________。 【答案】LIST FOR 婚否=.T. 17. 永久关系建立后存储在___________中,只要不作删除或变更就一直保存。 【答案】数据库 18. 利用LOCATE命令查找到满足条件的第1条记录后,连续执行___________命令即可找到满足条件的其他记录。 【答案】CONTINUE 19. 对数据库表添加新记录时,系统自动地为某一字段给定一个初始值,这个值称为该字段的_____。 【答案】默认值 20. 自由表的扩展名是_____。 【答案】DBF 3.2 上机实验 3.2.1 数据库及表基本操作 【实验题目】数据库及表的基本操作 【实验目的】 (1)熟练掌握数据库及数据表的建立,数据表结构的修改等操作。 (2)熟练掌握数据表记录的追加、显示、修改、查询和删除。 【实验示例】 在“学生管理”项目中设计一个名为Xsgl.dbc的学生管理数据库,该数据库中含有4个数据表,它们是xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf数据表(表结构参见教材第三章课后题)。 1. 数据库的建立 建立一个数据库有许多方法,可以使用命令方式建立数据库,也可以使用系统菜单。 (1)使用命令方式建立数据库 步骤1:在命令窗口中输入命令: Creat Database xsgl 则在你的硬盘上将可生成一个名为xsgl.dbc的文件。 步骤2:在命令窗口输入命令: Dir *.dbc 则在系统窗口将可以显示出所有扩展名为.dbc的文件,包括我们新建的数据库xsgl.dbc。 (2)使用系统菜单建立数据库 步骤1:单击菜单的“文件”选项,然后选择“新建”,将打开“新建”窗口(见图3-1)。 图3-1 新建数据库 图3-2 创建窗口 步骤2:在“文件类型”列,选择“数据库”,然后单击【新建文件】按钮,将打开“创建”对话框。见图3-2。 在“数据库名”对话框中,输入新建数据库的文件名,例如,输入“xsgl”作为该新建数据库的文件名,然后单击【保存】命令按钮,即可打开“数据库设计器”窗口,利用“数据库设计”,就可以创建一个名为“xsgl.doc”的数据库。 2. 数据库的打开与关闭 当数据库建好后,要对数据库操作,例如,要往数据库中添加数据表等,必须先打开相应的数据库。 (1)使用命令方式打开与关闭数据库 步骤1:在命令窗口输入命令: OPEN DATABASES xsgl 即可打开我们刚刚建立的名字为“xsgl.doc”的数据库。 步骤2:在命令窗口输入命令: CLOSE DATABASES 或: CLOSE ALL 即可关闭所打开的数据库 (2)使用菜单方式打开或关闭数据库 步骤1:单击系统菜单“文件”菜单,然后选择“打开”菜单项,将打开“打开”对话框,见图3-3。 图3-3 打开数据库 在“文件类型(T)”中选择“数据库(*.dbc)”选项,选择要打开的数据库文件名或在“文件名(N)”对话框中输入要打开的数据库文件名,即可打开“数据库设计器”。 步骤2:关闭数据库 单击系统菜单“文件”菜单,然后选择“关闭”菜单项,即可关闭“数据库设计器” 3. 数据表的建立和维护 步骤1:建立表结构 建立xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf数据表。 首先,在命令窗口输入: CREATE xsda 将打开表“表设计器”,见图3-4。 图3-4 表设计器 字段输入完毕后,按Ctrl+W键,将保存表结构,此时,将出现图3-5所示对话框: 图3-5 确认对话框 选择“否(N)”,将结束CREAT命令。 步骤2:显示表结构 在命令窗口输入: LIST STRUCTURE 将显示刚建立的数据表的结构,对照表3-1,仔细观察,是否正确。 步骤3:修改表结构 如果发现错误,使用“MODIFY STRUCTURE “命令,可以修改表结构 在命令窗口输入: MODIFY STRUCTURE 将打开“表设计器“,利用“表设计器“可以对表结构进行修改,例如,单击【插入】按钮,可以插入一个新的字段,单击【删除】按钮,可以删除一个字段。 请将姓名的宽度改为10,出生年月的字段名改为出生日期。 修改完毕,按Ctrl+W键,将保存表结构,此时,将出现图3-6所示对话框: 图3-6 更改结构确认对话框 单击【是(Y)】命令按钮,保存表结构。 注意,表结构的显示和修改可以多次交替使用,直至可以熟练掌握表结构的修改和表结构的显示。 4. 数据表的基本操作 (1)录入记录: 步骤1:打开“xsda”表,在命令窗口输入: USE学生基本信息 步骤2:在命令窗口输入: APPEND 按表3-2录入6条记录。 表3-2 xsda记录 学号 姓名 性别 出生日期 专业 特长 备注 照片 120386 张小岩 女 08/27/74 汉族 否 Memo gen 110387 李瑾 女 03/12/72 汉族 是 Memo Gen 120247 周姗姗 女 06/19/69 壮族 是 Memo gen 110202 王小虎 男 07/09/76 回族 否 Memo gen 110102 胡二箫 男 08/27/62 汉族 是 Memo Gen 120192 李春天 男 11/24/75 京族 是 Memo gen 录入完毕后,按Ctrl+W,存盘退出。 (2)显示记录 在命令窗口输入: LIST或DISPLAY ALL 将显示刚才录入的所有记录。仔细观察,是否有误。 (3)修改编辑记录 在命令窗口输入: EDIT或BROWSE 修改记录,将“张小岩”的出生日期改为{^08/27/75},将“李春天”的民族改为汉族。 (4)删除记录 将第一条记录和最后一条记录删除。 步骤1:在命令窗口输入: GO TOP 步骤2:在命令窗口输入: DELETE 步骤3:在命令窗口输入: GO BOTTOM 步骤4:在命令窗口输入: DELETE 步骤5:在命令窗口输入: PACK 步骤6:在命令窗口输入: LIST或DISPLAY ALL 查看是否删除成功。 (5)记录的替换 计算xscj数据表中每名同学的总分,并填到“总成绩”字段中。 步骤1:在命令窗口输入: REPLACE ALL 总成绩 WITH 计算机+英语+数学 步骤2:在命令窗口输入: LIST或DISPLAY ALL 查看替换结果。 【实验内容】 1. 在“销售管理项目”中建立“销售管理”数据库。 2. 依次建立客户信息表、产品信息表、合同台账表、出入库台账表四个数据表(索引留待实验3.2.2中建立),相关说明如表3-3到表3-6所示。 为了减少复杂性,作以下假设:一个客户可以签订多份合同,一份合同只能订购一种产品,只有库存足够才能出库,一份出入库单据只能记录一种产品的出入库信息。出入库时,明细存放在“出入库台账表”中,同时要实时修改“产品信息表”表中的库存。 3. 输入记录(自行设定)。 表3-3 客户信息表 字段名称 字段类型 长度 小数位数 是否主键 是否允许空值 说明 客户编号 C 10 是 否 客户名称 C 50 否 地址 C 50 代表人 C 10 否 电话 C 20 传真 C 20 开户银行 C 50 账号 C 20 邮编 C 6 Email C 20 表3-4 产品信息表 字段名称 字段类型 长度 小数位数 是否主键 是否允许空值 说明 产品编号 C 10 是 否 产品名称 C 20 否 单位 C 10 否 规格 C 20 否 库存 N 8 2 否 单价 N 8 2 否 表3-5 合同台账表 字段名称 字段类型 长度 小数位数 是否主键 是否允许空值 说明 合同编号 C 12 是 否 客户编号 C 10 否 外键 签订时间 D 否 交货时间 D 交货地点 C 20 运输方式 C 20 运费承担 C 20 已付金额 Y 付款时间 T 产品编号 C 10 否 外键 数量 N 8 2 否 单价 N 8 2 否 签合同时执行的单价 折扣 N 3 1 否 默认为1 已交付数量 N 8 2 表3-6 出入库台账表 字段名称 字段类型 长度 小数位数 是否主键 是否允许空值 说明 单据号 C 10 是 否 可根据时间自动生成 产品编号 C 10 否 外键 合同编号 C 10 是- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP实验教程 VFP 实验 教程 word

链接地址:https://www.zhuangpeitu.com/p-8957132.html