预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共32页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

8.1索引概述第8章索引及记录操作2、索引的种类 根据关键字段值是否重复可将索引分为四种类型:主索引、候选索引、惟一索引、普通索引。 主索引:索引表达式的值唯一能够标识每个记录的索引,即索引表达式的值不允许重复。主索引只能在数据库表中建立,一个表只能创建一个主索引。 候选索引:索引表达式的值不允许重复、有资格被选做主索引的索引。数据库表和自由表都可以建立侯选索引,一个表可以有多个候选索引。 普通索引:是除了上面几种索引之外的一种索引,它允许索引关键字有重复的值,对有相同索引表达式值的记录按原有的先后顺序集中排列在一起。 惟一索引:允许索引关键字有重复的值的索引,当有重复值出现时,索引文件只保存重复的第一次值。3、创建索引 1)利用表设计器创建索引 2)利用命令创建索引 A、创建非结构索引 INDEXON<索引表达式>To<索引文件名> [FOR<条件表达式>][ASCENDING] [Descending] 命令功能:为当前表按<索引表达式>的值建立一个非结构索引文件,索引文件扩展名.IDX。 例1:将学生档案表.DBF数据表信工系(学号第3位为2) 的学生按学号升序建立非结构索引文件xh.idx。 USE学生档案表 INDEXON学号TOxhFORSUBS(学号,3,1)=”2” ascending 当索引建立后,新建立的索引文件将自动打开且处于 主索引的位置,记录随即按该索引顺序来排列。 B、创建结构索引 INDEXON<索引表达式>TAG<索引标识名> [FOR<条件表达式>][ASCENDING|DESCENDING][Unique][Candidate] 说明: ①TAG<索引标识名>:结构化索引文件每个索引都必须有一 个索引标识。 ②记录的顺序默认为升序,也可用“Ascending”表示,降序用“Descending”;][Unique]建立唯一索引,[Candidate]建立候选索引,否则建普通索引。 例:将学生档案表.dbf按籍贯和高考成绩降序索引,索引标识为jgcj,按学号升序索引,索引标识为xh,建立结构化复合索引文件。 USE学生档案表 indexon籍贯+str(高考成绩,5)desctagjgcj indexon学号tagxh 8.2建立表间的关联关系8.3记录排序命令方式: (1)命令格式: SORTTO<新文件名>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)找首条: LocateFor<条件表达式>[范围] 2)找后续(继续查询): Continue &&按照Locate指定的条件继续定位下一条记录 例:在学生挡案表.Dbf表中,查找姓“王”的学生。 Use学生挡案表 LocateForSubs(姓名,1,2)=”王” &&如果用LocateFor“王”$姓名可能会产生什么问题? Display&&显示查询结果 Continue&&继续定位查询下一个记录 ?Found()&&Found()函数为.T. Display&&显示第二条”王”姓记录 Continue &&“EndOfLocateScope”显示定位结束 ?Eof()&&Eof())函数为.T.7.3索引定位 索引定位是一种快速定位记录的方法,利用索引定位将明显提高查询效率,适用于大型表的查询。 它要求数据表文件的记录是有序的,所以,事先必须对数据表文件进行索引,而且要求查询内容所在的字段或表达式必须是索引文件的索引关键字段或表达式。 (查什么按什么索引)索引定位有两种命令格式: 格式一:Find<表达式> 格式二:Seek<表达式> 1.FIND命令 (1)命令方式 命令格式: FIND<字符串>/<数值> 功能: 在打开的以查询内容所在字段为索引关键字的索引文件中,快速查找关键字段等于<字符串>或<数值>的第一个记录。 说明: ①执行命令前,必须首先建立以查询内容所在字段或表达式