2.7 使用“表设计器”建立索引
( O O% J* @6 ]& D& j 表经过排序,使无序记录变为有序记录,但在表中插入新记录后又会变成无序,需要重新做排序操作,又会生成新的排序文件,使用非常不方便。索引技术不对表作物理排序,不生成新表,而是通过建立表文件的索引文件从逻辑上进行排序。在索引文件中,只记入索引表达式(又称关键字)的值及其记录地址。我们要从一本书中查找内容,一种方法是从头到尾逐页查找,直到找到为止;另一种方法是通过书的目录,从目录中得到要查找内容的页号,可迅速找到该内容。索引就如同图书的目录,根据关键字值及地址,可迅速定位到该记录。表文件在使用索引文件后,既加快了查询速度,当有记录增删时还能自动对索引文件进行调整。! g, u6 x! D% y: }
索引文件分为两类:独立索引和复合索引。
0 ]& e3 P& D' x! T! Q, V8 c 一。独立索引:如果一个索引存放在一个索引文件,这种索引文件称为独立索引文件,扩展名为。idx.如果一个表需要多种索引顺序时,使用独立索引就要建立多个索引文件,操作和维护都不方便。9 p# O2 O- |. j, |) `
二。复合索引:如果若干个索引存放在同一个索引文件中,这种索引文件称为复合索引文件,扩展名为。cdx.在复合索引文件中,如果索引文件主名与表文件主名相同,称为结构化复合索引,否则称为非结构化复合索引。使用"表设计器"建立的索引肯定是结构化复合索引。
, l1 ]; T% h: d) a" i 三。索引的类型:1 i T& H( t/ k5 I$ x
(1).主索引:主索引的关键字,其表中所有记录的值必须惟一。例如:"职工档案"表中,"编号"字段可作为主索引的索引关键字,因为每个人的"编号"肯定是惟一的,而"姓名"字段不可作主索引的索引关键字,因为可能有重名的情况。只有数据库表可建主索引,且一个数据库表只有建一个主索引。' h1 x. F* r3 E2 R: `
(2).候选索引:候选索引的关键字,其表中所有记录的值必须惟一。一个表可建多个候选索引,且数据库表和自由表均可建候选索引。
' C0 O F4 V0 I) P (3).普通索引:普通索引的关键字,其表中记录的值可以重复。一个表可建多个普通索引,数据库表和自由表均可建普通索引。; z% L! x9 z- O, i7 \" k Y
(4).惟一索引: 惟一索引的关键字,其表中记录的值可重复,但在索引文件中仅保留重复值记录的第一个。
- k$ ]0 b- q& d 四。使用"表设计器"建立索引3 l, N& Q5 L8 L( e
例:为"工资情况"根据"编号"建立主索引,根据"工资"建立普通索引,降序排列。
% _# K. g6 B* w4 X6 X! z" E! k (1).use 工资情况
4 d h6 l2 R, A" u) i0 ^ modi structure$ r9 s. j0 F1 G& u/ F( _
上述操作,也可在项目管理器中,选中"工资情况"表,单击右侧的"修改"按钮。
- f1 k8 o7 A" G) ^, w' Z( Z (2).在"表设计器"中,切到"索引"选项卡,分别输入索引名和关键字,如图17.
9 d: c U3 Z/ Y
$ w9 H5 }/ @& z; N8 [ 注意:因为要求"工资"降序排序,我们应点一下"工资"索引名左侧的箭头,该箭头向下,即为降序排序。如果要删除某个索引,可以先将光标定于该索引的索引名文本框中,单击右侧的"删除"按钮。 |