2.7 使用“表设计器”建立索引 表经过排序,使无序记录变为有序记录,但在表中插入新记录后又会变成无序,需要重新做排序操作,又会生成新的排序文件,使用非常不方便。索引技术不对表作物理排序,不生成新表,而是通过建立表文件的索引文件从逻辑上进行排序。在索引文件中,只记入索引表达式(又称关键字)的值及其记录地址。我们要从一本书中查找内容,一种方法是从头到尾逐页查找,直到找到为止;另一种方法是通过书的目录,从目录中得到要查找内容的页号,可迅速找到该内容。索引就如同图书的目录,根据关键字值及地址,可迅速定位到该记录。表文件在使用索引文件后,既加快了查询速度,当有记录增删时还能自动对索引文件进行调整。 n! Q( Z" _+ |$ ]0 ~. [, d0 I3 U
索引文件分为两类:独立索引和复合索引。% a# \7 v5 }$ O$ m2 _* Y: y1 c
一。独立索引:如果一个索引存放在一个索引文件,这种索引文件称为独立索引文件,扩展名为。idx.如果一个表需要多种索引顺序时,使用独立索引就要建立多个索引文件,操作和维护都不方便。, `: Y9 W% [$ e) [$ T1 d" L
二。复合索引:如果若干个索引存放在同一个索引文件中,这种索引文件称为复合索引文件,扩展名为。cdx.在复合索引文件中,如果索引文件主名与表文件主名相同,称为结构化复合索引,否则称为非结构化复合索引。使用"表设计器"建立的索引肯定是结构化复合索引。
% G1 X: z' s$ J5 W; M5 i7 ^2 y 三。索引的类型:* H' Y) R7 c. c. a4 F
(1).主索引:主索引的关键字,其表中所有记录的值必须惟一。例如:"职工档案"表中,"编号"字段可作为主索引的索引关键字,因为每个人的"编号"肯定是惟一的,而"姓名"字段不可作主索引的索引关键字,因为可能有重名的情况。只有数据库表可建主索引,且一个数据库表只有建一个主索引。
4 s s s, U( {$ T6 d (2).候选索引:候选索引的关键字,其表中所有记录的值必须惟一。一个表可建多个候选索引,且数据库表和自由表均可建候选索引。
; b2 y) a4 `4 {- c0 x5 T2 a# b$ P (3).普通索引:普通索引的关键字,其表中记录的值可以重复。一个表可建多个普通索引,数据库表和自由表均可建普通索引。# Q: E& a7 R( d, `
(4).惟一索引: 惟一索引的关键字,其表中记录的值可重复,但在索引文件中仅保留重复值记录的第一个。
: S: E5 X' {1 I# i( f( t$ f6 R: J 四。使用"表设计器"建立索引' P; q2 {! H* a& D5 X' B6 V
例:为"工资情况"根据"编号"建立主索引,根据"工资"建立普通索引,降序排列。! Z4 P& d4 I- W; {! V. p2 a
(1).use 工资情况6 h. w, ]) M/ r3 g6 b. P
modi structure1 n: [6 |% H `# J y- f) O
上述操作,也可在项目管理器中,选中"工资情况"表,单击右侧的"修改"按钮。3 D3 c( l! e4 ~3 L& g7 {: @
(2).在"表设计器"中,切到"索引"选项卡,分别输入索引名和关键字,如图17. C2 a6 R& j4 a7 w0 N
6 j" u; i# C! z% z) `% E& S6 g6 W% A3 T
注意:因为要求"工资"降序排序,我们应点一下"工资"索引名左侧的箭头,该箭头向下,即为降序排序。如果要删除某个索引,可以先将光标定于该索引的索引名文本框中,单击右侧的"删除"按钮。 |