第五章 排序、索引和多表操作.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 排序、索引和多表操作

第五章 排序、索引及多表操作 一般情况下,数据表中记录的排列顺序是由输入的前后顺序决定的,并由记录号予以标识。除非有记录插入其中,或者删除其中的记录,否则数据表中的记录顺序总是不变的。但不同的用户对表有不同的需求,为了加快数据的检索、显示、查询和打印的速度,就需要对数据表的记录进行顺序的重新组织。实现的方法有两种:排序与索引。 5.1 排序 一、基本概念 排序:是根据表的某些字段值重排记录,是一种物 理排序。排序后产生一个新的表,其记录按关键字 值的顺序排列,但原数据表内容不变。 5.1 排序 二、创建排序 1、命令方式 SORT TO 新表文件名 ON 字段名 [/A|/D][/C] [FOR条件] [FIELDS字段名表] 5.1 排序 例1:对“学生档案”表:按出生日期先后顺序排列,结果仅包含学号、姓名、出生日期三个字段,并存入表1.dbf。 5.1 排序 例2:对“教学”数据库中的“学生”表进行排序,要求如下: 1、按出生日期降序排序 2、排序结果存放到“学生1”表中 3、“学生1”表只包含学号、姓名、性别、出生日期 Use 学生 Sort to 学生1 on 出生日期 /D fields 学号,姓名,性别,出生日期 5.2 索引 一、索引的目的 1、索引是进行快速显示、快速查询数据的重要手段,是创建表间关联关系的基础。索引实际上是一种逻辑排序。 5.2 索引 二、索引类型 (一)按文件扩展名分类 索引按文件扩展名分为两类:单索引文件(.idx)和 复合索引文件(.cdx) 1、单索引文件:只包含一个关键字表达式索引。 2、复合索引文件:又分为结构复合索引 和 非结构复合索引。 5.2 索引 (1)结构复合索引文件:其文件名与数据表文件同名,扩展名为 .cdx,在打开数据表时会自动打开,在增删和修改记录时会自动维护,使用简单。 (2)非结构复合索引文件:其文件名与数据表文件名不同,扩展名也为 .cdx ,打开非结构复合索引的文件需要使用 set index 命令。 5.2 索引 (二)按索引功能分类 VFP中的索引可分为:主索引、候选索引、唯一索引和普通索引四种。 5.2 索引 3、唯一索引:是为了保持同早期版本的兼容性,唯一性是指索引项唯一,而不是指字段值的唯一。它以指定字段的首次出现值为基础选定一组记录,并对记录进行排序,在一个表中可以建立多个唯一索引。 5.2 索引 注意: (1) 索引并不改变记录在表中的物理存储顺序。它只是改变Visual FoxPro处理记录的顺序。 (2) 在自由表中,不能建立主索引。 (3) 建立索引能够加快查找、定位记录的速度,但是也不是索引建得越多越好,因为建立索引后,一旦表中的记录发生改变(如记录的增加或删除,关键字值的更新),系统要花一定的的时间维护索引表。因此索引数目的增加会影响系统的运行性能。 (4) 可以为一个表建立多个索引。 (5) 一个索引表达式可以包含多个字段。 真 题 真 题 真 题 5.3 创建索引 一、使用表设计器创建索引 例如:在“学生”表中,以“学号”为关键字建立主索引,并按“姓名”和“专业”建立普通索引。 (1) 在Visual Foxpro系统主菜单下,打开“教学”数据库。 5.3 创建索引 (2) 在“数据库设计器”窗口中选择“学生”表,单击鼠标右键,弹出快捷菜单。 5.3 创建索引 5.3 创建索引 (4) 在“表设计器”对话框中,单击“索引”标签,然后进行如下操作: ①在“索引”框中,输入“学号”作为索引名。 ②默认索引排序是升序,用鼠标单击索引方向,可改变排序的方向。 ③在“类型”下拉列表中,选择主索引。 ④在表达式框中,输入“学号”;也可以通过表达式生成器按钮进入“表达式生成器”对话窗口,生成索引表达式。 5.3 创建索引 5.3 创建索引 5.3 创建索引 二、命令方式创建索引 格式: INDEX ON 索引表达式 TO 索引文件名 /TAG 索引文件名[FOR条件][ASCENDING/DESCENDING] [UNIQUE/CANDIDATE] 功能:为打开的表建立索引或增加索引标识。 5.3 创建索引 INDEX ON 索引表达式 TO 索引文件名 /TAG 索引文件名[FOR条件][ASCENDING/DESCENDING] [UNIQUE/CANDIDATE] 功能:为打开的表建立索引或增加索引标识。 5.3 创建索引 例如:为“学生”表中的“学号”建立惟一索引,并按“姓名”和“专业”建立普通索引和候选索引。 Open database 教学 Use 学生 Index on 学号

文档评论(0)

xiaolan118 + 关注
实名认证
内容提供者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档