实训5 索引记录
跟我做
实训要求
- 掌握建立索引的方法
- 掌握使用索引的方法
实例1 以“图书”表的“图书ID”字段为关键字建立主索引。
操作步骤:
(1)打开“图书”表的表设计器。
(2)在“索引”选项卡的“索引名”处输入索引名,例如,“图书编号”和“类型”为“主索引”,选择升序排序,索引关键字表达式为“图书ID”,如图2-16所示。
图2-16 “索引”选项卡
(3)单击“确定”按钮,保存创建的索引。
实例2 使用命令方式,以“图书”表的“书名”字段为关键字建立候选索引。
键入命令:
USE 图书 INDEX ON 书名 TAG 书名 CANDIDATE
上述建立的结构复合索引,索引的类型可以在表设计器的“索引”选项卡中观察到。
实训3 使用命令方式,以“图书”表的“作者ID”字段为关键字建立普通索引。
键入命令:
USE 图书 INDEX ON 作者ID TAG 作者ID
上述命令是在结构复合索引中添加了一个对“作者ID”字段的索引项,索引名为“作者ID”。
实例4 使用命令方式,以“图书”表的“书名+作者ID”为关键字建立非结构复合索引,索引文件名为“SMZZ”。
键入命令:
USE 图书 INDEX ON 书名+作者ID TAG SZ OF SMZZ
上述命令建立非结构复合索引文件,索引名为SZ。
以上建立的索引可以在表设计器的“索引”选项卡中观察到,如图2-17所示。
图2-17 “索引”选项卡
实例5 在上述创建的索引中,指定索引名“书名”为主控索引。
键入命令:
SET ORDER TO 2
在“浏览”窗口可以观察到记录按“书名”升序排列。上述命令也可以改写为:
SET ORDER TO TAG 书名
键入命令:
SET ORDER TO TAG 书名 DESCENDING
则表记录按“书名”降序排列,如图2-18所示。
图2-18 “图书”表记录按书名降序排列
实例6 在“图书”表中索引查找作者ID是“W120”的记录。
通过图书索引查找“作者ID”,所以必须打开相应的索引文件,并设置“作者ID”为主控索引。
键入命令:
USE 图书 &&打开表的同时,打开了结构复合索引文件 SET ORDER TO TAG 作者ID SEEK "W120" ? RECNO() 3 DISPLAY
屏幕显示:
SET INDEX TO &&关闭索引
实例7 删除索引名是“书名”的索引。
USE 图书 DELETE TAG 书名
则删除了索引名是“书名”的索引。
想一想
两个表的普通索引项能否建立连接关系?
练一练
1.填空题
(1)同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是______,这种索引称为______。
(2)在Visual FoxPro 6.0中,索引分为______、______、______和______4种类型。
(3)复合索引文件分为______和______两种类型。
(4)在索引文件中查找记录的命令是______。
(5)使用命令在结构复合索引添加一个对“书名”字段的索引项,索引名为“sm”,则命令为:INDEX______书名______sm
(6)在Visual FoxPro中,数据库表中不允许有重复记录是通过指定______来实现的。
(7)SEEK命令可以进行快速定位,使用该命令的前提条件是打开表文件及相关的______。
2.选择题
(1)与表文件同名,但其扩展名为.cdx的文件是与该表对应的( )。
A.结构复合索引文件 B.非结构复合索引文件
C.单索引文件 D.压缩索引文件
(2)下列文件都是表“RS.dbf”的索引文件,在打开该表时自动打开的索引文件是( )。
A.RS.idx B.RSZC.cdx C.RS.cdx D.无
(3)下列关于.idx和.cdx索引文件的描述,正确的是( )。
A..idx是FoxBASE建立的索引文件,.cdx是FoxPro建立的索引文件
B..idx是只含一个索引关键字的索引文件,.cdx是含多个索引标识的复合索引文件
C..idx是含多个索引关键字的复合索引文件,.cdx是只含一个索引标识的复合索引文件
D.两者无区别
(4)若建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是( )。
A.主索引 B.唯一索引 C.候选索引 D.普通索引
(5)在表设计器的“字段”选项卡中可以创建的索引是( )。
A.唯一索引 B.候选索引 C.主索引 D.普通索引
(6)打开一个建立了结构复合索引的数据表,表记录的顺序将按( )。
A.第一个索引标识 B.最后一个索引标识
C.主索引标识 D.原顺序
(7)可以随表的打开而自动打开的索引是( )。
A.单索引文件 B.复合索引文件
C.结构化复合索引文件 D.非结构化复合索引文件
(8)对数据表建立性别(C,2)和年龄(N,2)的复合索引时,正确的索引关键字表达式为( )。
A.性别+年龄 B.性别+STR(年龄,2)
C.性别+STR(年龄) D.性别,年龄
(9)允许出现重复字段值的索引是( )。
A.候选索引和主索引 B.普通索引和唯一索引
C.候选索引和唯一索引 D.普通索引和候选索引
(10)下列关于索引的描述中,错误的是( )。
A.结构和非结构复合索引文件的扩展名均为.CDX
B.结构复合索引文件随表的打开而自动打开
C.一个数据库表仅能创建一个主索引和一个唯一索引
D.结构复合索引文件中的索引在表中的字段修改时,自动更新
动手做
1.对“读者”表以出生日期字段为关键字建立单索引文件。
2.设置“读者”表中的“借书证号”为主索引。
3.设置“借阅”表中的“借书证号+图书ID”为主索引,索引名为JT。
4.以“读者”表的“职称”字段为关键字建立结构复合索引,索引名为ZC,普通索引,降序排列。
5.以“读者”表的“姓名”字段为关键字建立非结构复合索引的普通索引,索引文件名为“XM.cdx”。
6.设置“读者”表中索引名为ZC的索引为当前索引。
7.索引查找职称为“工程师”的首记录。