- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章数据排序查询统计和多表操作选编
Visual Foxpro程序设计第5章数据排序检索统计和多表操作; 表中的记录一开始是按输入的先后顺序(记录号)排列的。如果要按另外一种特定的顺序显示或输出,就必须对表进行排序或索引。排序和索引都可以改变记录的输出顺序。;5.1分类(物理)排序
是根据表的某些字段的值,将表中的记录由大到小(降序)或由小到大(升序),物理地重新排列记录顺序,生成一个新表,称为排序文件。排序文件中记录按新的顺序排列并重新生成记录号,而原表保持不变。;排序命令
格式:
SORT TO 新表名 ON 字段名1[/A|/D][/C][,字段名2[/A|/D][/C]…] [范围][FOR|WHILE条件][FIELDS字段名表][ASCENDING]|[DESCENDING]
功能:
对当前表中指定范围内满足条件的记录,按指定字段的升序或降序重新排列,并将排序后的记录按FIELDS子句指定的字段写入新的表??件中。;命令说明:
新表名:存放排序后记录的新表名,该表生成后是关闭的,要使用它必须先打开;
ON 字段名1…:指定当前选定的、要排序的表中的字段名(不能是备注和通用字段)。参与排序的字段可有多个;
[/A][/D][/C]:对于排序中包含的每个字段,可以指定排序顺序(升序或降序)。/A为升序(系统默认排序方式);/D为降序; /C,默认情况下,字符型字段的排序顺序区分大小写,该参数忽略大小写; ;范围:默认为ALL,即所有记录;
FOR条件,对满足条件的记录排序;
FIELDS字段名表,指定新表中记录所包含的字段。
[ASCENDING]|[DESCENDING]:指定没有用[/A][/D]指明排序序列的其余字段的排序顺序。
例:
USE 学生
SORT TO 学生1 ON 性别,入校总分/D FOR 入校总分540 FIEL 学号,姓名,性别,出生日期,入校总分 ASCENDING;二、索引(逻辑)排序
索引为提高查询效率而建立,是一种逻辑排序。
(一)索引的概念及类型
1.概念:
索引是按照索引表达式的值使表中的记录有序排列的一种方法,是进行快速显示及查询数据的重要手段,是建立表间关系的基础。它不改变表中数据的物理顺序。在VFP系统中,索引是借助于索引文件实现。
索引文件包括两个部分:索引表达式的值和物理记录号。索引表达式的值按一定顺序排列并对应于物理记录号,显示时按索引表达式值的顺序读取相应的记录号所指的记录。;索引文件与表文件关系示意;索引与物理排序的区别:
1.物理排序要生成新表,记录的物理顺序发生变化,新表可以单独使用;
2.索引不生成新表,而是产生一个索引文件,只是表中记录的逻辑顺序发生了变化。索引文件不能单独使用,它必须同表一起配合使用。;2.索引文件的类型
根据索引文件包含索引的个数和打开方式,可分为:
(1)单索引文件
扩展名为.IDX,只有一项索引,只能用命令方式建立,使用时需单独打开;
(2) 复合索引文件
可以有多项索引,各项索引用唯一的索引标识区别。包括结构复合索引和非结构复合索引。结构复合索引文件名与表同名,扩展名为.CDX,随表的打开而自动打开。非结构复合索引文件名与表名不同,扩展名为.CDX,不随表打开,使用时用命令打开。;3.索引的类型
VFP的索引文件中根据表中字段值是否有重复,提供了四种类型:主索引、候选索引、普通索引和惟一索引。数据库表允许所有索引,自由表没有主索引。
(1)主索引
一个表只能有一个,在指定字段或索引表达式中不允许有重复值,其索引表达式的值能够惟一地标识每条记录的处理顺序,主要用于建立永久关系的主表中;;(2)候选索引
一个表可以有多个。在指定字段或索引表达式中不允许有重复值,其索引表达式的值能够惟一地标识每条记录的处理顺序。
(3)惟一索引
一个表可有多个。索引表达式的值相同时,则只存储第一条记录,不重复存储。
(4)普通索引
一个表可有多个。索引表达式的值可以相同,一个值对应的多条记录,允许重复存储在索引表中。;(二)建立索引
1.通过表设计器建立索引
利用表设计器可以实现对结构复合索引建立和修改。
;2.命令方式建立索引
(1)建立单索引文件
格式:INDEX ON 索引表达式 TO 索引文件名[FOR条件表达式][UNIQUE][ADDITIVE]
功能:创建单索引文件,其扩展名为.IDX。
说明:
UNIQUE指定建立惟一索引, ADDITIVE建立索引时不关闭原有索引;
单索引文件只能按升序排列,但可以用 SET INDEX 或 SET ORDER 命令将 .IDX 索引文件指定为降序。
例:
USE 学生
INDEX ON 学号 TO XH
LIST
思考:索引表达式为数值型时,
文档评论(0)