在Visual FoxPro 6.0中,惟一索引无法防止重复值记录的建立,但是,在惟一索引中,系统只在索引文件中保存第一次出现的索引键值,即只能找到同一个关键值第一次出现时的记录。对于重复键值的其他记录,尽管他们仍然保留在表中,但在惟一索引文件中却没有包括它们。惟一索引主要是为了向下兼容而提供的。
数据库表和自由表都可以有惟一索引。
普通索引是一个简单的索引,是惟一索引、主索引和候选索引之外的另一种索引。在普通索引中,索引关键字段和表达式允许重复值的出现,可以用普通索引进行表中记录的排序和搜索。正是由于普通索引文件中不排斥重复索引关键值的出现,因此不但适合可重复键值表中的定序和搜索,也适合于一对多永久关联中“多”的一边(子表)的索引。
普通索引主要用于逻辑排序,以便快速查询。
在Visual FoxPro 6.0 中,只有惟一索引和普通索引可以存放在.CDX独立复合索引文件和.IDX单项索引文件中。
在介绍索引文件之前,现在先介绍两个概念:
索引关键字是用来建立索引的字段表达式。
Visual FoxPro 6.0 使用索引关键字来显示和访问表中的记录。如果令某一字段为索引关键字,则在浏览表时,记录则按此字段的顺序排列。索引关键字通常是一个字段或字段表达式。虽然不提倡,但是也可以用以下各项的组合作为索引关键字:函数、内存变量、其他工作区中的字段、数组元素。
索引标识是关键字的名称。
索引标识可以自己指定,但必须以下划线、字母或汉字开头,而且不能超过10个字节。例如:可以建立“职工号+姓名”为索引标识,此索引标识也可写成“职姓”。
Visual FoxPro 6.0 的索引文件有两种:传统的.IDX索引文件和复合索引文件.CDX文件。.IDX索引文件只有一个索引关键字表达式,即只有一个入口。复合索引文件包含了多个索引关键字表达式,就好像是把多个.IDX索引文件合并成为一个文件。
结构复合索引文件的扩展名为.CDX,它是在表设计器中创建索引时系统自动生成的,如图3-2所示建立的索引就是结构复合索引,而且系统会把表设计器的索引保存在该表中。
结构复合索引文件名与相关的表同名,而且随着表的打开关闭而打开关闭。当用户对表中的记录进行添加、修改或删除等操作时,系统会自动维护.CDX结构复合索引文件,使其和新的.DBF文件相匹配。因为Visual FoxPro 6.0能自动维护修改改索引文件,使用户对表记