表经过排序,使无序记录变为有序记录,但在表中插入新记录后又会变成无序,需要重新做排序操作,又会生成新的排序文件,使用非常不方便。索引技术不对表作物理排序,不生成新表,而是通过建立表文件的索引文件从逻辑上进行排序。在索引文件中,只记入索引表达式(又称关键字)的值及其记录地址。我们要从一本书中查找内容,一种方法是从头到尾逐页查找,直到找到为止;另一种方法是通过书的目录,从目录中得到要查找内容的页号,可迅速找到该内容。索引就如同图书的目录,根据关键字值及地址,可迅速定位到该记录。表文件在使用索引文件后,既加快了查询速度,当有记录增删时还能自动对索引文件进行调整。
索引文件分为两类:独立索引和复合索引。
一。独立索引:如果一个索引存放在一个索引文件,这种索引文件称为独立索引文件,扩展名为。idx.如果一个表需要多种索引顺序时,使用独立索引就要建立多个索引文件,操作和维护都不方便。
二。复合索引:如果若干个索引存放在同一个索引文件中,这种索引文件称为复合索引文件,扩展名为。cdx.在复合索引文件中,如果索引文件主名与表文件主名相同,称为结构化复合索引,否则称为非结构化复合索引。使用"表设计器"建立的索引肯定是结构化复合索引。
三。索引的类型:
(1).主索引:主索引的关键字,其表中所有记录的值必须惟一。例如:"职工档案"表中,"编号"字段可作为主索引的索引关键字,因为每个人的"编号"肯定是惟一的,而"姓名"字段不可作主索引的索引关键字,因为可能有重名的情况。只有数据库表可建主索引,且一个数据库表只有建一个主索引。
(2).候选索引:候选索引的关键字,其表中所有记录的值必须惟一。一个表可建多个候选索引,且数据库表和自由表均可建候选索引。
(3).普通索引:普通索引的关键字,其表中记录的值可以重复。一个表可建多个普通索引,数据库表和自由表均可建普通索引。
(4).惟一索引: 惟一索引的关键字,其表中记录的值可重复,但在索引文件中仅保留重复值记录的第一个。
四。使用"表设计器"建立索引
例:为"工资情况"根据"编号"建立主索引,根据"工资"建立普通索引,降序排列。
(1).use 工资情况
modi structure
上述操作,也可在项目管理器中,选中"工资情况"表,单击右侧的"修改"按钮。
(2).在"表设计器"中,切到"索引"选项卡,分别输入索引名和关键字,如图17.
注意:因为要求"工资"降序排序,我们应点一下"工资"索引名左侧的箭头,该箭头向下,即为降序排序。如果要删除某个索引,可以先将光标定于该索引的索引名文本框中,单击右侧的"删除"按钮。
Visual FoxPro基础教程完整版
下一篇 CSS+DIV定位浅析