[it认证]vfp03-1 查询与统计

上传人:tia****nde 文档编号:70555717 上传时间:2019-01-17 格式:PPT 页数:42 大小:497.81KB
返回 下载 相关 举报
[it认证]vfp03-1 查询与统计_第1页
第1页 / 共42页
[it认证]vfp03-1 查询与统计_第2页
第2页 / 共42页
[it认证]vfp03-1 查询与统计_第3页
第3页 / 共42页
[it认证]vfp03-1 查询与统计_第4页
第4页 / 共42页
[it认证]vfp03-1 查询与统计_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《[it认证]vfp03-1 查询与统计》由会员分享,可在线阅读,更多相关《[it认证]vfp03-1 查询与统计(42页珍藏版)》请在金锄头文库上搜索。

1、查询与统计,本 章 要 点,表的索引 查询命令 数据表的统计 多表同时操作,1索引及索引文件的概述 索引是以索引文件的形式存在的,它根据指定的索引关键字表达式建立的。索引文件可以看成索引关键字的值与记录号之间的对照表,关键字可以是一个字段,也可以是几个字段的组合。 索引文件必须与原表一起使用。这样的查找方式使顺序查找和随机查找都有较高的效率。 打开索引文件时,将改变表中记录的逻辑顺序,但并不改变表中记录的物理顺序。 一个表文件可建立多个索引文件,也可同时打开多个索引文件,但在同一时间内只有一个索引起作用,这个索引称为主控索引。,表的索引,Visual FoxPro系统中支持两种不同的索引文件类

2、型,即单索引文件和复合索引文件。 单索引文件是根据一个索引关键字表达式(或关键字)建立的索引文件,文件扩展名为.IDX。 复合索引文件是指索引文件中可以包含多个索引标识的扩展名为.CDX。 每一个索引标识均有一个特殊的标识名(TAG)。,复合索引文件有两种:一种是独立复合索引文件;另一种是结构复合索引文件。 结构复合索引文件与相应的表文件同名,扩展名为.CDX。当Visual FoxPro打开一个表时,便自动查找一个结构复合索引文件,如果找到便自动打开,该索引文件随表文件同时打开和同时关闭。 独立复合索引文件不与表文件同名,扩展名为.CDX。 索引可分为下列四种类型: (1)主索引 主索引是一

3、个永远不允许在指定字段和表达式中出现重复值的索引。每一个表只能建立一个主索引,只有数据库表才能建立主索引。,(2)侯选索引 侯选索引也是一个不允许在指定字段和表达式中出现重复值的索引。数据库表和自由表都可以建立侯选索引,一个表可以建立多个侯选索引。 主索引和侯选索引都存储在.CDX结构复合索引文件中,不能存储在独立复合索引文件和单索引文件中。 (3)唯一索引 系统只在索引文件中保留第一次出现的索引关键字值。数据库表和自由表都可以建立唯一索引 (4)普通索引 是一个最简单的索引,允许关键字值的重复出现,适合用来进行表中记录的排序和查询,也适合于一对多永久关联中“多”的一边(子表)的索引。数据库表

4、和自由表都可以建立普通索引。,普通索引和唯一索引可以存储在.CDX独立复合索引文件和.IDX单索引文件中。 2索引文件的建立 (1)命令方式 【格式】INDEX ON TO | TAG OF FOR ASCENDING | DESCENDINGUNIQUE ADDITIVE 【功能】对当前表文件按指定的关键字建立索引文件。 【说明】:指定建立索引文件的关键字表达式,可以是单一字段名,也可以是多个字段组成的字符型表达式,表达式中各字段的类型只能是数值型、字符型和日期型和逻辑型。,TAG :此选项只对建立复合索引文件时有效,指定建立或追加索引标识的标识名。 OF :指定独立复合索引文件名。若有此选

5、项,表示在指定的独立复合索引文件中追加一个索引标识,若指定的独立复合索引文件不存在,系统将自动建立指定的文件。 FOR :表示只对满足条件的记录建立索引。 ASCENDING|DESCENDING: ASCENDING表示按升序建立索引,DESCENDING表示按降序建立索引。缺省时,按按升序建立索引。单索引文件不能选用DESCENDING选项。,UNIQUE:表示建立的是唯一索引。 ADDITIVE:表示保留以前打开的索引文件。否则,除结构复合索引文件外,以前打开的其他索引文件都将被关闭。 【例】对Spxx.DBF表文件建立商品编号单索引文件STUD.IDX。 USE Spxx INDEX

6、ON 商品编号 TO STUD 【例】对表文件Spxx.DBF,建立一个基于商品编号字段的结构复合索引文件。 USE Spxx INDEX ON 商品编号 TAG tspbh DESCENDING,【例】在表文件Spxx.DBF的结构复合索引文件中,按类别和零售价各追加一个标识。 USE Spxx INDEX ON 类别 TAG tlb INDEX ON 零售价 TAG tlsj,(2)菜单方式 打开表文件。 选择【显示】|【表设计器】命令,打开表设计器对话框,选择“索引”标签。 在索引名中输入索引标识名,在类型的下拉列表框中确定一种索引类型,在表达式中输入索引关键字表达式,在筛选中输入确定参

7、加索引的记录条件,在排序序列下默认的是升序按钮,单击可改变为降序按钮。 注意:用表设计器建立的索引都是结构复合索引文件。,3索引文件的打开 【格式1】USE INDEX ORDER | | TAG OF ASCENDING | DESCENDING 【功能】打开指定的表文件及相关的索引文件 【说明】:如果中的第一个索引文件是单索引文件,则它是主索引文件,若第一个索引文件是复合索引文件,则表文件的记录将以物理顺序被访问。 :指定要打开的索引文件,索引文件中的文件扩展名可以省略,但如果存在同名的单索引文件和复合索引文件,必须带扩展名。,ORDER子句:指定主索引。选择此选项时,主索引文件将不是中的

8、第一个单索引文件,而是此选项指定的单索引文件或标识。ORDER子句中各选项的含义如下: 指定主索引的编号,若的值为0,表示不设主索引。 指定的单索引文件设置为主索引。 TAG OF :表示将中的指定标识作为主索引。OF 缺省表示为结构复合索引文件。, ASCENDING | DESCENDING:表示主索引被强制以升序或降序索引;缺省此选项,主索引按原有顺序打开。 【格式2】SET INDEX TO ORDER | | TAG OF ASCENDING | DESCENDINGADDITIVE 【功能】在已打开表文件的前提下,打开相关索引文件。 【说明】ADDITIVE:表示保留以前打开的索引

9、文件。否则,除结构复合索引文件外,以前打开的其他索引文件都将被关闭。 4索引文件的关闭 【格式1】USE 【功能】关闭当前工作区中打开的表文件及所有索引文件。,【格式2】SET INDEX TO 【功能】关闭当前工作区中打开的所有单索引文件和独立复合索引文件。 【格式3】CLOSE INDEXS 【功能】关闭当前工作区中打开的所有单索引文件和独立复合索引文件。 注意:结构复合索引文件不能用以上命令关闭,它随表文件的打开而打开,随表文件的关闭而关闭。 5改变主索引 【格式】SET ORDER TO | | TAG OF IN | ASCENDING | DESCENDING 【功能】重新指定打开

10、的索引文件中的主索引。 【说明】的值为指定主索引的编号。,如果的值为0或缺省,则恢复表文件的原始顺序,使所有打开的索引文件都无效。 【例】打开Spxx.DBF表文件及其相关索引文件,并指定结构复合索引文件中的商品名称为主控索引。 USE Spxx INDE Spxxsy ORDER TAG 商品名称 【例】打开Spxx.DBF表及其相关索引文件,改变主索引文件。 USE Spxx INDEX Spxx SET ORDER TO 商品名称 SET ORDER TO & 使所有索引均无效 6索引文件的更新 当表中的记录被修改时,系统会自动地更新所打开的索引文件,及时反映数据的变化。对于没有打开的索

11、引文件,索引不能自动更新。为避免使用旧的索引文件导致错误,应该使用重新索引命令更新已经建立的索引文件。,(1)命令方式 【格式】REINDEX 【功能】重新建立已索引过的索引文件。 【例】将表Spxx.DBF的索引文件重新索引。 USE Spxx SET INDEX TO Spxx REINDEX (2)菜单方式,7索引的删除 (1)标识的删除 【格式】DELETE TAG OF , OF . 或:DELETE TAG ALL OF 【功能】从指定的复合文件中删除标识 【说明】OF :指定复合索引文件名,若缺省,则为结构复合索引文件。 (2)单索引文件的删除,对表记录的查询系统提供了两类查询命

12、令:顺序查询和索引查询。 查询操作实际上就是起到了条件定位的作用。,查 询 命 令,1. 顺序查询 【格式】LOCATE FORWHILE 【功能】在表指定范围中查找满足条件的记录。 【说明】LOCATE 命令在表指定范围中查找满足条件的第一条记录。 :表示所需满足的条件。 :指定查找范围,缺省时为ALL,即在整个表文件中查找。 找到第一条满足条件的记录后,记录指针指向该记录,并将函数FOUND()(用于检测是否找到满足条件的记录)置为.T.;否则,记录指针指向的底部或文件结束标志,并且将函数FOUND()置为.F,并在状态栏给出提示信息“已到定位范围末尾”。,顺序查询,如果没有打开索引文件,

13、查找按记录号顺序进行。若打开了索引,查找按索引顺序进行。 该命令的最大特点是可以在没有进行排序或索引的无序表中进行任意条件的查询,这是索引查询做不到的,但在大型表中查询速度和效率也是最低的。 CONTINUE命令:LOCATE找到第一条满足条件的记录后,可以用CONTINUE继续查找下一个满足条件的记录。 CONTINUE命令必须在LOCATE命令之后使用。 【例】在Spxx.DBF中查找商品编号为160003的商品记录。 USE Spxx LOCATE FOR 商品编号=160003,2. 索引查询(SEEK) LOCATE命令用于按条件进行顺序定位,无论索引文件是否打开都可使用。 在打开索

14、引文件后,还可以用FIND、SEEK命令进行快速检索。,索引查询(SEEK),2SEEK命令 【格式】SEEK 【功能】在表文件的主索引中查找关键字值与值相匹配的第一个记录。 【说明】SEEK命令可以查找字符型、数值型、日期型、逻辑型表达式的值。,内存变量可以直接进行查询,不用进行宏替换。 表达式为字符串时,必须用定界符括起来。日期常量也必须用大括号括起来。 【例】用SEEK命令在Spxx.DBF中查找记录。 SET ORDER TO 商品名称 SEEK “统一鲜橙多 “,1. 统计记录数 【格式】COUNT FOR WHILE TO 【功能】用于统计当前表中指定范围内满足条件的记录个数。 【

15、说明】除非指定了或 FOR/WHILE ,否则将计算所有记录个数,如选择了 TO ,则可将计算结果保存在中,否则统计结果只在屏幕上显示。 若选择了SET TALK OFF将不显示统计结果。 【例】统计Spxx.DBF中的”办公用品”记录个数和表记录总数。,数据表的统计,USE Spxx COUNT FOR 类别=”办公用品” TO A COUNT TO B 2. 求和 【格式】SUM FOR WHILE TO | TO ARRAY 【功能】对指定范围内、满足条件的记录按指定的各个表达式分别求和。 【说明】缺省范围、条件表示全部记录。 缺省数值型表达式表,表示对库中所有数值型字段求和。 数值型表

16、达式表中表达式的个数应与内存变量的个数一致。,3. 求平均值 【格式】AVERAGE FOR WHILE TO | TO ARRAY 【功能】对当前表文件中指定范围内满足条件的记录,按指定的数值型字段计算平均值。 【说明】缺省范围、条件表示全部记录。 缺省数值型表达式表,表示对当前库中所有数值型字段求平均值。 数值型表达式表中表达式的个数应与内存变量的个数一致。 【例】分别计算Spxx.DBF中的各类别零售价的平均值。 USE Spxx AVER FOR 类别=”办公用品” TO B AVER FOR 类别=”饮料” TO C,4. 综合计算 【格式】CALCULATE FOR WHILE TO | TO ARRAY 【功能】对当前表文件中指定范围内满足条

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号