- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VF数据库第八章索引及记录操作
8.1 索引概述;第8章 索引及记录操作;2、索引的种类
根据关键字段值是否重复可将索引分为四种类型:主索引、候选索引、惟一索引、普通索引。
主索引:索引表达式的值唯一能够标识每个记录的索引,即索引表达式的值不允许重复。主索引只能在数据库表中建立,一个表只能创建一个主索引。
候选索引:索引表达式的值不允许重复、有资格被选做主索引的索引。数据库表和自由表都可以建立侯选索引,一个表可以有多个候选索引。
普通索引:是除了上面几种索引之外的一种索引,它允许索引关键字有重复的值,对有相同索引表达式值的记录按原有的先后顺序集中排列在一起。
惟一索引:允许索引关键字有重复的值的索引,当有重复值出现时,索引文件只保存重复的第一次值。;3、创建索引
1)利用表设计器创建索引
2)利用命令创建索引
A、创建非结构索引
INDEX ON 索引表达式 To 索引文件名
[FOR条件表达式] [ASCENDING]
[Descending]
命令功能:为当前表按索引表达式 的值建立一个非结构索引文件,索引文件扩展名.IDX。
例1:将学生档案表.DBF数据表信工系(学号第3位为2)
的学生按学号升序建立非结构索引文件xh.idx。
USE 学生档案表
INDEX ON 学号 TO xh FOR SUBS(学号,3,1)=”2”
ascending
当索引建立后,新建立的索引文件将自动打开且处于
主索引的位置,记录随即按该索引顺序来排列。
;B、创建结构索引
INDEX ON 索引表达式 TAG索引标识名
[FOR条件表达式] [ASCENDING|DESCENDING][Unique][Candidate]
说明:
①TAG索引标识名:结构化索引文件每个索引都必须有一
个索引标识。
②记录的顺序默认为升序,也可用“Ascending”表示,降序用“Descending”;][Unique]建立唯一索引,[Candidate]建立候选索引,否则建普通索引 。
例: 将学生档案表.dbf按籍贯和高考成绩降序索引,索引标识为jgcj,按学号升序索引,索引标识为xh,建立结构化复合索引文件。
USE 学生档案表
index on 籍贯+str(高考成绩,5) desc tag jgcj
index on 学号 tag xh
;8.2建立表间的关联关系;8.3 记录排序;命令方式:
(1)命令格式:
SORT TO 新文件名 ON 字段名1 [/A|/D][/C]
[,字段名2 [/A|/D][/C]
[范围]
[For条件表达式1]
[Fields字段名表]
(2)命令功能:
根据”关键字段”的值(称为关键字值)的大小重排记
录,产生一个新的可单独使用的数据库文件(*.DBF)。
选项/A和/D分别表示升序或降序,不选择则默认为按升序排列。选项/C表示不区分字母的大小写。
;2、按索引字段排序
a、先在“表设计器”窗口中,为表建立多个索引;
b、选择“显示”下拉菜单“浏览”,进入“浏览”窗口;
c、在“浏览”窗口下,打开“表”,选择“属性”,进入“工作区属性”窗口,查看所有操作。
3、按索引表达式排序
;8.4 记录定位;7.3 条件(顺序)定位
所谓顺序定位是指在表中从第一条记录开始,按照顺序搜索表,把记录指针定位在满足条件的第一条记录上。
顺序定位适合于复杂条件或小型表的定位。
命令格式:
1)找首条:
Locate For 条件表达式 [范围]
2)找后续(继续查询):
Continue
按照Locate指定的条件继续定位下一条记录
;例: 在学生挡案表.Dbf表中,查找姓“王”的学生。
Use 学生挡案表
Locate For Subs(姓名,1,2)=”王”
如果用 Locate For “王”$姓名 可能会产生什么问题?
Display 显示查询结果
Continue 继续定位查询下一个记录
?Found() Found()函数为.T.
Display 显示第二条”王”姓记录
Continue
“End Of Locate
文档评论(0)