表格模板-第5章数据排序查询统计和多表操作 精品.ppt

上传人:lao****ou 文档编号:14347 上传时间:2022-09-25 格式:PPT 页数:61 大小:706KB
下载 相关 举报
表格模板-第5章数据排序查询统计和多表操作 精品.ppt_第1页
第1页 / 共61页
表格模板-第5章数据排序查询统计和多表操作 精品.ppt_第2页
第2页 / 共61页
表格模板-第5章数据排序查询统计和多表操作 精品.ppt_第3页
第3页 / 共61页
表格模板-第5章数据排序查询统计和多表操作 精品.ppt_第4页
第4页 / 共61页
表格模板-第5章数据排序查询统计和多表操作 精品.ppt_第5页
第5页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《表格模板-第5章数据排序查询统计和多表操作 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-第5章数据排序查询统计和多表操作 精品.ppt(61页珍藏版)》请在第一文库网上搜索。

1、Visual Foxpro程序设计程序设计第第5章数据排序检索统计章数据排序检索统计和多表操作和多表操作表中的记录一开始是按输入的先后顺序(记录号)排列的。如果要按另外一种特定的顺序显示或输出,就必须对表进行排序或索引。排序和索引都可以改变记录的输出顺序。F5.15.1分类(物理)排序分类(物理)排序是根据表的某些字段的值,将表中的记录由大到小(降序)或由小到大(升序),物理地重新排列记录顺序,生成一个新表,称为排序文件。排序文件中记录按新的顺序排列并重新生成记录号,而原表保持不变。F排序命令格式:SORT TO ON /A|/D/C,/A|/D/C FORWHILEFIELDSASCENDI

2、NG|DESCENDING功能:对当前表中指定范围内满足条件的记录,按指定字段的升序或降序重新排列,并将排序后的记录按FIELDS子句指定的字段写入新的表文件中。F命令说明: :存放排序后记录的新表名,该表生成后是关闭的,要使用它必须先打开;ON :指定当前选定的、要排序的表中的字段名(不能是备注和通用字段)。参与排序的字段可有多个;/A/D/C:对于排序中包含的每个字段,可以指定排序顺序(升序或降序)。/A为升序(系统默认排序方式);/D为降序; /C,默认情况下,字符型字段的排序顺序区分大小写,该参数忽略大小写; 范围:默认为ALL,即所有记录; FOR,对满足条件的记录排序;FIELDS

3、,指定新表中记录所包含的字段。ASCENDING|DESCENDING:指定没有用/A/D指明排序序列的其余字段的排序顺序。F例:USE 学生SORT TO 学生1 ON 性别,入校总分/D FOR 入校总分540 FIEL 学号,姓名,性别,出生日期,入校总分 ASCENDINGF二、索引(逻辑)排序索引为提高查询效率而建立,是一种逻辑排序。F(一)索引的概念及类型1.概念:索引是按照索引表达式的值使表中的记录有序排列的一种方法,是进行快速显示及查询数据的重要手段,是建立表间关系的基础。它不改变表中数据的物理顺序。在VFP系统中,索引是借助于索引文件实现。索引文件包括两个部分:索引表达式的值

4、和物理记录号。索引表达式的值按一定顺序排列并对应于物理记录号,显示时按索引表达式值的顺序读取相应的记录号所指的记录。索引文件与表文件关系示意索引索引表达式的值表达式的值记录号记录号记录号记录号记录记录内容内容1314525437241015索引文件表文件F索引与物理排序的区别:1.物理排序要生成新表,记录的物理顺序发生变化,新表可以单独使用;2.索引不生成新表,而是产生一个索引文件,只是表中记录的逻辑顺序发生了变化。索引文件不能单独使用,它必须同表一起配合使用。F 2.索引文件的类型根据索引文件包含索引的个数和打开方式,可分为:(1)单索引文件 扩展名为.IDX,只有一项索引,只能用命令方式建

5、立,使用时需单独打开;(2) 复合索引文件 可以有多项索引,各项索引用唯一的索引标识区别。包括结构复合索引和非结构复合索引。结构复合索引文件名与表同名,扩展名为.CDX,随表的打开而自动打开。非结构复合索引文件名与表名不同,扩展名为.CDX,不随表打开,使用时用命令打开。F3.索引的类型VFP的索引文件中根据表中字段值是否有重复,提供了四种类型:主索引、候选索引、普通索引和惟一索引。数据库表允许所有索引,自由表没有主索引。(1)主索引 一个表只能有一个,在指定字段或索引表达式中不允许有重复值,其索引表达式的值能够惟一地标识每条记录的处理顺序,主要用于建立永久关系的主表中;(2)候选索引一个表可

6、以有多个。在指定字段或索引表达式中不允许有重复值,其索引表达式的值能够惟一地标识每条记录的处理顺序。(3)惟一索引一个表可有多个。索引表达式的值相同时,则只存储第一条记录,不重复存储。(4)普通索引一个表可有多个。索引表达式的值可以相同,一个值对应的多条记录,允许重复存储在索引表中。F(二)建立索引1.通过表设计器建立索引利用表设计器可以实现对结构复合索引建立和修改。2.命令方式建立索引(1)建立单索引文件格式:INDEX ON TO FORUNIQUEADDITIVE功能:创建单索引文件,其扩展名为.IDX。说明: UNIQUE指定建立惟一索引, ADDITIVE建立索引时不关闭原有索引;单

7、索引文件只能按升序排列,但可以用 SET INDEX 或 SET ORDER 命令将 .IDX 索引文件指定为降序。例: USE 学生INDEX ON 学号 TO XHLIST思考:索引表达式为数值型时,如何实现直接降序?(2)建立复合索引文件格式:INDEX ON TAG OFFORCOMPACT ASCE|DESC UNIQ|CAND功能:没有OF选项,创建结构复合索引文件,其扩展名为.CDX;否则创建文件名为的非结构复合索引。例:对“学生”表建立两个复合索引a.以姓名降序排列,索引类型为普通索引;b.以性别升序排列,性别相同以入校总分降序排列,索引类型为普通索引。USE 学生INDE O

8、N 姓名 TAG XM DESCINDE ON 性别+STR(1000-入校总分) TAG XBZF(三)使用索引F索引可以重新排列数据顺序,加快数据的检索、显示、查询和打印速度,还可以建立数据表间的关联。F使用索引,必须同时打开表与索引文件。一个表可以打开多个索引文件,同一个复合索引文件中可以 包含多个索引标识,但任何时候都只有一个索引文件起作用,在复合索引文件中也只有一个索引标识能起作用。当前起作用的索引文件称为主控索引文件,当前起作用的索引标识称为主控索引。F打开索引文件的方法:建立索引文件时,自动打开;打开表的同时打开索引文件;打开表后再打开索引文件。F1.通过”表”菜单命令使用索引F

9、2.命令方式打开索引(1)打开表的同时打开索引文件并确定主控索引格式:USE 表文件名 INDEX ORDER /TAGOFASCENING/DESCENDING参数说明:INDEX ,指定要打开的一个或多个索引文件。若是多个索引文件,中间用逗号分隔,其中,排在第一个的索引文件是主控索引文件;ORDER /TAG,指定主控索引;ASCENING/DESCENDING,指定排序顺序。例1:USE 学生 INDE XH,XM,ZF ORDE 3例2:USE 学生 ORDE TAG XM DESC(2)打开表文件后再打开索引文件格式:SET INDEX TO | ? ASCENDING | DESC

10、ENDING ADDITIVE功能:指定要打开的一个或多个索引文件,并确定主控索引文件(常用于打开单索引文件)。说明:说明:1)索引文件列表中,第一个索引文件将成为主控索引文件,它控制记录的访问和显示。如果第一个索引文件是 .CDX 文件,并且没有发出 SET INDEX TO TAG 命令,则按记录的物理顺序显示和访问记录;2)SET INDEX TO 关闭当前工作区中除结构复合索引文件外的所有索引文件,同时取消主控索引;3)若缺省ADDITIVE则在使用本命令时,除结构复合索引文件之外的索引文件均被关闭。3.确定主控索引索引刚建立时,索引文件呈打开状态,且为主控索引文件;只有一个索引文件被

11、打开,则它成为主控索引文件;若当前打开了多个索引文件,通过 SET INDEX 命令或SET ORDER TO 命令来确定主控索引文件。格式:SET ORDER TO |TAG 索引标识ASCENDING | DESCENDING如果发出 SET ORDER TO 0 命令,则所有索引文件仍保持打开,并且在增加、删除或修改记录时更新。但是,表中所有记录的显示和访问顺序是物理顺序而不是索引顺序。不带其他参数的 SET ORDER TO 命令与 SET ORDER TO 0 命令完全一样。4.索引的更新(1)自动更新: 当表中的数据发生变化时,所有当时已打开的索引文件都会随着数据的改变自动改变记录

12、的逻辑顺序,从而实现索引文件的更新。 (2)重新索引格式:REINDEX功能:重新建立打开的索引文件。5.索引的删除(1)删除索引文件(先关闭后删除)DELETE FILE (2)删除索引标识 DELETE TAG ALL| 删除复合索引文件的中指定索引标识。ALL子句用于删除复合索引文件的所有索引标识。若某索引文件的所有索引表示都被删除,则该索引文件自动删除。6.关闭索引格式1:USE格式2:SET INDEX TO 格式3:CLOSE INDEXF5.3数据检索一、顺序查询(定位查询、直接查询)格式:LOCATE FOR 范围功能:按顺序搜索表,找到指定范围满足条件的第一个记录。格式:CO

13、NTINUE功能:按照LOCATE命令的条件,继续查找下一个满足条件的记录。命令说明: (1)被查询的表不必建立索引; (2)缺省范围是ALL; (3)找到满足条件的记录,记录指针指向该条记录,可使用RECNO( )返回该记录号,并且FOUND( )返回“真”(.T.),EOF( )返回“假”(.F.);如果找不到满足条件的记录,则FOUND( )返回“假”(.F.),记录指针定位到指定范围末尾(EOF( )返回值不一定为“真”(.T.) (4)CONTINUE命令不能单独使用,必须与LOCATE命令配合使用。可重复执行CONTINUE,直到到达范围边界或表尾。二、索引查询按照索引文件的逻辑顺

14、序查找符合条件的记录,要求根据要查询的内容建立索引或确定主控索引。格式1:FIND /功能:在打开的索引文件中快速查找与指定内容相匹配的第一条记录。说明:(1)该命令用于查找字符型(可用可不用定界符)或数值型数据;(2)该命令一般不使用表达式,如果查找字符变量必须宏替换函数;(3)该命令是为与旧版本兼容而保留,可用SEEK命令代替。格式2:SEEK 功能:在打开的索引文件中快速查找与相匹配的第1 条记录,用SKIP查找匹配的下一条记录。说明:(1)只能在索引过的表中使用 SEEK 命令,并且只能搜索索引关键字;(2)该命令可查找多种类型的数据,查找时需加定界符,查找变量时不使用宏替换函数;(3

15、)除非 SET EXACT的设置为 OFF,否则匹配指的是完全匹配;(4)如果 SEEK 找到了与索引关键字相匹配的记录,则 RECNO() 返回匹配记录的记录号;FOUND() 返回“真”(.T.);EOF() 返回“假”(.F.)。如果找不到相匹配的关键字,则 RECNO() 将表中记录的个数加 1,然后返回。FOUND() 返回“假”(.F.);EOF() 返回“真”(.T.) 。例:USE 学生 ORDE TAG XBSEEK 男DISPSKIPDISPF5.4数据统计1.计数命令格式:COUNT FOR TO 功能:统计指定内满足的记录个数,并存于中。例:USE 学生 COUNT F

16、OR 姓名=“李” TO RS? RS2.求和命令格式: SUM FOR TO /TO ARRAY 功 能:在指定内满足的记录中,对中的各项分别求和,并保存到内存变量名表或数组中(该命令自动建立数组)。说明:a.若SUM命令的选项都缺省,则对表中所有数值型字段分别求和。b.中变量的个数,要与中的表达式的个数相匹配,且都用逗号隔开例:USE XSCJBROWSESUM 数学,英语,计算机 TO SX,YY,JSJ3.求平均值命令格式:AVERAGE FOR WHILETO / TO ARRAY 功能:在指定范围内,计算数值表达式或字段的算术平均值。说明:AVERAGE命令各参数的含义同SUM命令。4.计算命令格式:CALCULATE FOR WHILETO /TO ARRAY 功能:在指定范围内,对表文件的字段或字段表达式做统计计算。说明:由下列8个规定函数组合而成:AVG():求的算术平均值;SUM():求的和;CNT():统计记录个数;MIN():求的最小值;MAX():求的最大值;NPV (,)求期货交易流动资金的净当前值;STD():求的标准偏差;VAR():求的方差。5.分类求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 技术资料 > 统计图表

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服