第6讲 第4章表的基本操作4[1].3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


1.打开索引文件(续)
(1)表和索引文件同时打开 ②如果第一个索引文件是复合索引文件,由 于包含多个索引标志,无法确定哪个索引标 志起作用,所以在打开后还要确定主索引, 否则对表进行操作时,数据记录仍按物理顺 序排列。

Visual Foxpro 程序设计教程
4.3.3 建立索引文件


1.用命令建立索引(续)
例 就学生表建立结构复合索引文件,其中包含2个 索引: (1)按学号的升序排列,不允许有编号相同的记录。 (2)先按性别升序,性别相同再按入学成绩降序排列。

USE 学生 INDEX ON 学号 TAG sy1 UNIQUE INDEX ON 性别+STR(1000 -入学成绩) TAG sy2

Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


2.确定主控索引
(3)[TAG] <索引标志名> [OF <复合索引文件名>] 用于指定一个已打开的复合索引文件中的一个索引 标志为主控索引。 (4)不带任何短语的SET ORDER TO命令可以取消 主控索引。

Visual Foxpro 程序设计教程
主索引
候选索引 中出现重复值的索引。一个 索引
表可以建立多个候选索引。
存储在.cdx结 构复合索引文 件中,与表文 件同时打开和 关闭。
惟一索引
普通索引
只在索引文件中保留第一 次出现的索引关键字值。
可存储在.cdx 独立复合索引 文件和.idx单 索引文件中
Visual Foxpro 程序设计教程
4.3 表的排序与索引

4.3.1 表的排序


4.3.2 索引
4.3.3 建立索引文件 4.3.4 索引文件的使用
Visual Foxpro 程序设计教程
4.3.3 建立索引文件


1.用命令建立索引 命令格式是: INDEX ON <索引表达式> TO <单索引文件名>|TAG <索引标志名> [OF <复合索引文件名>] [FOR <条件>] [COMPACT] [ASENDING|DESCENDING] [UNIQUE] [ADDITIVE]
4.3.4 索引文件的使用

使用索引文件后,虽然表中各记录的物理顺 序并未改变。但记录指针不再按物理顺序移 动,而是按主控索引文件中记录的逻辑顺序 移动,于是整个表中的记录是按索引关键表 达式值排序的效果。
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


使用索引文件时,还要特别注意以下几点: (1)在使用GO命令时,GO <数值表达式>使 记录指针指向具体的物理记录号,而与索引 无关,而GO TOP|BOTTOM将使记录指针指向逻 辑首或逻辑尾记录,这时GO TOP不再等同于 GO 1。 (2)SKIP命令按逻辑顺序移动记录指针。 (3)表被打开后,记录指针位于TOP位置, 而不一定指向1号记录。
4.3 表的排序与索引

4.3.1 表的排序


4.3.2 索引
4.3.3 建立索引文件 4.3.4 索引文件的使用
Visual Foxpro 程序设计教程
4.3.2 索引




1.索引的概念 排序由于要建立一个新的表,因此数据记录很多时, 既费时间,又占用磁盘空间。 索引并不是重新排列表记录的物理顺序,而是另外 形成一个索引关键表达式值与记录号之间的对照表, 这个对照表就是索引文件。索引文件中记录的排列 顺序称为逻辑顺序。索引文件发生作用后,对表进 行操作时将按索引表中记录的逻辑顺序进行操作, 对于用户来说,索引不但可以使数据记录重新组织 时节省磁盘空间,而且可以提高表的查询速度。
Visual Foxpro 程序设计教程
索引结构图示
按“学号”升序对表进行索引
Record# 1 2 3 4 5 6 7 学号 97020304 98010101 98010206 99010415 98010412 97020324 97010302 姓名 郭延 张为 房凯 赵有余 李小鹏 王悟菡 左红 性别 女 男 男 女 男 女 女 出生日期 04/06/72 03/05/70 12/12/78 03/24/79 05/06/78 11/14/72 06/07/78 … … … … … … … …
Visual Foxpro 程序设计教程
4.3.1 表的排序



例:就学生表,显示入学成绩最高的5名职工 的记录。 操作命令如下: USE 学生 SORT ON 入学成绩/D TO cjb USE cjb &&打开排序后生成的新表文件 LIST NEXT 5
Visual Foxpro 程序设计教程
Visual Foxpro 程序设计教程
逻辑顺序
单索引文件
逻辑顺序1 - 索引标志1 逻辑顺序2 - 索引标志2 逻辑顺序3 - 索引标志3 复合索 引文件
Visual Foxpro 程序设计教程
4.3.2 索引



2.索引文件的种类(续) 有一类特殊的复合索引文件叫做结构复合索引文件, 它的文件名与相应的表名相同,扩展名仍为.cdx。 结构复合索引文件的特殊性在于无论何时打开表, 该索引文件将由系统自动打开。这就意味着当对表 的记录进行修改时,全部索引也将自动更新。所以 一般情况下,使用结构复合索引是极为方便的。 复合索引将多个索引集中到一个索引文件,和单索 引相比,效率更高,使用更为方便。

4.3.1 表的排序


4.3.2 索引
4.3.3 建立索引文件 4.3.4 索引文件的使用
Visual Foxpro 程序设计教程
4.3.1 表的排序



排序是根据不同的字段对当前表的记录做出 不同的排列,产生一个新的表。 命令格式是: SORT TO <文件名> ON <字段1> [/A|/D][/C][,<字段2>[/A|/D][/C]…] [FIELDS <字段名表>] [<范围>] [FOR <条件>] [WHILE <条件>]
Visual Foxpro 程序设计教程


4.3.4 索引文件的使用



当有索引文件时,分析记录指针的移动规律。

USE 学生 INDEX ON 入学成绩 TO sy3 GO 6 ? RECNO(),姓名 &&显示6 李勤奋 SKIP ? RECNO(),姓名 &&显示5 欧阳天地


2.确定主控索引
命令格式是:
SET ORDER TO [<索引文件顺序号>|<单索引文件名 >]|[TAG] <索引标志名> [OF <复合索引文件名>]]
该命令指定表的主控索引文件或主控索引标 志。
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


2.确定主控索引
(1)<索引文件顺序号>表示已打开的索引文件的序 号,用以指定主控索引。单索引文件首先按打开的 先后顺序标识序号,然后,结构复合索引文件的索 引标志按其生成的顺序计数,最后是非结构复合索 引文件的索引标志按其生成的顺序计数。 (2)最好使用<单索引文件名>指定一个单索引文件 为主控索引文件,这样做比用索引文件顺序号更直 观。
Visual Foxpro 程序设计教程
4.3.3 建立索引文件

2.在表设计器中建立索引
表设计器中的“索引”选项卡
Visual Foxpro 程序设计教程
4.3 表的排序与索引

4.3.1 表的排序


4.3.2 索引
4.3.3 建立索引文件 4.3.4 索引文件的使用
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


1.打开索引文件(续)
(2)打开表后再打开索引文件 命令格式是: SET INDEX TO [<索引文件名表>] [ADDITIVE] 该命令功为当前表打开一个或多个索引文 件。
Visual Foxpro 程序设计教程

4.3.4 索引文件的使用来自1.打开索引文件(续)

4.3.4 索引文件的使用


1.打开索引文件(续) (1)表和索引文件同时打开 命令格式是: USE <表文件名> INDEX <索引文件名表>
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用


1.打开索引文件(续) (1)表和索引文件同时打开 ①<索引文件名表>可以包含多个索引文件, 这些索引文件可以是单索引文件,也可以是 复合索引文件。其中只有第一个索引文件对 表的操作起控制作用,称为主索引文件。
4.3.4 索引文件的使用


1.打开索引文件
索引文件必须先打开才能使用。结构复合索 引文件随相关表的打开而自动打开,但单索 引文件和非结构复合索引文件必须由用户自 己打开。 打开索引文件有两种方法,一种是在打开表 的同时打开索引文件,另一种是在打开表后, 需要使用索引时,再打开索引文件。
Visual Foxpro 程序设计教程
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用



4.删除索引
命令格式是: DELETE FILE <索引文件名> DELETE TAG ALL|<索引标志名表> 第一种格式的命令用于删除一个单索引文件。 第二种格式的命令用于删除打开的复合索引文件的 所有索引标志或指定的索引标志。如果一个复合索 引文件的所有索引标志都被删除,则该复合索引文 件也就自动被删除了。
Visual Foxpro 程序设计教程
单一索引文件 (.IDX) 索引文件 结构复合索引文件 (与相关表文件同名)
复合索引文件 (.CDX)
非结构复合索引文件
(与相关表文件不同名)
Visual Foxpro 程序设计教程
3.索引的类型
不允许在指定字段和表达 式中出现重复值的索引。 只有数据表才能建立。 不允许在指定字段和表达式
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用



3.关闭索引文件

命令格式是: CLOSE INDEX SET INDEX TO 该命令关闭当前工作区内所有打开的索引文件。但 结构复合索引文件不能关闭,它随表的关闭而自动 关闭。 此外,使用无任何选项的USE命令,除了关闭当前工 作区的表外,也关闭了与之相关的索引文件。
该命令对当前表建立一个索引文件或增加索引标志。
Visual Foxpro 程序设计教程
4.3.3 建立索引文件


1.用命令建立索引(续) 例 用建立索引文件的方法,就学生表,显 示入学成绩最高的5名职工的记录。 USE 学生 INDEX ON -入学成绩 TO sy LIST NEXT 5
Visual Foxpro 程序设计教程
(2)打开表后再打开索引文件 ①省略任何选项而直接使用SET INDEX TO, 将关闭当前工作区中除结构复合索引文件之 外的全部索引文件。 ②若省略ADDITIVE选项,则在使用该命令打 开索引文件时,除结构复合索引文件之外的 索引文件均被关闭。
Visual Foxpro 程序设计教程


4.3.4 索引文件的使用
Visual Foxpro 程序设计教程
第4章 表的基本操作
Visual Foxpro 程序设计教程
第4章

表的基本操作
4.1 表的建立


4.2 表的显示与维护
4.3 表的排序与索引 4.4 表的统计与计算 4.5 多个表的操作
Visual Foxpro 程序设计教程
4.3 表的排序与索引
Visual Foxpro 程序设计教程
4.3.4 索引文件的使用
关键字 97010302 97020304 97020324 98010101 98010206 98010412 99010415
记录号 7 1 6 2 3 5 4
索引(逻辑顺序)
表文件(物理顺序)
Visual Foxpro 程序设计教程
4.3.2 索引



2.索引文件的种类 (1)单索引文件。单索引文件是指一个索引文件中 只能保存一个索引,其扩展名为.idx。单索引文件 有普通的和压缩的两种。压缩的索引文件可以使索 引文件少占存储空间。 (2)复合索引文件。复合索引文件可以存储多个索 引,其扩展名为.cdx。复合索引文件中的每个索引 用一个索引标志(Index Tag)来表示。一个复合 索引文件中可包含的索引的数目亦即索引标志的数 目仅受内存空间的限制。复合索引文件一定是压缩 的索引文件。
相关文档
最新文档