- 110.00 KB
- 2022-08-17 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第一、二节数据库简介教学内容:1、了解数据库的基本概念、数据库管理系统的基本功能;2、学会启动与退出FoxPro数据库管理系统;3、了解FoxPro窗口的组成结构;教学目的:1、让学生对数据库及数据库管理系统有个基本的了解;2、学会启动与退出FoxPro数据库管理系统;3、对FoxPro窗口组成有个基本了解;教学重点:1、数据库、数据库管理系统的概念;2、FoxPro的启动与退出、命令窗口的使用;教学难点:1、数据库、数据库管理系统的概念;2、FoxPro的启动与退出、命令窗口的使用教学过程:一、基本概念:1、数据:是对客观事物的符号表示,在计算机科学中是指能输入到计算机中并被计算机程序处理的符号、数值、声音、图像等各种信息的总称。2、数据处理:收集、组织、加工、存储、传送各类数据的过程。3、数据库:存储在计算机里的按一定规则相互关联的数据的集合。(1)举例说明(2)数据在数据库中按一定的规则存放,这种规则称为数据库模型。常见的数据库模型有层次模型、网状模型和关系模型。所谓关系模型实际上是一个二维表,通过公共的关键字段对表中的记录进行管理。FoxPro就是在计算机上实现的关系型数据管理系统。(1)数据库系统:是以数据库应用为目的的计算机系统。一个数据库系统必须能完成数据收集、存储、处理、维护,对数据的安全性和完整性进行控制和检查、检索等一系列功能。(2)数据库系统的主要作用:是完成数据的收集、处理、维护以及存储。(3)数据库系统的基本特点:实现数据冗余控制、提高数据独立性以及实现数据共享。4、数据库管理系统:能够用来建立数据库,完成数据库的维护、管理等操作,并能够帮助用户方便地使用数据库的软件。数据库管理系统主要用途:(1)建立数据库;(2)维护数据库(修改、插入、更新、删除);(3)数据库的管理(分类、查找、统计和输出)。二、FoxPro数据库管理系统1、启动FoxPro的操作“开始”“程序(P)”“FoxProforwindows”“FoxPro”2、FoxPro窗口介绍。(1)窗口基本介绍;(2)FoxPro跟其他窗口的区别是:在默认状态下,启动FoxPro数据库管理系统时,屏幕上除了出现主窗口外,还会出现命令窗口。命令窗口用于输入字符命令,主窗口用来显示FoxPro命令或程序的执行结果;(3)要在“command”窗口中输入命令,只要激活“command”窗口,键入字符后按\n“回车”键;(4)clear命令表示清除屏幕显示的内容。1、退出FoxPro(1)打开“file”选项的菜单,执行其中的“exit”命令;(2)在命令窗口中输入命令Quit并敲回车键。\n第三节 建立数据库教学内容:1、掌握建立、关闭数据库的基本操作方法2、学会向数据库中输入、追加数据教学目的:1、让学生掌握建立数据库的基本操作方法和步骤2、理解数据类型及表示方法教学重点:1、建立数据库的基本操作方法和步骤2、数据类型及表示方法教学难点:1、数据类型及表示方法教学过程:引入新课:我们知道,关系型数据库可以看作一张二维的表格(如下表),在数据库中,把二维表格中的每一列叫做一个字段,各列的第一行数据叫做字段名。字段名是字段的标识,同一个数据库中不能存在两个相同的字段。从第二行开始,每一行叫做一个记录。编号姓名出生年月职称工资部门健康邮政编码00021孙学东57/03/25高工839.00技术科T00030高娟48/10/07工程师750.60生产科T00020林静之70/08/06助工205.00财务科T00023刘克忠37/05/26高工950.00技术科F00017陆平45/11/16工程师784.00生产科T一、建立数据库结构建立一个完整的数据库必须分两个步骤:第一步,建立数据库的结构;第二步,向数据库中输入数据。1、指定要建立的文件的类型(1)进入FoxPro工作环境(2)单击“File”中的“NEW…”命令(3)在出现“文件类型”对话框中选择“Table/DBF”选项,单击“NEW”按钮。讲解:(1)什么是文件类型及文件的扩展名?(2)利用FoxPro可以建立包括数据库文件、程序文件、查询文件等10种不同类型的文件(3)特别强调,数据库文件的扩展名是“.DBF”2、确定字段名、数据类型、宽度及小数位数在FoxPro主菜单栏中选择“File”下拉菜单的“New”选项,出现“New”对话框。选择“Table/DBF”后,单击“New”按钮,即可出现“TableStructure”对话框。“Tablestructure”\n对话框可用来建立一个新的数据库结构,即精确地定义这个文件中所包含的字段。定义时要指明每个字段的名字、数据类型、字段的长度,若是数值字段,还要指明小数位数。此时对话框有五列,分别是Tag、Name、Type、Width和Dec,它们用来确定每个字段的特殊属性。(1)Tag列:索引标识列中向上或向下箭头表示其右的域名(Name)是索引标签名,并指明索引顺序,向上箭头表明记录按索引上升顺序显示,向下箭头表明记录按索引下降顺序显示。单击该列可以改变索引顺序及确定是否索引。(2)Name列:字段名讲解:A、字段名可以由中文、英文、数字和下划线组成,必须以中文或英文开头;B、字段名最多10个字符。(3)Type列:字段类型单击该列,弹出下拉列表,可选择指定的字段类型。可供选择的类型有:character(字符型,为缺省类型)、Numeric(数字型)、Float(浮点型)、Date(日期型)、Logical(逻辑型)、Memo(备注型)、General(普通型)。用鼠标单击你所需要的类型即可。讲解:A、什么是数据类型及为什么要分数据类型?B、结合图表介绍FoxPro中主要的数据类型及用途如:字符型数据用来表示姓名、民族、性别等字段,数值型数据用来表示分数、年龄、工资等字段等(4)Width列:字段的长度讲解:A、字段的长度,即其存储的字符或数字等的最大数目,缺省值为10B、如何确定字段的长度,要根据具体的实际问题(5)Dec列小:小数位数该列指定Numeric或Float类型字段中小数点后的位数。注:在一个数据库中最多可建立255个字段,“Tablestructure”对话框的状态栏中随时给出数据库中字段的总数及总的宽度。总的字段宽度为所有字段宽度之和加1个字节,这个字节用来保存已被删除的记录的踪迹。例如:建立具有如下结构的数据库FieldFieldNameTypeWidthDec1编号Character52姓名Character103年龄Numeric304出生年月Date85职称Character126工资Numeric827健康Logical18部门Character8\n9邮政编码Character6其操作如下:(1)选择“File”下拉菜单的“New”选项,打开“New”对话框。(2)在“New”对话框中选择“Table/DBF”后,单击“New”按钮,打开“TableStructure”对话框。(3)在“TableStructure”对话框中按给出的各列输入上述各字段定义的内容。3、保存数据库结构建立数据库结构后,必须将其保存。在“TableStructure”对话框中,用鼠标单击“OK”按钮,弹出“SaveAs”对话框,这个对话框可以存储一个FoxPro的新文件,此时,键入新数据库名如emp,FoxPro自动为其加上扩展名.dbf。用鼠标单击对话框中“Save”按钮即可。完成存盘操作后,在屏幕上显示一个信息框,询问Inputdatarecordsnow?单击“Yes”按钮,立即输入数据,单击“No”按钮,表示暂不输入数据。二、输入数据定义了数据库的结构以后就可以向数据库中输入数据。输入数据,可以在存储数据库结构之后,屏幕出现“Inputdatarecordsnow?”的信息框时,单击“Yes”按钮;也可选择“Record”下拉菜单的“Append”选项,在附加方式下打开浏览窗口。(1)在FoxPro的主菜单栏上选择“Record”菜单项。(2)在“Record”下拉菜单中选择“Append”选项,这时产生一浏览窗口,(3)输入下列数据Record#编号姓名出生年月职称工资部门健康邮政编码100021孙学东57/03/25高工839.00技术科T200030高娟48/10/07工程师750.60生产科T300020林静之70/08/06助工205.00财务科T400023刘克忠37/05/26高工950.00技术科F500017陆平45/11/16工程师784.00生产科T三、关闭数据库注意:在同一时刻只能使用一个数据库文件,如果打开另一个数据库文件,该数据库文件将自动关闭。数据文件使用后要关闭它。关闭数据库文件,必须在“Command”窗口中使用use命令。在“File”下拉菜单中选择“Close”选项是不行的,因为“Close”选项仅关闭屏幕显示。四、追加数据1、打开数据库要使用数据库,必须先打开数据库;在“File”下拉菜单中选择“Open”选项,弹出“Open”对话框后,从对话框中选择数据库文件,再单击“Open”按钮,即可打开该数据库。打开一个数据库后,库文件内容并不出现在屏幕上,但它的打开已有效,库文件名出现在状态栏中。2、打开数据输入窗口\n单击“Record”下拉菜单中的“Append…”命令。3、输入新的记录4、关闭数据库。\n第四节 使用数据库教学内容:1、查看数据库结构。2、查看记录中的数据。3、数学表达式的表示和使用。4、关系运算符和逻辑运算符的使用。5、条件表达式的构成及使用。6、统计运算的几个命令(SUM、AVERAGE、COUNT)。教学目的:1、掌握查看数据库的结构及记录中数据的方法2、学会进行初步的统计运算教学重点:1、掌握查看数据库的结构及记录中数据的方法2、条件表达式的构成及使用3、学会进行初步的统计运算教学难点:1、条件表达式的构成及使用教学过程:引入新课:上一节,我们介绍了如何建立数据库,数据库建完后,接下来就是面临怎样使用数据库的问题,今天,我们来介绍一下数据库的一些简单应用。一、查看数据库结构对于一个已经存在的数据库,我们可以利用FoxPro的命令来查看它的库结构,甚至可以修改它的库结构。下面,我们讲一下如何查看数据库结构:方法1、1、单击“File”菜单中的“Open…”命令,打开一个数据库;2、单击“DateBase”菜单中的“Setup…”命令即可。方法2、1、单击“File”菜单中的“Open…”命令,打开一个数据库;2、在命令窗口中输入命令“liststructure”并敲回车键比较:方法1不但可以查看数据库结构,还可以通过对话框中的“Modify…”按钮对数据库结构进行修改,而方法2只能查看数据库结构,不能修改数据库结构。二、查看记录中的数据打开一个数据库后,我们可以通过以下方法浏览数据库中的记录数据:1、查看所有记录的全部数据方法1、(1)单击“File”菜单中的“Open…”命令,打开一个数据库;(2)在命令窗口中输入命令“browse”并敲回车键方法2、(1)单击“File”菜单中的“Open…”命令,打开一个数据库;(2)在命令窗口中输入命令“list”并敲回车键方法3(1)单击“File”菜单中的“Open…”命令,打开一个数据库;(2)在命令窗口中输入命令“display”并敲回车键\n2、查看所有记录的部分字段在FoxPro中,我们可以只浏览数据库中的某些字段,具体操作如下:(1)单击“File”菜单中的“Open…”命令,打开一个数据库,如chengji.dbf;(2)在命令窗口中输入命令:browsefields姓名,数学,语文,外语后敲回车键执行。注:输入命令时,用来隔开字段名的逗号必须是半角字符。3、查看满足一定条件的记录(1)例子:在FoxPro中,除了可以只浏览数据库中的某些字段外,我们还可以只显示满足一定条件的某些记录,例如,显示chengji.dbf数据库中,数学成绩大于90分的学生的记录,操作如下:(1)单击“File”菜单中的“Open…”命令,打开chengji.dbf数据库;(2)在命令窗口中输入命令:browsefor数学>90后敲回车键执行。又如,要查看所有姓张的同学的数据,操作如下:(1)单击“File”菜单中的“Open…”命令,打开chengji.dbf数据库;(2)在命令窗口中输入命令:browsefor‘张’$姓名后敲回车键执行。(2)条件表达式:A、用关系运算符把字段名、数据等连接起来,可以构成条件表达式,而所谓关系运算符,如大于号和$号。B、FoxPro中常用的关系运算符及用法如下:关系运算符关系应用举例含义>大于数学>90<小于物理<60=等于学号=’’<>不等于信息技术<>.t.<=不大于语文<=85>=不小于外语>=60$包含‘张’$姓名C、较复杂的条件表达式用逻辑运算符把两个或多个简单的条件表达式连接起来,可以构成较复杂的条件表达式,FoxPro的逻辑运算符有:.AND.、.OR.、.NOT.三种,其用法如下:运算符名称运算规则应用举例.AND.逻辑与同时成立才成立数学>85.AND.语文>85.OR.逻辑或一个成立即成立数学>85.OR.语文>85.NOT.逻辑非取反.NOT.计算机=.f.三、统计运算\n利用FoxPro的命令,可以完成求和、求平均数、计数等统计运算1、求和(1)SUM命令:计算数值型字段中保存的所有数据的总和;(2)SUM FIELDS:可以计算指定的数值型字段中保存的所有数据的总和,其中FIELDS为具体的字段名。2、求平均数(1)AVERAGE命令:计算数值型字段中保存的所有数据的平均数;(2)AVERAGE FIELDS:可以计算指定的数值型字段中保存的所有数据的平均数,其中FIELDS为具体的字段名。3、计数COUNT命令的使用:(1)统计数据库中总的记录数A、单击“File”菜单中的“Open…”命令,打开chengji.dbf数据库;B、在命令窗口中输入命令:count后敲回车键执行。(2)统计满足一定条件的记录的个数,例如A、单击“File”菜单中的“Open…”命令,打开chengji.dbf数据库;B、在命令窗口中输入命令:Count 信息技术=.t.后敲回车键执行。(3)将统计结果赋予一个变量,例如A、单击“File”菜单中的“Open…”命令,打开chengji.dbf数据库;B、在命令窗口中输入命令:Countfor语文>=85tochC、?ch回车键执行\n第五节维护数据库课题:维护和管理数据库教学内容:1、掌握记录指针的概念2、学会插入、删除记录3、学会修改记录中的数据及数据库的结构教学目的:1、让学生掌握数据库的基本维护及管理2、能够较为熟练地使用数据库,加深对其的理解教学重点:1、记录指针的解释2、BROWSE、EDIT、INSERT、APPEND、REPLACE等有关命令的使用及区别教学难点:1、记录指针、指针移动2、替换命令REPLACE的使用教学课时:2个课时(包含上机)教学过程:一、记录指针:数据库中往往有许多条的记录,为了便于管理,每个都有一个编号,叫做记录号。系统提供了记录指针(虚拟的),使它指向某个记录,记录指针批示的记录,叫做当前记录,并在状态栏显示的标志“Record:n/m”中体现出来,其中m是当前使用的数据库中的记录总数,n就是当前记录的记录号。利用FoxPro提供的命令,可以方便地移动记录指针的位置,使之成为当前记录。移动记录指针的操作,叫做记录指针定位。1)菜单方式:(1)打开要操作数据库(已打开可省略),(2)单击“Record”选项,再执行“Goto……”命令,从“Goto”对话框中选择说明:“TOP|BOTTOM”指第一个或最后一个记录,“RECORD”需输入对应记录号,“SKIP”需输入移动的记录个数。2)GO命令格式:GO〈记录号〉或GOTOP|BOTTOM功能:对记录指针进行定位。说明:〈记录号〉(物理定位):将记录指针定位到指定的记录号上。TOP|BOTTOM(逻辑定位):把记录指针定位到第一个或最后一个记录上。例:UsechengjiDispGo3DispGoTopDispGoBottDisp3)SKIP命令格式:SKIP[〈数值表达式〉]\n功能:以<数值表达式>为步长跳移记录指针。说明:l、〈数值表达式〉为正整数记录指针向文件尾移动,若为负整数则向文件头移动,若为1则常常省略。例:UsechengjiDispSkip2DispSkip–1DispSkipDisp一、插入与删除记录1、插入记录:INSERT命令允许在数据中的某个位置插入新记录格式:INSERT[BEFORE][BLANK]功能:在当前记录的后面或前面插入新记录。说明:[BLANK]表示插入一个空记录。常用操作:1)打开要操作数据库(已打开可省略)2)使记录指向某个记录3)使用INSERT即可在当前记录后插入新记录2、删除记录:在FoxPro数据库中删除记录分两步:先是为记录加上删除标记(即逻辑删除),并不从数据库中真正去掉该记录。但在对数据库进行各种统计操作时,系统会忽略做了逻辑删除标记的记录。如果要真正删除,此时需要物理删除。1)为记录加删除标记格式:DELETE[〈范围〉][FOR〈条件〉]功能:为指定记录加上删除标记。例:UsechengjiDispAllDeleFor.not.性别DispAll2)取消删除标记格式:RECALL[〈范围〉][FOR〈条件〉]功能:为指定记录加上取消删除标记。例:RecaAll3)删除记录格式:PACK功能:对当前工作区中的数据库中已加删除标记作物理删除。例:物理删除chengji.dbf库中无效的记录UsechengjiGo5DeleFor学号=”1014”Pack4)物理删除数据库中所有记录格式:ZAP\n功能:物理删除整个数据库的所有记录。例:删除数据库chengji.dbf中的所有记录。UsechengjiZap一、修改记录中的数据:执行EDIT命令后,工作区会显示标题是库文件基本文件名的编辑窗口,窗口显示当前记录的字段名与保存在里面的数据。鼠标指针显示为“I”形。操作:①利用“Record”选项的“Goto….”命令或直接使用命令移动记录指针,到要修改的记录。②在命令窗口中输入“EDIT”注意:修改完一个数据后,如果敲一下回车,光标会跳到下一行数据上;敲PAGEDOWN键或PAGEUP键,可将光标移到下一个或上一个记录相同字段中的数据上。二、使用替换命令:字段的替换通常用于横向计算。格式:REPLACE[〈范围〉]〈字段1〉WITH〈表达式1〉[,〈字段2〉WITH〈表达式2〉…][FOR〈条件〉]功能:修改表/数据库中的记录。说明:例:USEchengjiReplAll外语WITH外语+3,总分WITH语文+数学+外语三、修改数据库的结构:1、复制数据库结构:把当前打开的数据库的结构复制给新库COPYSTRUCTURETO新库文件名例:usechengjicopystructuretoxueuse2、修改数据库结构:修改当前打开的数据库结构菜单方式:①打开要修改的数据库②执行“Database”选项的“Setup…”命令,可打开一个窗口③单击“Modify…”,可打开库结构对话框,修改后单击“OK”。 ④此时会弹出一个确认对话框窗口,单击“YES”确认。 ⑤单击“SETUP”窗口的“OK”按键,关闭“SETUP”窗口。命令方式:MODIFYSTRUCTURE注意:一次修改不能对多处做大的改动,否则会导致数据库数据错乱。如需多处修改可采用先保存完再重新进入再次修改。六、总结:本节所谈到的各命令,同学们都应认真在机上实践操作,特别是replacewith在实际计算中有较大的作用。请同学们注意其使用格式。上机可能存在问题:大多数同学仍存在对命令的使用格式不了解,中英文字符的使用不讲究,造成命令无法执行。记录指针的概念对学生的理解同样也有一定的难度。\n第六节排序、索引与查询教学内容:1.分类排序2.索引排序3.顺序查询4.索引查询教学目标:1.掌握分类排序,索引排序的基本操作方法2.学会用顺序查询、索引查询的方法查询数据教学重点:1.排序2.索引3.查询教学难点:1.索引的概念2.建立索引3.使用索引教学课时:2课时教学过程:引入:数据库文件中记录的显示总是按输入记录的先后顺序来显示的,例如打开名为“chengji”的数据库文件,利用Browse,list等命令显示库文件时,记录的显示顺序按照输入的先后次序显示的,现在,我们要求chengji.dbf里的记录按‘学号’从小到大的次序显示,就需要对库文件进行排序。排序的定义:根据库文件的某些字段重新排列记录顺序。分为两类:一类是分类排序,一类是索引排序。一、分类排序分类排序:物理排序。把数据库中的记录按某字段中数值的大小进行排列,并把排好次序的记录存放到一个新的数据库中,新数据库按新次序排列记录,而原数据库中记录顺序不变。利用SORT命令,可实现分类排序。格式:SORTT0<新库文件名>ON<字段名1>[/A|/D][/C][,〈字段名2〉[/A|/D][/C]…][〈范围〉]功能:对当前数据库记录进行排序,原库文件记录顺序不变,产生新的数据库文件。说明:/A:表示以升序(从小到大)进行排序,也称为顺序排序。/D:表示以降序(从大到小)进行排序。省略/A或/D:表示以升序排序。/C:排序时不区分大小写。例1、对chengji.dbf库文件,按学号从小到大把记录重新排列,结果存放到s1.dbf中。\nusechengji——打开chengji.dbf库文件sorttos1on学号/a——按学号从小到大排列,并把结果放入s1.dbf中uses1list例2、对chengji.dbf库文件,按总分从高到低排列,若总分相同,则按数学成绩从高到低排列。usechengjisorttos2on总分/d,数学/duses2list也可利用菜单栏进行排序操作:打开数据库文件→执行“Database”菜单中的“Sort”命令→出现sort对话框,在“FieldOptions”中选择“Ascending”或“Descending”降序或“IgnoreCase”。在“AllFields”下选择一个关键字move到“SortOrder”中选择“Saveas”对话框,输入文件名即可。二、索引排序1、索引排序:逻辑排序。为数据库建立一个索引文件,同时打开数据库文件和相应的索引文件,浏览记录时,原数据库就会按索引文件中保存的顺序显示记录。注:索引排序与分类排序的不同:索引排序不生成一个排好新次序的数据库。索引文件分类:单索引文件(介绍),复合索引文件(略)单索引文件:只存放一个关键字段名的索引文件。扩展名:.idx2、建立索引排序一个数据库文件可以建立多个索引文件。(1)建立索引文件:格式:INDEXON<字段名>TO单索引文件名例、打开chengji.dbf库文件,要对“学号”进行索引排序,先建立名为chengji.idx的索引文件usechengji——打开chengji.dbf库文件indexon学号tochengji1也可利用菜单栏建立索引文件:打开数据库文件→执行“File”菜单中的“New”命令→选择“INDEX”文件类型(2)使用索引文件\n要进行索引排序,首先必须打开库文件和索引文件。一个数据库文件可打开多个索引文件,但任一时候只有一个索引文件起作用,打开一个新索引文件后,原来的索引文件会自动关闭。实现索引排序的条件:①打开库文件②打开索引文件①索引文件的打开A同时打开数据库文件和与之相关的索引文件命令格式:USE<库文件名>INDEX<索引文件名>例:usechengjiindexchengji1listB分别打开数据库文件和索引文件命令格式:USE<库文件名>SETINDEXTO<索引文件名>例:usechengjisetindextochengji1listC利用菜单栏打开索引文件操作:“File”菜单中执行“Open”命令②索引文件的关闭A数据库文件关闭时,索引文件自动关闭B不关闭数据库时关闭索引文件命令格式:SETINDEXTO引入:要查找满足条件的记录时,例如在xueji.dbf库文件中,要查找是团员的学生记录时,就需要进行查询。所谓查询,就是按照某些条件在数据库中查找满足条件的记录。查询分为两类:一类是顺序查询,一类是索引查询。二、顺序查询使用LOCATE命令和CONTINUE命令格式:LOCATE范围FOR条件表达式CONTINUE说明:LOCATE命令可以查找符合条件的第一个记录。CONTIUE命令可以继续查找下一个满足条件的记录。例1、查找chengji.dbf库文件中化学成绩>90的记录usechengjilocatefor化学>90disp\ncontinuedisp例2、查找chengji.dbf库文件中语文成绩不及格的记录usechengjilocatefor语文<60dispcontinuedisp二、索引查询索引查询:在建立并打开索引文件的基础上进行的查询。利用SEEK命令进行索引查询。格式:SEEK<表达式>功能:在索引文件中查找关键字段值等于<表达式>的记录。说明:若<表达式>为字符类型,则SEEK命令中的<表达式>要使用单引号例1、在chengji.dbf库文件中利用chengji.idx索引文件查询学号为的记录usechengjisetindextochengjiseek‘’disp例2.在chengji.dbf库文件中利用xm.idx索引文件查询姓名为郭西溪的记录usechengjisetindextoxmseek‘郭西溪’disp也可利用菜单栏进行操作:打开库文件→打开索引文件→执行“Record”菜单中的“Seek”命令上机练习:1.对数据库xueji.dbf中的“文科总分”字段从高到低进行分类排序,结果放入s1.dbf中2.分别以数据库xueji.dbf中的“理科总分”和“总分”字段为排序关键字建立索引文件,索引文件名分别为xjlz.idx和xjzf.dbf3.用顺序查询方式,对数据库文件xueji.dbf进行查询①查找团员的记录并显示②查找总分在510以上,且体育成绩为“优”的记录并显示4.用索引查询方式,对数据库文件chengji.dbf进行查询①查找学号为01029的学生记录并显示②查找姓名为“宗淙”的学生记录并显示\n第七节 编制简单的程序 一、教学目的和要求1、了解程序文件的概念2、掌握程序建立与运行的方法;3、掌握FoxPro常用的程序命令及程序设计结构;4、学会编制简单的程序。 二、教学重点及难点1、重点:程序结构与命令;2、难点:程序结构。 三、课时分配本节计划授课4学时。 四、教学内容(以下为教学内容部分)Ⅰ、基本概念1、命令方式定义:利用菜单或在命令窗口输入命令对数据库进行操作的方式示例:如Modifystructure{修改数据库的结构}2、程序执行方式:定义:把要执行的各条命令按操作要求组合起来,编成一个文件存储在磁盘中,然后用DO命令指挥计算机依次自动执行文件中的命令,对数据库进行操作示例:磁盘上有一个名为LIANXI.PRG的文件,内容如下:USECHENJI----①REPLACEALL总分WITH数学+物理+化学+语文+外语+政治----②REPLACEALL平均分WITH总分/6 ------③USE -----④在命令窗口中输入命令doLIANXI---- ⑤讲解例子:⑤执行lianxi程序①打开数据库chengji.dbf②用每个记录中“数学”,“物理”,“化学”,“语文”,“外语”,“政治”字段中的成绩之和替换“总分”字段的数据③用记录中的“总分”字段里的数据除以6所得的商替换“平均分”字段的数据④关闭数据库3、程序A、定义:由一系列数据库命令组成的文件叫做命令文件或程序文件,简称程序B、扩展名:。PRG(提醒回顾数据库的扩展名。DBF)C、程序执行方式:键入执行程序的命令自动依次程序各条命令,\n完成相应操作D、好处:①提高工作效率,简化操作②使程序与数据能够相对独立Ⅱ、建立程序文件与运行程序1、程序开发的两种方法:1)利用FoxPro开发工具开发应用程序;2)直接用命令编写程序,即用程序设计语言进行程序设计。2、建立与编辑程序文件(.PRG)⑴命令方式格式:modifycommand|file<文件名>例1:modicommprog1(常用)例2:modifileprog1.prg注:以上两种形式在使用上有是否可省略扩展名.PRG的区别。⑵菜单方式文件—>新建…—>程序—>新文件⑶程序输入的几点注意A、若一条语句要折行,应在该行末尾加分号;B、为提高程序的可读性,在文件中可以加上注释语句;①NOTE<注释说明>(用在行首)②*<注释说明>(用在行首)③&&<注释说明>(用在行中任意位置)C、输入或修改结束时保存源程序文件。例:命令:modicommprog1源程序:settalkoffclearusexscja1=姓名b1=总分go3a2=姓名b2=总分?a1,a2?b1[with<参数表>]with<参数表>:用于向文件中传递参数例:doprog1\n结果:王志华张文丽.T.⑵菜单方式程序—>运行…,然后选择程序名。 例子:编制一个程序文件TONEGJI..PRG,用来统计并分别显示数据库chengji.dbf中语文成绩不小于85分,84到75分之间、74至60分和60分以下各分数档的人数。操作步骤:A、建立程序文件①执行file选项new...命令②选择文件类型program并单击new按钮③在untiled窗口中输入以下各条命令(讲解各条命令的含义,特别提到是?的含义)settalkoffclearusechengyicountfor语文>=85toyw1countfor语文>=75.and.语文<85toyw2countfor语文>=60.and.语文<75toyw3countfor语文<60toyw4?“语文成绩大于等于85分的人数是”,yw1?“语文成绩在75分至85分之间的人数是”,yw2?“语文成绩在60分至75分之间的人数是”,yw3?“语文成绩小于60的人数是”,yw4usesettalkonreturn(补充:?是用来显示统计结果;可用来显示变量的值,可用来显示用双引号括起来的文字,可用来显示多项内容,显示项间用逗号隔开)④执行file菜单save⑤在saveas对话框中输入tongji.prg并单击save按钮。(讲解各对话框的含义)⑥关闭此窗口。A、运行程序文件①执行program菜单中do…命令②在do对话框中输入tongji.prg,并单击do按钮③在工作区中显示程序执行结果思考:还有哪一种方法可以运行程序文件?(在命令窗口中输入dotongyi回车) Ⅲ、程序结构和命令(补充) 1)顺序结构顺序执行程序中的每一条指令,直到程序结束。其流程如图3.1。\n2)选择结构根据给定条件选择某一分支,最后在某一出口结束程序。其流程如图3.2。3)循环结构当满足某一给定条件时,反复执行某一段操作。其流程如图3.3。\n二、结构化命令1、分支选择命令1)单分支语句格式:if<条件><语句序列1>[else<语句序列2>]endif功能:单分支条件选择例:已知函数y=x+10(0<=x<20)|x*x+3*x-6(x>=20),根据给定x的值,求出函数y的值。程序:settalkoffclearinput"请输入x的值:"toxifx<0?"x的值超出范围!"y="无意义!"endififx>=0.and.x<20y=x+10endififx>=20y=x*x+3*x-6endif?"函数值Y=",yreturn\n2)分支选择函数:iif()格式:iif(<条件>,,)功能:若条件为真,则返回的值,否则返回的值。用此函数改写以上例题:settalkoffinput"请输入变量X的值:"toxy=iif(x<0,"无意义!",iif(x<20,x+10,x*x+3*x-6))?"函数y的值是:",yreturn3)多重分支命令格式:docasecase<条件1><语句系列1>case<条件2><语句系列2>......case<条件N><语句系列N>[otherwise<语句系列N+1>endcase功能:按给定的条件执行多重分支操作。2、循环命令1)WHILE循环命令格式:DOWHILE<条件><语句系列>[LOOP][EXIT]ENDDO功能:在循环条件的控制下,重复执行<语句系列>。DOWHILE:循环入口。ENDDO:循环结束。LOOP:结束本次循环,回到程序入口执行下一次循环。EXIT:退出循环,执行ENDDO后面的语句。例1:输出0~20之间的奇数。程序:SETTALKOFFN=1DOWHILEN<=20?“N=”,NN=N+2\nENDDORETURN例2:显示XSCJ.DBF中总分不低于220分的记录。SETTALKOFFUSEXSCJDOWHILE.NOT.EOF()IF总分>=220DISPLAYENDIFSKIPENDDOCLOSEALLSETTALKONRETURN2)FOR循环命令格式:FOR<循环变量>=<初值>TO<终值>[STEP<步长>]<语句序列>[LOOP][EXIT]ENDFOR|NEXT功能:当循环变量的值从<初值>到<终值>的变化区间,循环执行FOR和ENDFOR之间的语句。例1:用FOR循环求1~20间的奇数。程序:SETTALKOFFFORI=1TO20STEP2?IENDFORRETURN例2:求1~100的累加和。程序:SETTALKOFFCLEARS=0FORI=1TO100S=S+IENDFOR?“S=”,SRETURN 上机作业(FoxPro程序设计)要求:所有程序必须按给定的文件名存在d盘的根目录下。\nP182.页1,2,31、编写程序MJ.PRG,输入半径求圆的面积及球的体积,要求保留两位小数(采用过程或自定义函数设计)。2、已知Y=X2+3X-5(0≤X<10)|5X+8(X<0或≥10),根据X的值求Y的值,文件名为HANS.PRG。3、计算S=1!+2!+3!+…+N!(N为自然数)的值,文件名为JC.PRG。