VFP课件(新4)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章索引、排序与多表操作4.1—排序4.2—索引4.3—数据完整性4.4—多表操作4.5—自由表记录按录入先后次序存储,数据维护比较方便,但检索速度较慢。因此,数据库系统经常需要按照用户的要求对数据表文件中的记录进行重新组织排列。VFP提供了两种重新组织数据的方法,即排序与索引。4.1排序对表文件进行物理位置的整理命令格式:SortTo表文件名On字段名1[/A][/D][/C][,字段名2[/A][/D][/C]…][Ascending|Descending][For条件表达式][Fields字段名表]4.1排序说明:字段名1:指定主排序字段。如果有多个排序字段,先按字段名1排序,对于字段值相同的记录,再按字段名2排序。表文件名:新建的数据表文件名,默认扩展名.dbf。[/A][/D][/C]:指明按字段的升序、降序排序和排序时不区分字母大小写。Ascending|Descending:对没有用/A或/D指明排序顺序的字段按升序或降序排序。For条件表达式:对满足条件的记录进行排序。Fields字段名表:指定新文件中所含字段及其顺序。注意:该命令最终的结果是生成一个新表!!且使用该命令不需要建索引!4.1排序例1:usecoursebrowsesortto学时on学时/Dfields课程号,课程名,学时use学时browse4.2索引4.2.1索引的概念一本书的目录可看作是一个索引文件,该文件中只有“章节标题”及其所在的“页码”两项,根据此文件可很快找到所需的内容,而不必一页一页地顺序翻阅。对表文件也可建立类似的索引文件。与排序相比,索引是一种逻辑排序方法,它不改变记录在物理上的排列顺序,而是建立一个与原文件相对应的索引文件,索引文件中存储了一组记录指针,它指向原文件的记录。4.2索引4.2.1索引的概念VFP索引是指由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。即索引是一个二维表,其中仅含有两列:关键字的值和记录在数据表中的物理位置。创建索引就是建立一个由指向.dbf文件记录的指针构成的文件。索引和表分别存储在两个文件中。使用索引可以加速对表的查询操作。4.2索引4.2.1索引的概念1.索引的作用可使表文件按索引表达式的值进行逻辑排序可以快速查询表中数据要建立两数据库表间的永久性关系,必须建立索引文件4.2索引4.2.1索引的概念2.索引文件的构成索引关键字记录号3.索引文件的特点索引文件不能显示物理顺序逻辑顺序使用顺序记录存储在表文件中的实际排列顺序按照某个关键字或关键字表达式在关键字与记录号之间建立的一种逻辑上的顺序实际操作的记录顺序4.2索引4.2.2索引的分类1.索引文件的分类(按照索引的组织类型分类)VFP6.0索引文件单项索引文件(·IDX)复合索引文件(·CDX)包含一个索引入口的索引文件,不会随着表的打开而自动打开包含多个索引入口的索引文件,在使用时需明确指定打开压缩型非压缩型结构复合索引文件非结构复合索引文件每次表打开时自动打开,并且在表修改时自动更新的索引文件,通常与表同名,但扩展名是.CDX4.2索引4.2.2索引的分类三种索引文件的比较索引类型描述索引数目限制独立.idx非结构.cdx结构.cdx必须明确的打开,.idx的基本名由用户定义必须明确的打开,使用和表名不同的基本名使用和表文件名相同的文件名,和表一起自动打开单索引多索引,称为”标志”多索引,称为”标志”有效表达式限制在100个字符之内有效表达式限制在240个字符之内有效表达式限制在240个字符之内4.2索引4.2.2索引的分类2.按照索引的功能分类主索引:要求索引表达式的值是唯一能够标识每个记录处理顺序的值。自由表不能建立主索引,一个数据库表只能建立一个主索引。候选索引:像主索引一样,要求索引表达式的值是唯一能够标识每个记录处理顺序的值。一个表可以建立多个候选索引。惟一索引:当字段或表达式的值出现重复时,在索引中只保留一个记录。即索引中表达式的值是唯一的,而数据表中的字段值是可以重复的。唯一性是指索引项的惟一,而不是字段值的惟一。一个数据表中可建立多个惟一索引。普通索引:允许字段或表达式的值重复,一个数据表中可建立多个普通索引。注意事项:表中所建不同类型索引文件个数??什么时候使用什么类型的索引??4.2索引4.2.2索引的分类说明:表的主索引和候选索引存储在结构复合索引文件中,同时以Primary属性或Candidate属性存储在数据库中。这两种索引不能保存在非结构.cdx文件中,也不能保存在.idx文件中。这是因为:这两种索引必须和表同时打开。其他两种索引文件可以存储惟一索引和普通索引。一个数据表文件可以建立多个索引文件,也可以同时打开多个索引文件,但在同一时间内只有一个索引起作用,这个索引被称为主控索引(当前索引)。4.2索引4.2.2索引的分类为了管理和使用索引,VFP给索引编了序号,序号从1开始。当打开多个索引文件时,VFP首先按打开.idx文件的顺序,给idx文件中的索引编号;然后再对结构复合索引文件中的标识,按创建标识的先后顺序编号;最后,对一般的复合索引文件中的标识,按创建的顺序编号。4.2索引4.2.2索引的分类建立在一个表之上的各种索引文件基本表独立索引文件1独立索引文件m结构复合索引文件复合索引文件1复合索引文件n每个文件中只有一个索引文件中可以有多个索引,称为索引”标识”或”标签”4.2索引4.2.3索引的建立1.在表设计器中建立索引“字段”选项卡:建立单字段的普通索引。“索引”选项卡:指定索引名、类型、索引顺序(升序或降序),建立索引表达式、筛选条件。4.2.3索引的建立设置过程中可借助于表达式生成器来进行将书本命令分解成两条:此方式生成的索引文件类型是???索引选项卡移动按钮排序按钮在此框中输入索引标记在此列表框中选择索引类型在此文本框中输入索引表达式在此输入条件表达式表达式生成按钮结构化复合索引文件4.2索引4.2索引4.2.3索引的建立2.命令方式格式一:INDEXON关键字表达式TO单项索引文件名[FOR条件][COMPACT][UNIQUE][ADDITIVE]格式二:INDEXON关键字表达式TAG标识符名[OF复合索引文件名][FOR条件][ASCENDING][DESCENDING][UNIQUE|CANDIDATE][ADDITIVE]4.2索引4.2.3索引的建立(1)建立单索引文件格式:IndexOn索引表达式To单索引文件名[Additive]说明:索引表达式:小于等于100个字符。文件扩展名为.idx。该索引文件要用SetIndexTo命令打开。Additive:建立索引文件的同时保持先前打开的索引文件不被关闭。单索引文件建立后,自动处于打开状态并作为当前索引生效。4.2索引4.2.3索引的建立例2:usestudentindexon出生日期tocsrqlistindexon性别tosexuniquelist4.2索引4.2.3索引的建立⑵建立复合索引文件格式:IndexOn索引表达式Tag索引名[Of复合索引文件名][For条件表达式][Ascending|Descending][Unique|Candidate][Additive]说明:索引表达式:小于等于240个字符。索引名:用以区分不同索引的索引标识。Of复合索引文件名:省略该可选项,建立结构复合索引文件,否则建立非结构复合索引文件。复合索引文件的扩展名为.cdx。For条件表达式:对满足条件的记录进行索引。Additive:省略该可选项,指关闭以前的索引。索引命令不能建立主索引。默认建立的是普通索引。[ASCENDING|DESCENDING]:ASCENDING指定复合索引文件为升序,这是默认值。DESCENDING指定复合索引文件为降序。结构复合索引文件的特点:在打开表时自动打开同一索引文件中能包含多个索引方案在增、删、修改时系统自动维护索引注意:绝大多数情况下都是用结构化复合索引,某些场合可能建立临时性的单一索引[UNIQUE]:对于一个索引关键值,只有第一个满足该值的记录包含在.IDX文件或.CDX标识中。利用UNIQUE子句可以避免显示或访问记录的重复值。4.2索引4.2.3索引的建立例3:usestudentindexon姓名tagxmdescendinglistindexon性别+dtoc(出生日期)tagxbcsrqlist4.2索引4.2.3索引的建立例4:usestudentindexon姓名tagxingmingofxmlistindexon性别tagxingbieofxmuniquelist4.2索引4.2.4索引的使用1.索引文件的打开结构化索引文件是随表的打开而自动打开。而其它索引文件可用命令打开。4.2索引4.2.4索引的使用1.索引文件的打开(1)表文件与索引文件同时打开格式:use表文件名[index索引文件名表︱?[order数值表达式2︱单索引文件︱[tag]标识名[of复合索引文件名][ascending︱descending]]功能:打开指定的表文件及相关的索引文件4.2索引4.2.4索引的使用1.索引文件的打开(1)表文件与索引文件同时打开说明:Index索引文件名表︱?:表示打开的索引文件。若选择“?”,系统将出现“打开”对话框,供用户选择索引文件名。若索引文件名表中的第一个索引文件是单索引文件,则它是主索引文件,若第一个索引文件是复合索引文件,则表文件的记录将以物理顺序被访问。索引文件名表指定要打开的索引文件,索引文件中的文件扩展名可以省略,但若存在同名的单索引文件和复合索引文件,必须带扩展名。4.2索引4.2.4索引的使用1.索引文件的打开(1)表文件与索引文件同时打开说明:[order]子句用来指定主索引,选择此选项时,主索引文件将不是索引文件名表中的第一个单索引文件,而是此选项指定的单索引文件或标识。数值表达式2将指定主索引的编号,若为0,则表示不设主索引。单索引文件将指定的单索引文件设置为主索引。[tag]标识名[of复合索引文件名]:表示将复合索引文件中的指定标识作为主索引。不设定[of复合索引文件名]时表示为结构复合索引文件。ascending︱descending:表示主索引被强制以升序或降序索引;不包括此项时,主索引按原有顺序打开。4.2索引4.2.4索引的使用1.索引文件的打开(2)打开表文件后再打开索引文件格式:SETINDEXTO索引文件名表说明:索引文件名表:指定同时打开的单索引文件或非结构复合索引文件。省略可选项,SetIndexTo用于关闭除结构复合索引文件以外的索引文件。索引文件列表中的第一个索引文件将作为当前索引文件。对于单索引文件,索引顺序将立即生效。非结构复合索引文件,则其第一个索引生效。4.2索引4.2.4索引的使用1.索引文件的打开例5:usestudentsetindextocsrqlist4.2索引4.2.4索引的使用2.设置主控索引(当前索引)在同时打开多个索引时,要设置主控索引。(1)命令方式格式:SETORDERTO数值表达式|单项索引文件名|[TAG]索引标识符名说明:数值表达式:按索引文件总的序号指定当前索引。先按SetIndexTo命令中的文件列表顺序为单索引文件编号,再按创建时的先后顺序为结构复合索引文件中的索引编号。单索引文件名:将指定的单索引文件作为当前索引。[Tag]索引名:将指定的复合索引名作为当前索引。4.2索引4.2.4索引的使用2.设置主控索引(当前索引)例6:usestudentsetordertotagxmlist4.2索引4.2.4索引的使用2.设置主控索引(当前索引)(2)菜

1 / 76
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功