VFP基础教程 第三章 表的创建和使用
来源: 作者: 出处:综艺读书 2006-05-043.5 表的索引
1. 基本概念
记录的顺序 :
物理顺序:即表中记录的存储顺序。用记录号表示。
逻辑顺序:表打开后被使用时记录的处理顺序。
索 引:
指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。
索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。
注意:1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;
2)不同类型字段构成一个表达式时,必须转换数据类型。
索引标识(索引名):
即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。
索引类型:主索引、候选索引、普通索引、唯一索引。
主索引:
组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
候选索引:
在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引。
普通索引:
也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。
唯一索引:
参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。
2. 索引的作用
|
用途 |
采用的索引类型 |
|
排序记录,以便显示、查询或打印 |
使用普通索引、候选索引或主索引 |
|
在字段中控制重复值的输入并对记录排序 |
对数据库表使用主索引或候选索引,对自由表使用候选索引 |
|
准备设置表关系 |
依据表在关系中所起的作用,使用普通索引、主索引或候选索引 |
3.索引文件的种类
|
索引文件种类 |
特征 |
关键字数目 |
限制 |
|
结构复合索引文件 .CDX |
使用和表文件名相同的基本名,随表的打开自动打开。可以看成表结构的一部分。 |
多关键字表达式,称为标识。 |
有效表达式限制在 240 个字符之内。 |
|
非结构复合索引文件 .CDX |
必须明确地打开,使用和表名不同的基本名。其中不能创建主索引 |
多关键字表达式,称为标识。 |
有效表达式限制在 符之240 个字内。 |
|
独立索引文件 .IDX |
必须明确地打开,文件的基本名由用户定义。一般作为临时索引文件。 |
单关键字表达式。 |
有效表达式限制在 100 个字符之内。 |
结构复合索引文件(扩展名为.CDX)的特点:
.在创建索引标识时自动创建。
.在打开表时自动打开。
.在同一索引文件中能包含多个排序方案,或索引关键字。
.在添加、更改或删除记录时自动维护。
4. 创建结构复合索引
VFP中创建索引文件有两种方式:表设计器方式和命令方式。
(1)表设计器方式
打开表文件 →从显示菜单中选择表设计器 → 在表设计器中单击索引 → 输入索引名并选择索引类型 → 选择索引的方向(按升序或降序排列记录) → 在表达式框中输入作为排序依据的索引关键字 → 在筛选框中输入筛选表达式 → 单击确定,完毕。
(2) 命令方式
|
命令 |
功能 |
|
INDEX ON <索引关键字段> TAG <索引标识>[FOR 条件 ] [ASCENDING | DESCENDING] [CANDIDATE | UNIQUE] |
用INDEX ON 命令建立一个索引文件 |
|
ALTER TABLE <表名> ADD PRIMARY KEY <关键字段名> TAG <索引标识名> |
用SQL命令创建主索引 |
|
ALTER TABLE <表名> ADD UNIQUE <关键字段名>TAG <索引标识名> |
用SQL命令创建候选索引 |
注意:1)备注型字段和通用型字段不能作为索引关键字段;
2)不要建立无用的索引,以免降低系统性能;
3)及时清理已无用索引标识,提高系统效率。
4)在复合索引的多个索引中,某一时刻只有一个索引对表起作用。
5. 索引的修改和删除
修改: 打开表设计器,在索引对话框中进行所需修改;
或 用命令重新建立一个相同标识名而索引表达式不同的索引。
删除: 打开表设计器,在索引对话框中删除不需要的索引标识即可;
或 用命令: DELETE TAG ALL | 索引标识1 [, 索引标识2 ] …
删除不需要的索引标识,ALL表示全部标识。
6. 索引的使用
|
功能 |
命令格式 |
| 打开表的同时指定主控索引 |
USE <表名> ORDER <标识名> |
| 为已打开的表确定主控索引 |
SET ORDER TO <标识名> [ASCENDING | DESCENDING] ] |
| 搜索某张已建立索引的表 |
FIND <表达式> |
| 搜索表中首次出现的记录 |
SEEK <表达式> [ <索引标识名>] |
|
SEEK <表达式> |
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
|
|||||
| ·Windows Vista ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·服务器存储专栏 ·Wlan组网----家庭专题 |
·综合布线工程案例 ·Linux服务器的安全性能 ·iSCSI应用与发展 ·电脑死机原因及解决办法 ·SOA 面向服务架构 ·Zope应用开发指南 ·XML详解 ·J2SE开发应用 |
||||
| · AMD董事长年薪1610万美元 · 胡润富豪榜4位女老总遭勒索 · 爱立信中国区副总屠敏离职 |
· 绝对好使的电脑超级技巧 · 想不到浏览器还有这个功能 · 小技巧:宿舍里自娱自乐 |
| · DIY系统:打造移动Win XP · 杂牌摄像头也玩Vista · 在WinXP上运行Vista边栏 |
· 克隆软件Ghost初级使用教程 · [图解]Norton Partition · PowerPoint技巧大集合 |
| · 在VC++应用程序中读取文本 · 使用JBuilder2007开发Web.. · 熊猫烧香核心源码(Delphi) |
· 经验:ASP与存储过程解析 · 节选:快速进入AJAX开发 · Javascript+ASP作无刷新.. |
| · 在Linux 环境下安装 Mysql · Oracle在基于Window操作.. · 每天备份mysql数据的脚本 |
· Photoshop抠图:飘逸秀发.. · 告别雀斑!一个接近自然的 · 用Photoshop美化美女摄像头 |




