在Visual FoxPro 6.0 中,系统为数据库表提供了四种类型的索引:主索引、候选索引、惟一索引和普通索引,为自由表提供了三种类型的索引:候选索引、惟一索引和普通索引。可使用表设计器中的索引选项卡来建立索引,如图3-1所示。

图3-1 用表设计器为一个自由表建立索引
在Visual FoxPro 6.0 中,主索引是一个永远不允许在指定字段和表达式中出现重复值的索引,也就是在数据库表的永久关联中建立参照完整性时主表和被引用表使用的索引。对于每一个表只能建立一个主索引,只有数据库表才能建立主索引,自由表不能建立主索引。另外,如果将一个字段指定为建立主索引的关键字段,那么当这个字段中出现重复值时,系统将会出现一个错误。
候选索引也是在一个指定字段和表达式中不能出现重复值的索引,之所以将它命名为候选索引,主要是因为这种索引是作为一个表中主索引的候选者出现的。
对一个表而言,尽管只允许有一个主索引,但它的候选索引却可以有许多。而且也可以用它们在永久关联中建立参照完整性。
数据库表和自由表都可以有候选索引。
对于一个表,其主索引和候选索引都储存在.CDX结构复合索引文件中,同时也存储在数据库的Primary 和Candidate特性中,但是它不能存储在.CDX独立复合索引文件和.IDX索引文件中。这主要是因为主索引和候选索引必须和表同时打开和同时关闭,而.CDX独立复合索引文件和.IDX单项索引文件却不能做到这一点。