第6章 索引与排序.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 索引和排序 索引(INDEX)可以对表中的记录进行逻辑排序,排序(SORT)可以对表中的记录进行物理排序。 本章知识点 了解索引 建立索引 打开和关闭索引文件 设置当前索引文件 利用索引快速查询 建立排序 重点: 建立索引 建立排序 难点: 建立索引 6.1 了解索引 索引可以按照一定的规则重新排列表中的记录,并将排序结果形成索引文件。索引文件是一个二维列表,其中仅有二列数据:关键字值和记录的物理位置。关键字值是包含有字段的排序规则表达式,记录的物理位置指向关键字值在表中所在的物理位置。 例如,在表6-1所示的Student表中,若要根据入学成绩(entrancescore)的高低重新排序显示表中的记录,用户可以根据entrancescore字段来建立索引文件。建立好的索引文件如表6-2所示。 需要注意的是:索引并未改变表中记录的物理位置。正是基于这样的理由,我们通常将索引称为对表的逻辑排序。但是,当用户将建立好的索引文件打开以后,记录的显示顺序或读取处理记录的顺序将会按照索引文件排列的记录顺序进行。特别是由于索引的作用,大大提高了记录的检索速度。 用户可以为一个表同时建立多个索引文件,每个索引文件表示处理记录的不同顺序。 在 Visual FoxPro中,索引文件可以分为两大类:复合索引文件(.CDX)和单一索引文件(.IDX)。复合索引文件又可以进一步分为结构复合索引文件和非结构复合索引文件。 单一索引文件的内部结构如图6-1所示。单一索引文件的扩展名为.IDX。 复合索引文件的内部结构如图6-2所示。从图中可以看到复合索引文件可以由多个关键字值和其对应的多个记录的物理位置构成。每一个关键字值和其对应的记录的物理位置构成了一个索引标识(TagName)。 在复合索引文件中,每一个索引标识等价于一个单一索引文件。换句话说,复合索引文件等价于多个单一索引文件。复合索引文件的扩展名为.CDX。 复合索引文件又可以进一步细分为结构复合索引文件和非结构复合索引文件。 结构复合索引文件的文件名称与相关的表同名,另外结构复合索引文件将随着相关表的打开而自动打开。 。 非结构复合索引文件的文件名称与相关的表不同名,另外非结构复合索引文件不会随着相关表的打开而自动打开,要由用户自行打开 6.2 建立索引 在Visual FoxPro中,为表建立索引可以采用两种方法来完成: l????在表设计器中通过直观的操作来建立索引 l????使用INDEX命令来建立索引 INDEX命令用来为当前的表建立一个索引文件。该索引文件可以是单一索引文件,也可以是结构复合索引文件或非结构复合索引文件。 6.2.1 建立单一索引 要建立单一索引文件,应在INDEX命令中使用 TO <IDXFileName>参数。 格式: Use 表(加路径) Index on 字段 to 文件名.idx 【例】 若要为Student表根据entrancescore字段建立单一索引文件(单一索引文件名为Entr.IDX),那么应执行如下命令: USE d:\sy\Student INDEX ON entrancescore TO Entr.IDX 其中,entrancescore为索引关键字表达式,Entr.IDX为单一索引文件名。 利用INDEX命令建立好单一索引文件以后,该单一索引文件自动处于打开状态并作为当前索引生效。 另外,对于单一索引而言,仅能建立升序单一索引文件,无法建立降序单一索引文件。但是我们可以利用INDEX命令的索引关键字表达式来建立一个逻辑上的降序单一索引文件。 【例】 若要为Student表根据entrancescore字段建立逻辑上降序的单一索引文件(单一索引文件名为EntrDec.IDX),那么应执行如下命令: USE Student INDEX ON –1*entrancescore TO EntrDec.IDX 在建立好EntrDec.IDX单一索引文件以后,可以使用LIST命令显示 Student表中的记录。我们可以看到记录将按照入学成绩由大到小的降序方式显示。 但是这并不意味着可以使用 INDEX命令建立真正意义上的降序单一索引文件,而只是利用索引关键字表达式建立了一个逻辑上降序的单一索引文件。 6.2.2 建立结构复合索引 要建立结构复合索引,应在INDEX命令中使用 TAG<TagName>参数。 格式: Use 表(加路径) Index on 字段 tag 标识名 【例】 若要为Student表根据name字段建立结构复合索引文件(结构复合索引文件名

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档