版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.6.1索引概念1.基本概念索引(Index)是进行快速显示、快速查询数据的重要手段。所谓索引,是指对表中的有关记录按照指定的索引关键字表达式的值的升序或降序进行排列,并生成一个相应的索引文件。其中索引关键字表达式可以是表中的一个字段名,也可是包含有若干个字段名的任意合法的表达式。在索引文件中主要包含两种类型的数据:一类是各有关记录的索引关键字表达式的值,另一类是相应记录在原表中的记录号,且在索引文件中,一个记录的索引关键字表达式的值与其记录号是一一对应的。虽然排序与索引都以增加一个文件为代价,但索引文件只包括关键字表达式的值和其记录号,因此,索引文件比被索引的表要小得多。对同一个表,可根据不同的处理要求创建多个不同的索引文件,来建立不同的逻辑顺序。
3.6索引文件索引具有自动更新的特性,当索引文件被打开后,在对表进行修改时,相应的索引文件会自动地进行更新,这样,可以实现数据表和其相应的索引文件保持一致。按照索引显示记录,VFP按照指针排列的顺序分别读取每一条记录,而这些记录在数据库中的实际存储位置并未改变。表的索引 2、索引文件的种类索引本身并不改变表中数据的物理顺序结构复合索引(CDX)与数据表同名文件名是在创建时由系统自动给定结构复合索引文件与表文件同步打开、更新、关闭是表的一部分非结构复合索引(CDX)文件名由用户给出非结构复合索引文件中不能创建主索引独立索引(IDX):与FoxBase兼容3、按索引的功能分类
(1)主索引(PrimaryIndex)
主索引仅适合于数据库表,自由表没有主索引,主索引的索引关键字表达式的值不允许出现重复值,一个数据库表只能建一个主索引。(2)候选索引(CandidateIndex)
候选索引与主索引具有相同的特性,即索引关键字表达式的值不允许出现重复值,这种索引是作为主索引的候选者出现的,一个表可以建立多个候选索引。另外,数据库表和自由表均可建立候选索引。当数据库表中无主索引时,可以指定一个候选索引为主索引。主索引和候选索引能控制表中字段重复值的输入,确保字段输入值的惟一性。(3)普通索引(RegularIndex)
是一种常规的索引类型,索引关键字表达式的值允许出现重复,一个表可以建立多个普通索引。数据库表和自由表均可建立普通索引。(4)惟一索引(UniqueIndex)
对于表中的记录,允许出现索引关键字表达式的重复值,但在索引文件中不允许包含有索引关键字表达式的重复值,即索引文件中的记录惟一。一个表可以建立多个惟一索引,数据库表和自由表均可建立惟一索引
关键字与索引标识(1)索引关键字(IndexKey)建立索引的依据(索引表达式)字段/字段表达式VFP使用索引关键字来显示和访问表中的记录(2)索引标识(Tag)索引关键字的名称(索引名)<=10字节1.在“表设计器”对话框中建立复合索引文件
在表设计器中有“字段”、“索引”和“表”三个选项卡,用户在“字段”选项卡中可以直接指定字段,选择索引下拉列表中的选项,确定升序或降序(向上的箭头表示升序,向下的箭头表示降序),则在对应的字段上建立了一个普通索引。索引名与字段同名,索引关键字表达式为相应字段的字段名。若要建立其他类型的索引,操作方法是在“表设计器”窗口,选择“索引”选项卡,再选择以下参数或按钮:单击“排序”按钮,选择升序(↑)或降序(↓)。通过“索引名”文本框,输入或修改索引标识的名称。通过“类型”下拉列表框选择索引的类型。通过“表达式”文本框(或表达式生成器),输入或修改索引关键字表达式。通过“筛选”文本框(或表达式生成器),输入或修改索引的筛选条件即可。
3.6.2创建索引文件创建索引文件表设计器“表设计器”——“索引”选项卡Index命令INDEXON<索引表达式>TAG<索引标识名>[FOR<条件表达式>ASCENDING|DESCENDING]注意不能对备注字段和通用字段建立索引不要建立无用的索引析Index命令?结构复合索引(CDX)?非结构复合索引(CDX)?独立索引(IDX)INDEXON<索引表达式>TAG<索引标识名>[FOR<条件表达式>ASCENDING|DESCENDING][UNIQUE|CANDIDATE](允许相同|不允许相同)3.对多个字段索引操作步骤:项目管理器--选择已索引的表,选“修改”表设计器,选索引,输入索引的名称在“表达式”框中,输入对多个索引的表达式如:按性别与年龄进行索引,其表达式应为性别+STR(年龄,2)确定可以对多个字段建立索引其排序是按照表达式的值进行的索引的修改和删除索引的修改表设计器“表设计器”——“索引”选项卡命令INDEX命令修改原索引索引的删除表设计器“表设计器”——“索引”选项卡DELETETAG删除索引标识索引的使用设置主控索引主控索引:决定显示或访问表中记录的顺序的索引主控索引可以是:复合索引文件中的一个标识(主控标识)一个独立索引文件(主控索引文件)打开表的同时指定主控索引Use表名index索引文件名打开后再设置主控索引窗口/数据工作期/属性/索引顺序命令SETORDERTOTAG<标识名>取消主控索引SETORDERTO索引函数CDX()ORDER()TAG()一、主控索引的确定格式:SETORDERTO<数值表达式>|<单索引文件名>|[TAG]<索引标识名>[ASCENDING|DESCENDING]功能:确定相应的索引为主控索引。相关参数和选项含义的说明:(1)<数值表达式>:用于指定相应索引的序号。对于已打开的单索引文件或复合索引文件中的索引标识,VisualFoxPro自动为其进行编号,并在使用的过程中自行调整。编号顺序为:各单索引文件———结构复合索引文件的索引标识———非结构复合索引文件的索引标识。其中,各单索引文件、各非结构复合索引文件按其打开的顺序编号,复合索引文件中的索引标识按其建立的先后次序编号。(2)<单索引文件名>:指定的单索引文件将成为主控索引文件,所包含的索引则成为主控索引。(3)<索引标识名>:相应的索引标识将成为主控索引标识,所对应的索引则成为主控索引(4)[ASCENDING|DESCENDING]:不管索引是按升序或降序建立的,在使用时都可以用ASCENDING指定升序或用DESCENDING指定降序。二、主控索引的取消格式一:SETORDERTO格式二:SETORDERTO0功能:取消主控索引,但不关闭任何索引文件。说明:这两条命令的功能是一样的,任何时候只需使用其中之一即可。3.关闭已打开的索引文件对于已打开的单索引文件或非结构复合索引文件,可使用SETINDEXTO命令或CLOSEINDEXES命令将其关闭。格式一:SETINDEXTO功能:关闭当前工作区中除结构复合索引文件以外的所有已打开的索引文件,同时取消主控索引,但表文件仍处于打开状态。格式二:CLOSEINDEXES功能:功能同SETINDEXTO命令格式三:USE功能:关闭表文件的同时,也关闭了与其相关的所有已打开的索引文。索引的使用利用索引快速定位记录SEEK命令SEEK命令只能在索引过的表中使用,并且只能搜索索引关键字(XS/960102)EOF()与FOUND()SEEK函数(=SEEK+FOUND())da:此页不讲筛选记录(setfilterto)操作步骤:项目管理器--选择已索引的表,选“修改”表设计器,选索引,输入索引的名称在“筛选”处,输入过滤表达式按“确定”,完成筛选表达式的建立如:筛选性别为男的记录,表达式为Setfilterto性别=‘男’可以实现对记录的控制44王秋燕女45讲师10/09/70Tmemogen55姜丽萍女45讲师10/09/70Tmemogen66陈丽丽女38讲师09/27/72Tmemogen77刘刚男50副教授06/23/61Tmemogen88王良男39讲师08/09/78Tmemogen习题1.在创建表之前需要做好哪些准备工作?2.过滤器有什么作用?怎样设置过滤器的过滤字段?3.VFP中的索引有哪几种?索引的使用应该遵守哪几条原则?4.建立一个“职工档案”表,参考本章例题。建立一个“工资”表,表的内容自己定。5.建立一个“学生成绩”表,表的内容自己定。习题6.将“职工档案”表,复制一个新文件,先添加几个记录,进行修改和删除操作。(1)用“浏览”或“编辑”进行表的修改操作。(2)给前3个记录做删除标记,然后再恢复操作。(3)将职称是“助教”的记录做删除标记,然后再彻底删除。习题7.用过滤器,筛选记录,将“职工档案”表进行如下操作:(1)浏览前4个记录,只列出姓名、性别和工资三个字段的内容。(2)浏览男的全部记录的内容。(3)浏览职称是“讲师”并且性别是男的记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春季鼎信数智技术集团股份有限公司海南分公司社会招聘4人笔试备考试题及答案解析
- 2026北京怀柔区政务服务和数据管理局招聘行政辅助人员13名考试备考试题及答案解析
- 2026春季中国石油海洋工程有限公司高校毕业生招聘10人考试模拟试题及答案解析
- (四调)武汉市2026届高三年级四月调研考试历史试卷(含答案)
- 2026广西贺州富川融媒体中心招聘播音主持人2人笔试备考试题及答案解析
- 2026恒丰银行北京分行社会招聘15人笔试备考试题及答案解析
- 中考专题2026年中考数学专项提优复习:三角形含答案
- 2026福建莆田秀屿区东峤镇卫生院编外人员招聘4人考试模拟试题及答案解析
- 2026广东中山大学附属第一医院国际医疗部招聘2人笔试备考题库及答案解析
- 2026庐山云雾茶产业集团有限公司社会招聘工作人员16人考试参考题库及答案解析
- 污染土壤修复技术课件
- 英语图表类作文课件
- 珍爱生命,远离网瘾-网络安全教育主题班会
- DoCare重症监护临床信息系统方案
- 【知识产权】知识竞赛试题及答案
- GB/T 20080-2017液压滤芯技术条件
- 浙江英语中考作文范文10篇
- 安全评价机构信息公开表
- 全国中学物理青年教师教大赛启示课件
- 高分子溶液的相平衡课件
- 文献研究法与文献综述课件
评论
0/150
提交评论