说明:
1.结构化复合索引文件的标识符优先于其它索引文件,因此表设计器的索引页面自动产生它们。其它类型的索引文件必须在命令窗口中建立。
2.单索引文件与非结构化复合索引文件都不能与表文件同名。
6. 使用命令创建索引:Index On <索引表达式> To <索引文件名>/Tag <索引名>[of<复合索引文件名>][ For <条件表达式>][Ascending] [Descending][Unique] [Candidate]
功能:按索引关键字的值建立单索引或复合索引文件,建立后自动打开。
例如:use xsxx
index on 性别 to xb &&创建单索引文件xb.idx
list
index on 学号 Tag xh &&创建结构复合索引文件xsxx.CDX
index on 学号 Tag xh of xh &&创建非结构复合索引文件xh.CDX
7. 索引的维护使用:(1).索引文件的打开:建立索引文件后,索引文件自动处于打开状态。结构化复合索引文件自动随表文件的打开而打开,表文件的关闭而关闭。
命令方式:Use <表文件名>Index <索引文件名表>:打开表的同时打开索引文件。
Set index to <索引文件名表>:打开表后打开索引文件
如:close all
use xsxx index xb &&打开表的同时打开索引文件
Set index to xb &&打开表后打开索引文件
(2)索引文件的关闭
Use:关闭表,与该表相关的索引文件自动关闭
Set Index to:关闭当前表的所有索引文件,不关闭表 。
Close Index:关闭所有索引文件,不关闭表。
(3)设置主控索引:当打开多个索引文件时,同一时刻只有一个索引起作用,该索引称为主控索引。
菜单方式:在浏览窗口为当前窗口时,表/属性…
命令方式:Set Order to [<数值表达式>|<单索引文件名>|[Tag]<索引标识>[Ascending|Descending]]
(4)重新索引:当表中数据修改时,打开的索引会自动修改以适应表的内容。单未打开的就要重新索引。
菜单方式:在浏览窗口为当前窗口时,表/重新建立索引
命令方式:Reindex
(5)删除索引
菜单方式:在表设计器的“索引”选项卡中删除不需要的索引标识
命令方式:Delete Tag all|<索引名表> :删除复合索引文件中的指定的索引。
Delete File<索引文件名>:删除磁盘中的索引文件。要先关闭索引文件。
8. 索引的排序: 1. 逻辑排序:按索引字段或索引表达式排序,并不改变表中记录的顺序,只是一种逻辑排序 。在Visual FoxPro系统环境下,用字段名建立索引,是对记录排序最常见的操作。一个表经常分别指定几个字段名建立索引,每一个索引表示一种表中记录的顺序。 在Visual FoxPro系统环境下,允许指定多个字段对记录排序,这时可以使用索引表达式,对表中的记录顺序进行重新排序。例如 :对xsxx.dbf按性别+str(入学成绩)建立升序索引
2.物理排序:命令格式:Sort To <新表名>On<字段名1>[/A]|[/D][/C][,<字段名2>[/A]|[/D][/C][<范围>][For|While<条件>]功能:将当前表的记录按指定字段的值排序,并将排序后的结果输出到一张新表中。 /A:升(默认);/D:降;/C:不区分大小写。
9. 查询与统计:(1)顺序查询: Locate For |While<条件>[<范围>] Display Continue
(2)索引查询(首先要打开索引文件):Seek <表达式>:将记录指针定位在与表达式值相匹配的第一条记录上。
如: set index to xb
list
seek "女"
display
? found()
seek " 女"
? found()
说明:(1).seek 只能在索引有效的情况下使用;
(2) seek后的表达式只能是与当前索引关键字相匹配的表达式,可以是数字型、字符型、逻辑型、日期型、日期时间型;