第三章查询及统计.ppt
文本预览下载声明
第三章查询与统计 主要内容 本章主要内容: 两种查询方法 顺序查询 索引查询 三种交互方式的查询工具 数据工作期 查询设计器 视图设计器 3.1 排序与索引 两种排序方式: 排序( SORT ): 物理排序,生成新的表文件 索引( INDEX ): 逻辑排序,不生成新的表文件 作用: 改变记录输出顺序 3.1.1 排序 功能:按照库文件的某些字段重排记录顺序,并将结果存入一个新库文件。 命令格式: SORT TO 新库文件名 ON 字段名1 [/A][/D] [/C] [,字段名2 [/A][/D][/C]……] [范围][FOR 条件1][WHILE 条件2][FIELDS 字段名表] 关于命令格式的几点说明(一): TO 新库文件名 中的库文件是新生成的,原来库文件不变 ON 字段名 中的字段名为排序字段 [/A][/D] [/C]表示排序方式 升序(默认) 降序 区分字母的大小写 可组合使用 关于命令格式的几点说明(二): [,字段名2 [/A][/D][/C]……]表示在并列的情况可设定第二种(或更多)排序字段 [范围][FOR条件1][WHILE 条件2]表示可限定生成的新库文件中记录个数 [FIELDS 字段名表]表示可限定生成的新库文件中字段个数 注:备注型、通用型数据不能排序 应用举例 对给定表文件SB.DBF分别按一下要求排序: 将1988年以后启用的设备按启用日期降序排列,并要求新文件(rqx.dbf)中只包含编号、名称、启用日期三个字段。 按部门降序排序,当部门相同时则按价格升序排序(新库文件bmx.dbf)。 相关操作 USE SB SORT TO rqx ON 启用日期/D ; FIELDS 编号,名称,启用日期 ; FOR YEAR(启用日期)=1988 **利用SB库文件生成第一个有序库** SORT TO bmx ON 部门/D,价格 **利用SB库文件生成第二个有序库** USE rqx 打开生成的新表LIST USE bmx 打开生成的新库LIST 3.1.2 索引 索引的概念 物理顺序:排序文件,即生成的新库 逻辑顺序:索引文件,须与原表关联 表的索引,是指建立一个与该表文件相对应的索引文件,记录的显示和处理将按索引表达式指定的顺序进行。 索引文件只存储关键字和记录号,索引起作用后,增删或修改表的记录时索引文件会自动更新,故而索引的应用远比排序为广。 索引的特点 索引比排序的速度更快,占用的磁盘空间也少得多。 索引不同于排序。它是一种逻辑排序方法,不改变已打开的数据库文件记录数据的物理排序顺序。 索引文件的类型 按文件扩展名分(.IDX和.CDX) 单索引文件,扩展名为.IDX 复合索引文件,扩展名为 .CDX 结构复合索引: 不需要用户为索引文件命名,其文件名由系统 自动默认为库主文件名.cdx,可随库文件 的打开而打开。 非结构复合索引: 需要为索引文件命名 按功能分: VFP对结构复合索引文件提供了四种类型:主索引、候选索引、唯一索引和普通索引 。 主索引是指关键字段或索引表达式中不允许出现重复值的索引,主要用于主表或被引用的表,用来在一个永久关系中建立参照完整性。一个表而言,只能创建一个主索引。 候选索引是可以作主关键字的索引,因为它不包含Null值或重复值。在数据表和自由表中均可以为每个表建立多个候选索引。 唯一索引不允许两个索引具有相同的索引值,这种要求与主索引相同。为了保持与早期版本的兼容性,可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。 普通索引可以用来对记录排序和搜索记录,它不强迫记录中的数据具有唯一性。在一个表中可以有多个普通索引。 选择合适的索引类型可以以下列准则作为依据: 1、如果需要排序记录,以便显示、查询或打印,可以使用普通索引、候选索引或主索引。 2、如果要在字段中控制重复值的输入并对记录排序,则对数据表可以使用主索引或候选索引,对自由表可以使用候选索引。 3、如果准备设置关系,则可以依据表在关系中所起的作用来分别使用普通索引、主索引或候选索引。 4.2.1 建立索引 应用举例: 建立名称升序排序的普通索引型单索引文件MCIDX.IDX 建立价格降序排列的唯一索引型单索引文件JGIDX.IDX Use sb Index on 名称 to mcidx List Index on –价格 to jgidx unique List tm04 复合索引文件的建立 格式:INDEX ON 索引关键表达式 TAG 标记名 [OF 复合索引文件名][FOR 条件] [ASCENDING | DESCENDING] [UNIQUE|CANDIDATE] [AD
显示全部