VFP索引与排序.ppt
《VFP索引与排序.ppt》由会员分享,可在线阅读,更多相关《VFP索引与排序.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、索引与排序索引与排序什么是索引和排序什么是索引和排序索引的构成和类型索引的构成和类型创建索引创建索引索引的编辑和应用索引的编辑和应用 排序的创建和应用排序的创建和应用记录的顺序记录的顺序记录的顺序记录的顺序物理顺序:物理顺序:物理顺序:物理顺序:表中记录的存储顺序。表中记录的存储顺序。表中记录的存储顺序。表中记录的存储顺序。按记录输入的前后顺序存放。按记录输入的前后顺序存放。按记录输入的前后顺序存放。按记录输入的前后顺序存放。逻辑顺序:逻辑顺序:逻辑顺序:逻辑顺序:记录的处理顺序。记录的处理顺序。记录的处理顺序。记录的处理顺序。对记录按某个(些)字段的值进行排序。对记录按某个(些)字段的值进行
2、排序。对记录按某个(些)字段的值进行排序。对记录按某个(些)字段的值进行排序。了解索引与排序了解索引与排序排序排序排序排序索引索引索引索引重新组织重新组织重新组织重新组织数据表数据数据表数据数据表数据数据表数据了解索引与排序了解索引与排序索引实际上是一种排序,但是索引实际上是一种排序,但是索引实际上是一种排序,但是索引实际上是一种排序,但是它不改变数据表中数据的物理它不改变数据表中数据的物理它不改变数据表中数据的物理它不改变数据表中数据的物理顺序,而是另外建立一个顺序,而是另外建立一个顺序,而是另外建立一个顺序,而是另外建立一个逻辑逻辑逻辑逻辑顺序号与记录号(物理顺序)顺序号与记录号(物理顺序
3、)顺序号与记录号(物理顺序)顺序号与记录号(物理顺序)的对照表。的对照表。的对照表。的对照表。表的逻辑顺序号是表的逻辑顺序号是表的逻辑顺序号是表的逻辑顺序号是由某一字段的值的大小决定。由某一字段的值的大小决定。由某一字段的值的大小决定。由某一字段的值的大小决定。排序排序从物理上对表进行重从物理上对表进行重新整理,按照指定的关键新整理,按照指定的关键字段来重新排列表中数据字段来重新排列表中数据记录的顺序,并将重新排记录的顺序,并将重新排序的结果形成一个新的数序的结果形成一个新的数据表。据表。索引的概念索引的概念 索引:不改变物理索引:不改变物理顺序,所有关键字顺序,所有关键字按升(降)排列,按升
4、(降)排列,每个值对应原文件每个值对应原文件的一个记录号,确的一个记录号,确定记录的逻辑顺序定记录的逻辑顺序索引索引逻辑顺序逻辑顺序物理顺序物理顺序只有索引关键字段值或索引表达式值只有索引关键字段值或索引表达式值(逻辑顺序逻辑顺序号号)与记录号与记录号(物理顺序物理顺序)。一个索引表达式或索引关键字段值与记录号对一个索引表达式或索引关键字段值与记录号对应的内容又称之为一张应的内容又称之为一张“对照表对照表”,用一个索,用一个索引标识来标记。引标识来标记。说明:说明:一个表可同时建立多个索引,但只能有一一个表可同时建立多个索引,但只能有一一个表可同时建立多个索引,但只能有一一个表可同时建立多个索
5、引,但只能有一个索引个索引个索引个索引为主控索引为主控索引为主控索引为主控索引。索引文件的内容索引文件的内容索引文件的内容索引文件的内容控制表当前控制表当前显示的顺序显示的顺序索引的概念索引的概念 索引索引逻辑顺序逻辑顺序关键字段关键字段关键字段关键字段值或索引值或索引值或索引值或索引表达式值表达式值表达式值表达式值记录号记录号记录号记录号对照表对照表bh索引标识索引标识索引标识索引标识索引的构成索引的构成索引的构成索引的构成索引名索引名又叫索引标识又叫索引标识(TAG)(TAG)。是标记一个索引的名称。是标记一个索引的名称。索引表达式或索引关键字段索引表达式或索引关键字段索引表达式或索引关键
6、字段的值是确定索引顺序索引表达式或索引关键字段的值是确定索引顺序的依据。的依据。索引的构成与类型索引的构成与类型索引的类型索引的类型索引的类型索引的类型主索引(主索引(主索引(主索引(Primary IndexesPrimary IndexesPrimary IndexesPrimary Indexes)每张表每张表每张表每张表只能有一个只能有一个只能有一个只能有一个。一般为表的关键字或索引表。一般为表的关键字或索引表。一般为表的关键字或索引表。一般为表的关键字或索引表达式的值达式的值达式的值达式的值没有重复值没有重复值没有重复值没有重复值的才能作为主索引。的才能作为主索引。的才能作为主索引。
7、的才能作为主索引。只存在数据库表中的结构复合索引中。只存在数据库表中的结构复合索引中。只存在数据库表中的结构复合索引中。只存在数据库表中的结构复合索引中。候选索引(候选索引(候选索引(候选索引(Candidate IndexesCandidate IndexesCandidate IndexesCandidate Indexes)可有多个。一般为表的关键字或索引表达式的值可有多个。一般为表的关键字或索引表达式的值可有多个。一般为表的关键字或索引表达式的值可有多个。一般为表的关键字或索引表达式的值没有重复值没有重复值没有重复值没有重复值的才能作为候选索引。的才能作为候选索引。的才能作为候选索引。
8、的才能作为候选索引。自由表中也可建立。自由表中也可建立。自由表中也可建立。自由表中也可建立。索引的类型索引的类型索引的类型索引的类型普通索引(普通索引(普通索引(普通索引(Regular IndexesRegular IndexesRegular IndexesRegular Indexes)一张表可有多个。一张表可有多个。一张表可有多个。一张表可有多个。数据库表和自由表均可有。数据库表和自由表均可有。数据库表和自由表均可有。数据库表和自由表均可有。唯一索引(唯一索引(唯一索引(唯一索引(Unique IndexesUnique IndexesUnique IndexesUnique Inde
9、xes)索引表达式中重复的值在索引表中只出现第一个,索引表达式中重复的值在索引表中只出现第一个,索引表达式中重复的值在索引表中只出现第一个,索引表达式中重复的值在索引表中只出现第一个,忽略重复值。忽略重复值。忽略重复值。忽略重复值。建立时,用建立时,用户单独为其户单独为其命名命名建立时,用户未建立时,用户未单独为其命名单独为其命名,与与表文件同名表文件同名需使用单独命令需使用单独命令打开、关闭打开、关闭与表同时打开、与表同时打开、关闭关闭为与为与FOXBASE兼容兼容含多个索含多个索含多个索含多个索引引引引建立时,用户单独建立时,用户单独为其命名为其命名需使用单独命令需使用单独命令打开、关闭打
10、开、关闭索引文件的种类索引文件的种类索引文件的种类索引文件的种类索引索引索引索引 复合索引复合索引复合索引复合索引(扩展名(扩展名(扩展名(扩展名CDXCDXCDXCDX)独立独立独立独立(单一单一单一单一)索引索引索引索引 (扩展名(扩展名(扩展名(扩展名IDXIDXIDXIDX)非结构复合索引非结构复合索引非结构复合索引非结构复合索引结构复合索引结构复合索引结构复合索引结构复合索引索引文件的种类索引文件的种类索引文件的种类索引文件的种类复合索引文件(扩展名为复合索引文件(扩展名为复合索引文件(扩展名为复合索引文件(扩展名为.CDX.CDX.CDX.CDX)定义:定义:由多个关键字段值和其对
11、应的多个记录的物理位置由多个关键字段值和其对应的多个记录的物理位置构成。(一个索引文件中有多张构成。(一个索引文件中有多张“对照表对照表”)结构化复合索引文件结构化复合索引文件索引文件名与表文件同名(由系统自动生成)索引文件名与表文件同名(由系统自动生成)其打开和关闭与表文件同步,是表的一部分。其打开和关闭与表文件同步,是表的一部分。表文件修改时,系统自动更新该索引文件。表文件修改时,系统自动更新该索引文件。一个索引文件一个索引文件有多个索引有多个索引非结构化复合索引非结构化复合索引索引文件名由用户给出,要用专门的命令打开。索引文件名由用户给出,要用专门的命令打开。可随表文件关闭也可用命令关闭
12、。可随表文件关闭也可用命令关闭。独立索引文件独立索引文件独立索引文件独立索引文件(扩展名为扩展名为扩展名为扩展名为.IDX).IDX).IDX).IDX)(又称之单一索引文件又称之单一索引文件又称之单一索引文件又称之单一索引文件)只存储一个索引的文件,文件名由用户给出,要只存储一个索引的文件,文件名由用户给出,要用专门命令打开。用专门命令打开。不常用的索引或不常用的索引或临时性的索引临时性的索引菜单法菜单法:在在“表设计器表设计器”中创建中创建 (只能创建结构复合索引文件只能创建结构复合索引文件)创建索引创建索引注意:注意:不能对备注型或通用型字段建立索引;不能对备注型或通用型字段建立索引;不
13、能对备注型或通用型字段建立索引;不能对备注型或通用型字段建立索引;不要建立多余的无用的索引,会降低系统性能;不要建立多余的无用的索引,会降低系统性能;不要建立多余的无用的索引,会降低系统性能;不要建立多余的无用的索引,会降低系统性能;索引表达式是索引表达式是索引表达式是索引表达式是由多个字段组成由多个字段组成由多个字段组成由多个字段组成时要注意书写格式和数据类时要注意书写格式和数据类时要注意书写格式和数据类时要注意书写格式和数据类型的一致。即型的一致。即型的一致。即型的一致。即多个索引关键字段名间多个索引关键字段名间多个索引关键字段名间多个索引关键字段名间应用应用应用应用“号连接,且号连接,且
14、号连接,且号连接,且要用函数转换为要用函数转换为要用函数转换为要用函数转换为一样的数据类型一样的数据类型一样的数据类型一样的数据类型。创建索引实例创建索引实例1 1用用用用菜单法菜单法菜单法菜单法对对对对zgb.dbfzgb.dbfzgb.dbfzgb.dbf表建立复合索引表建立复合索引表建立复合索引表建立复合索引1.1.1.1.以工作部门的升序排列,普通索引,索引标识为以工作部门的升序排列,普通索引,索引标识为以工作部门的升序排列,普通索引,索引标识为以工作部门的升序排列,普通索引,索引标识为gzbmgzbmgzbmgzbm,并浏览显示。并浏览显示。并浏览显示。并浏览显示。2.2.2.2.按
15、按按按jbgz1jbgz1jbgz1jbgz1标识,建立以基本工资升序排列的普通索标识,建立以基本工资升序排列的普通索标识,建立以基本工资升序排列的普通索标识,建立以基本工资升序排列的普通索引。引。引。引。3.3.3.3.对男职工以其对男职工以其对男职工以其对男职工以其基本工资基本工资基本工资基本工资降序显示记录。(降序显示记录。(降序显示记录。(降序显示记录。(jbgz2jbgz2jbgz2jbgz2)4.4.4.4.以以以以工作部门工作部门工作部门工作部门升序排列,若部门相同,则按升序排列,若部门相同,则按升序排列,若部门相同,则按升序排列,若部门相同,则按工作时工作时工作时工作时间间间间
16、的升序排列。的升序排列。的升序排列。的升序排列。(bmsjbmsjbmsjbmsj)5.5.5.5.以以以以工作部门工作部门工作部门工作部门升序排列,若部门相同时,则按升序排列,若部门相同时,则按升序排列,若部门相同时,则按升序排列,若部门相同时,则按基本基本基本基本工资工资工资工资降序排列。降序排列。降序排列。降序排列。(bmgzbmgzbmgzbmgz)CDCN创建索引实例创建索引实例1 1F关键字表达式为关键字表达式为关键字表达式为关键字表达式为C C C C型和型和型和型和N N N N型时,一般将数值型数据转为型时,一般将数值型数据转为型时,一般将数值型数据转为型时,一般将数值型数据
17、转为字符型字符型字符型字符型数据,再用字符型连接符号数据,再用字符型连接符号数据,再用字符型连接符号数据,再用字符型连接符号“+”“+”“+”“+”连接;连接;连接;连接;或也或也可转为数值型数据:可转为数值型数据:转为字符型函数:转为字符型函数:转为字符型函数:转为字符型函数:STR(STR(STR(STR(数值型数据,长度数值型数据,长度数值型数据,长度数值型数据,长度 ,小数位,小数位,小数位,小数位)例:例:例:例:工作部门工作部门工作部门工作部门+str(106-+str(106-+str(106-+str(106-基本工资基本工资基本工资基本工资*100)*100)*100)*10
18、0)转为数值型函数:转为数值型函数:转为数值型函数:转为数值型函数:VAL(VAL(VAL(VAL(数字字符型数据,长度数字字符型数据,长度数字字符型数据,长度数字字符型数据,长度)例:例:例:例:val(val(val(val(工作部门工作部门工作部门工作部门)+)+)+)+基本工资基本工资基本工资基本工资 则原题意写为则原题意写为则原题意写为则原题意写为 val(val(val(val(工作部门工作部门工作部门工作部门)*106-)*106-)*106-)*106-基本工资基本工资基本工资基本工资*100*100*100*100菜单操作中默菜单操作中默菜单操作中默菜单操作中默认是升序排列认
19、是升序排列认是升序排列认是升序排列创建索引实例创建索引实例1 1F关键字表达式为关键字表达式为关键字表达式为关键字表达式为C C C C型和型和型和型和D D D D型时,要将日期型数据转为型时,要将日期型数据转为型时,要将日期型数据转为型时,要将日期型数据转为字符型字符型字符型字符型数据,再用字符型连接符号数据,再用字符型连接符号数据,再用字符型连接符号数据,再用字符型连接符号“+”“+”“+”“+”连接。连接。连接。连接。函数:函数:函数:函数:DTOC(DTOC(DTOC(DTOC(日期型数据)日期型数据)日期型数据)日期型数据)DTOS(DTOS(DTOS(DTOS(日期型数据)日期型
20、数据)日期型数据)日期型数据)“工作部门工作部门工作部门工作部门 工作时间工作时间工作时间工作时间”工作部门工作部门工作部门工作部门+dtos(+dtos(+dtos(+dtos(工作时间工作时间工作时间工作时间)操作示范操作示范结构化索引结构化索引非结构化索引非结构化索引Index On Index On Index On Index On Tag Tag Tag Tag OF OF OF OF For.CDX For.CDX For.CDX For 条件条件条件条件Ascending|DescendingAscending|DescendingAscending|DescendingAsc
21、ending|Descending Unique|CandidateUnique|CandidateUnique|CandidateUnique|Candidate Index On Index On Index On Index On Tag Tag Tag Tag For For For For 条件条件条件条件 Ascending|DescendingAscending|DescendingAscending|DescendingAscending|Descending Unique|CandidateUnique|CandidateUnique|CandidateUnique|Cand
22、idate 创建索引创建索引 升升 序序|降降 序序唯一索引唯一索引 候选索引候选索引命令法命令法:可以与字可以与字段同名段同名在数据库中讲解在数据库中讲解结构化索引结构化索引主索引的建立主索引的建立Alter table Alter table Alter table Alter table add primary key add primary key add primary key add primary key Tag Tag Tag Tag Index On Index On Index On Index On Tag Tag Tag Tag For For For For 条件条件
23、条件条件 Ascending|DescendingAscending|DescendingAscending|DescendingAscending|Descending Unique|CandidateUnique|CandidateUnique|CandidateUnique|Candidate 创建索引创建索引 升升 序序|降降 序序唯一索引唯一索引 候选索引候选索引命令法命令法:可以不打开但建立可以不打开但建立索引后自动被打开索引后自动被打开单索引单索引Index On Index On Index On Index On To To To To CompactUniqueCompac
24、tUniqueCompactUniqueCompactUnique Additive Additive Additive Additive建立新的索引文件时不建立新的索引文件时不建立新的索引文件时不建立新的索引文件时不关闭已打开的索引文件关闭已打开的索引文件关闭已打开的索引文件关闭已打开的索引文件创建索引创建索引快速存快速存取索引取索引单索引文件单索引文件只能按升序只能按升序命令法命令法:创建索引实例创建索引实例2 2用命令法对学生用命令法对学生用命令法对学生用命令法对学生.dbf.dbf.dbf.dbf表建立复合索引表建立复合索引表建立复合索引表建立复合索引1.1.1.1.以籍贯的升序排列,
25、普通索引,索引标识为以籍贯的升序排列,普通索引,索引标识为以籍贯的升序排列,普通索引,索引标识为以籍贯的升序排列,普通索引,索引标识为jgjgjgjg,并并并并浏览显示。浏览显示。浏览显示。浏览显示。2.2.2.2.按按按按cj1cj1cj1cj1标识,建立以外语成绩降序排列的普通索引。标识,建立以外语成绩降序排列的普通索引。标识,建立以外语成绩降序排列的普通索引。标识,建立以外语成绩降序排列的普通索引。3.3.3.3.对对对对男学生男学生男学生男学生以其以其以其以其出生日期出生日期出生日期出生日期降序显示记录。(降序显示记录。(降序显示记录。(降序显示记录。(narqnarqnarqnarq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 索引 排序
限制150内