




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 33 3 排序和索引排序和索引 排序和索引引入 表的输出顺序按输入的先后排列排序和索引引入 表的输出顺序按输入的先后排列 如需要另一种顺序来输出记如需要另一种顺序来输出记 录录 需要对表进行排序和索引 需要对表进行排序和索引 3 3 1 排序排序 根据表的某些字段的值对表重排记录 排序后产生一个新的表文件 根据表的某些字段的值对表重排记录 排序后产生一个新的表文件 其记录按新的顺序排列 但原文件不变 其记录按新的顺序排列 但原文件不变 命令 命令 SORTSORT TOTO ONON 1 A D C A D C A D C 2 A D C 范围范围 FOR FOR 1 WHILE WHILE 2 FIELDS FIELDS 说明 说明 1 1 ONON 子句子句 的字段名表示排序字段 的字段名表示排序字段 A A 默认升序默认升序 D D 降序 降序 C C 不区分字段值中字母的大小写 不区分字段值中字母的大小写 不可选用通用型或备注 不可选用通用型或备注 型字段排序型字段排序 2 2 多重排序 主排序字段 第二排序字段 多重排序 主排序字段 第二排序字段 3 3 范围 条件 字段 默认对所有记录排序 范围 条件 字段 默认对所有记录排序 4 4 大小比较方法 数值型按数值大小比较 大小比较方法 数值型按数值大小比较 日期型按年月日先后比较日期型按年月日先后比较 字符型中字符型中 ASCIIASCII 字符按相应位置上的两个字字符按相应位置上的两个字 符的符的 ASCIIASCII 码值比较码值比较 字符型中的汉字按拼音序比较 字符型中的汉字按拼音序比较 例例 1 1 将学生信息表按总分成绩降序排序 总分相同的按语文成绩排将学生信息表按总分成绩降序排序 总分相同的按语文成绩排 序 结果生成新表序 结果生成新表 result1 result1 USEUSE 学生信息表学生信息表 SORTSORT TOTO RESULT1RESULT1 ONON 总分总分 D D 语文语文 USEUSE RESULT1RESULT1 LISTLIST 2 2 将学生信息表中英语将学生信息表中英语 60 60 分的数据降序排列到表分的数据降序排列到表 RESULT2RESULT2 中中 结果结果 里只显示姓名和英语两个字段里只显示姓名和英语两个字段 USEUSE 学生信息表学生信息表 SORTSORT ONON 英语英语 D D FORFOR 英语英语 60 60 FIELDSFIELDS 姓名姓名 英语英语 TOTO RESULT2RESULT2 USEUSE RESULT2RESULT2 LISTLIST 排序改变了表的物理结构排序改变了表的物理结构 3 3 2 索引的概念索引的概念 1 排序和索引的比较和区别 排序和索引的比较和区别 相同点 两者都能改变记录的输出顺序相同点 两者都能改变记录的输出顺序 区别 区别 物理顺序和逻辑顺序的概念物理顺序和逻辑顺序的概念 排序 产生一个新的独立的排序 产生一个新的独立的表文件表文件 此文件的物理顺序为所要求 此文件的物理顺序为所要求 的新的顺序 的新的顺序 索引 依附于原表文件增加一个索引 依附于原表文件增加一个索引文件索引文件 扩展名为 扩展名为 CDX 或或 IDX 存储的是要求的逻辑顺序 不改变物理顺序 产生逻辑顺序 存储的是要求的逻辑顺序 不改变物理顺序 产生逻辑顺序 举例 按学号升序排序 观察排序和索引文件的不同 举例 按学号升序排序 观察排序和索引文件的不同 例如 例如 XS DBF 的内容如下 的内容如下 记录号记录号学号学号姓名姓名性别性别年龄年龄党员否党员否 19803李梅李梅 29801 39804 49802 按学号升序排序 按学号升序排序 SORT ON 学号学号 TO 11 生成表文件生成表文件 11 DBF 其内容为 其内容为 记录号记录号学号学号姓名姓名性别性别年龄年龄党员否党员否 19801 29802 39803李梅李梅 49804 按学号升序建立索引 按学号升序建立索引 INDEX ON 学号学号 TAG 学号学号 生成的结构复合索引文件为生成的结构复合索引文件为 XS CDX 依附于表产生的 与表同名 扩展名不同 依附于表产生的 与表同名 扩展名不同 内容为 内容为 学号学号记录号记录号 98012 98024 98031 98043 所以索引文件所以索引文件 XS CDX 是逻辑排序 比排序文件是逻辑排序 比排序文件 11 DBF 要小得多 要小得多 索引文件 应用广泛 的优点 索引文件 应用广泛 的优点 I 和排序产生的表文件相比 和排序产生的表文件相比 索引文件 索引文件 CDX 或或 IDX 是按照是按照 索引关键字建立的记录的逻辑顺序 只包括索引关键字 对谁建立索引关键字建立的记录的逻辑顺序 只包括索引关键字 对谁建立 的索引 和的索引 和 记录号两个字段 比被索引的文件要小得多 记录号两个字段 比被索引的文件要小得多 II 对于 对于打开的打开的索引文件 增删或修改表的记录时索引文件会自动更索引文件 增删或修改表的记录时索引文件会自动更 新 而排序文件不行 需要重新排序 新 而排序文件不行 需要重新排序 2 索引的种类 索引的种类 单索引单索引 IDX 只包含一个索引 为兼容而保留使用 只包含一个索引 为兼容而保留使用 通常为非压缩型通常为非压缩型 按扩展名按扩展名 结构结构 主名与表的主名相同 主名与表的主名相同 随表一起打开 关闭和随表一起打开 关闭和 复合索引复合索引 CDX 允许有多个索引允许有多个索引 删除删除 总是压缩型总是压缩型 非结构 定义复合索引文件时为非结构 定义复合索引文件时为 它取了名字 使用时需它取了名字 使用时需 要先用命令打开 很少要先用命令打开 很少 用 用 普通索引普通索引 允许关键字重复 允许有多个 允许关键字重复 允许有多个 唯一索引唯一索引 允许关键字重复 但输出无重复值 允许有多个 允许关键字重复 但输出无重复值 允许有多个 按功能按功能 侯选索引侯选索引 不允许关键字重复 可用作主关键字 允许有多个 不允许关键字重复 可用作主关键字 允许有多个 主索引主索引 不允许关键字重复 仅在数据库表中建立 只允许有一不允许关键字重复 仅在数据库表中建立 只允许有一 个个 3 3 3 索引的建立索引的建立 命令方式 命令方式 复合索引文件 复合索引文件 INDEX ON TAG ASCENDING DESCENDING UNIQUE CANDIDATE ADDITIVE FOR 功能 建立索引文件或增加索引标识功能 建立索引文件或增加索引标识 说明 说明 1 索引关键字就是按哪个字段索引 索引关键字就是按哪个字段索引 可用表达式表示可用表达式表示 例如例如 姓姓 名名 学号学号 语文语文 2 TAG 子句用于给索引起名字子句用于给索引起名字 3 该命令默认建立普通索引型索引文件 该命令默认建立普通索引型索引文件 UNIQUE 表示建立唯一型索引文件表示建立唯一型索引文件 CANDIDATE 表示建立候选型索引文件表示建立候选型索引文件 主索引只能在数据库表中建立主索引只能在数据库表中建立 4 记录逻辑顺序默认为升序 记录逻辑顺序默认为升序 ASCENDING DESCENDING 分别表示升序和降序 分别表示升序和降序 5 ADDITIVE 用于表示建立本索引文件时并不关闭先前打开的用于表示建立本索引文件时并不关闭先前打开的 索引文件 索引文件 例例 建立结构复合索引文件建立结构复合索引文件 为学生信息表为学生信息表 DBF 建立一个建立一个结构复合索引文件结构复合索引文件 学号升序索学号升序索 引 索引标识名为学号 引 索引标识名为学号 院系名称和性别升序索引 索引标识院系名称和性别升序索引 索引标识 名为名为 X1 建立索引后自动打开 建立索引后自动打开 USE 学生信息表学生信息表 INDEX ON 学号学号 TAG 学号学号 LIST INDEX ON 所在系所在系 姓名姓名 TAG X1 LIST 界面方式 用表设计器查看和设计索引 界面方式 用表设计器查看和设计索引 查看 显示查看 显示 表设计器表设计器 索引选项卡索引选项卡 设计 显示设计 显示 表设计器表设计器 字段 索引选项卡字段 索引选项卡 升降序 类型 表达式的生升降序 类型 表达式的生 成成 例例 建立结构复合索引文件建立结构复合索引文件 1 按性别按性别降序降序排列 性别相同按姓名的排列 性别相同按姓名的降序降序排列 索引标识为排列 索引标识为 BB1 INDEX ON 性别性别 姓名姓名 DESC TAG BB1 2 按性别按性别升序升序排列 性别相同按数学成绩的排列 性别相同按数学成绩的升序升序排列排列 索引标识为索引标识为 BB2 INDEX ON 性别性别 STR 数学数学 TAG BB2 3 按数学 英语成绩的和的降序建索引 索引标识为按数学 英语成绩的和的降序建索引 索引标识为 BB3 INDEX ON 数学数学 英语英语 DESC TAG BB3 4 按数学成绩降序排列 如果数学成绩相等 按英语成绩的降序排按数学成绩降序排列 如果数学成绩相等 按英语成绩的降序排 列 索引标识为列 索引标识为 BB4 INDEX ON STR 数学数学 STR 英语英语 DESC TAG BB4 注意注意 所有的多关键字索引所有的多关键字索引 都是将关键字按顺序转换成字符型再相连接都是将关键字按顺序转换成字符型再相连接 单索引文件 单索引文件 INDEX ON TO 注意 注意 TO 用于建立单索引文件用于建立单索引文件 单索引文件不能对索引关键字降序排列单索引文件不能对索引关键字降序排列 可以用表达式构成降序 可以用表达式构成降序 例例 建单索引文件建单索引文件 USE XSDA INDEX ON 姓名姓名 TO XM LIST INDEX ON 总分总分 TO ZF UNIQUE LIST 3 3 4 索引的使用 索引的使用 要利用索引查询 必须同时打开表和索引文件 要利用索引查询 必须同时打开表和索引文件 一个表可以打开多个索引文件 同一个复合索引文件中包含多个索引标识 一个表可以打开多个索引文件 同一个复合索引文件中包含多个索引标识 任何时候只有一个索引文件能起作用 复合索引文件中也只有一个索引标任何时候只有一个索引文件能起作用 复合索引文件中也只有一个索引标 识起作用 识起作用 如 如 单索引文件单索引文件 1 单索引文件 单索引文件 2 单索引文件单索引文件 N 需命令方式打开 需命令方式打开 结构复合索引文件 索引标识结构复合索引文件 索引标识 1 索引标识 索引标识 2 索引标识 索引标识 N 随表打 随表打 开而打开 开而打开 当前起作用的索引文件称为主控索引文件 当前起作用的索引文件称为主控索引文件 当前起作用的索引标识称为主控索引 当前起作用的索引标识称为主控索引 实现索引查询必须满足以下条件实现索引查询必须满足以下条件 打开表打开表 打开索引文件打开索引文件 确定主控索引文件确定主控索引文件 确立主控索引确立主控索引 复合索引文件复合索引文件 1 打开和关闭索引文件打开和关闭索引文件 若当前仅有一个索引文件被打开 它就成为主控索引文件 若当前仅有一个索引文件被打开 它就成为主控索引文件 索引刚建立时 索引文件呈打开状态且成为主控索引文件 索引刚建立时 索引文件呈打开状态且成为主控索引文件 若当前打开了多个索引文件 可通过若当前打开了多个索引文件 可通过 SET INDEX 命令来确定主控索引文命令来确定主控索引文 件件 除结构复合索引文件外 其它索引文件必须用命令打开除结构复合索引文件外 其它索引文件必须用命令打开 表关闭时索引文件自动关闭 表关闭时索引文件自动关闭 命令格式 命令格式 SET INDEX TO ADDITIVE 索引文件名表中第一个索引文件为主控索引 该命令常用于打索引文件名表中第一个索引文件为主控索引 该命令常用于打 开单索引文件开单索引文件 USE 学生信息表学生信息表 SET INDEX TO XM ZF SET INDEX TO LIST 缺省缺省 ADDITIVE 选项 则先关闭 除结构复合索引文件外 其他索选项 则先关闭 除结构复合索引文件外 其他索 引文件 再打开本命令中的索引文件 引文件 再打开本命令中的索引文件 SET INDEX TO 关闭关闭除结构复合索引文件外除结构复合索引文件外的所有索引文件 同时的所有索引文件 同时 取消主控索引 取消主控索引 2 确定主控索引确定主控索引 复合索引文件中当前建立的索引标识自动成为主控索引 复合索引文件中当前建立的索引标识自动成为主控索引 表重新打开时需要重新确立主控索引 表重新打开时需要重新确立主控索引 命令格式 命令格式 SET ORDER TO TAG SET ORDER TO 或或 SET ORDER TO 0 取消主控索引文件及主控索引取消主控索引文件及主控索引 例 例 USE 学生信息表学生信息表 LIST SET ORDER TO TAG X1 LIST SET ORDER TO 1 LIST SET ORDER TO 2 LIST SET ORDER TO 结构复合索引文件随表的打开而打开结构复合索引文件随表的打开而打开 按物理顺序输出按物理顺序输出 确立确立 X1 为主控索引为主控索引 确立学号为主控索引确立学号为主控索引 确立确立 X1 为主控索引为主控索引 取消索引取消索引 按物理顺序输出按物理顺序输出 L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 垃圾焚烧发电项目建设与技术方案
- 混凝土泵送施工工艺方案
- 豪华游轮服务员聘用合同及海上服务规范
- 时尚理发店员工招聘与劳务派遣服务协议
- 高端酒店企业股权转让及品牌管理服务合同
- 基于海绵城市理念的老旧小区排水改造策略
- 2025年新能源汽车电池热管理系统在电动汽车安全性能中的重要性报告
- 2025年地热能发电行业市场潜力分析与投资策略报告
- 4.3 坐标平面内图形的轴对称和平移说课稿-2025-2026学年初中数学浙教版2024八年级上册-浙教版2024
- 机械学基础考试题及答案
- 会场布置及座次安排
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 碳足迹核算与生命周期评价方法
- 2024年中国人寿:养老险上海分公司招聘笔试参考题库含答案解析
- 自我同一性理论与经验研究
- 二十四节气与养生
- 企业安全培训课件-网络与信息安全
- 供应商罚款联络函
- 上海交通大学中文主页
- 骨关节外科问诊知识讲座
- 振荡指标MACD(波段操作精解)
评论
0/150
提交评论