- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章索引、排序与统计
第六章索引、排序与统计
教学内容:前一次课我们讲了表的创建,然而在表里有多种对表的不同操作,比如排序、查找等一些命令操作。今天我们讲第5章:索引、排序与统计:
6.1 表的排序
(一)什么是排序:
对表记录的顺序做物理调整,并生成新表.
(二) 命令:
格式:SORT TO新表文件名 ON 排序字段名1 [/A] [/D] [/C] [,排序字段名2] [/A] [/D]…] [范围] [FOR 条件] [FIELDS 字段名表]
说明:
(1)排序的结果放入产生的新表文件,记录号发生变化。
(2)排序字段(有的书称关键字),可以是C、N、D型。C型,英文按字母、汉字按拼音顺序。
(3)[/A]—升序,[/D]—降序,[/C]—英文不分大小写,缺省—升序。
(4)可先按字段名1(关键字1)排序,若相同再按字段名2(关键字2)排序。
示例:
USE 学生表
SORT TO STUDENT1 ON 班级,姓名/D
USE STUDENT1
LIST
USE 学生表
SORT TO 学生表_金融 ON 学号 FOR 班级=“金融二”
USE 学生表_金融
LIST
6.2 索引的基本概念
6.2.1 什么是索引:
索引实际上是一种排序,但是它不改变表中数据的物理顺序,而是另外建立一个记录号列表。即对表记录的顺序做逻辑调整.
在Visual FoxPro系统中,可以为一个表建立多个索引,每一个索引确定了一种表记录的逻辑顺序。
注意:
一张数据表和它的索引是存放在两个文件里.
索引文件是不可视的.包含了索引关键字(即 此据建立索引的字段)和记录号两部分.
6.2.2索引类型
Visual FoxPro系统提供了四种不同的索引类型,它们分别是:
1.主索引
2.候选索引
3.普通索引
4.唯一索引
6.3 创建索引
(一)使用命令创建索引:
Index On 索引表达式
To 索引文件名/Tag 索引名
[ For 条件表达式]
[Ascending] [Descending]
[Unique] [Candidate](后选)
(二) 利用表设计器创建索引的操作步骤
文件
文件
打开
表的名字
显示
表设计器
索引
索引名
索引类型
索引表达式
保存
示例1:
USE 学生表
INDEX ON 姓名 TAG 姓名
LIST
USE 学生表
INDEX ON 班级+性别 TAG 班级_性别 OF 学生表_班级性别
LIST
INDEX ON 班级 TAG 班级 OF 学生表_班级性别
LIST
6.4 索引的使用
6.4.1使用索引排序
一 .打开索引文件
1.与表同名的结构索引在打开表时同时打开
2.非结构索引文件的打开:
Set index to 索引文件
二.设置当前索引项
set order to tag索引名
6.4.2 索引其他操作
1.更新
2.删除
3.关闭
6.4.3 几个查询命令
1.locate
格式:LOCATE [范围] FOR 条件 [WHILE条件]
说明:
(1)找到后指针指向该记录,用DISP显示。未找到,指向末记录后。
(2)适用于表文件。索引文件也是顺序查找(速度慢)。
(3)若满足条件的记录有多个,CONTINUE命令指针指向下一个。
(4)[范围]缺省=ALL
示例1:在“STUDENT.DBF”中查找姓名未周莉的记录。(教材P91例5-7)
2.seek
格式:SEEK 表达式 [ORDER 索引号/IDX 索引文件名/[TAG] 标识名 [OF CDX文件名] [ASCENDING/DESCENDING]]
说明:
(1)功能与FIND相同
(2)字符串必需用定界符,字符串变量不用””。
(3)查找的是表达式。
示例:
USE 学生表 INDEX 学生表_班级_学号
seek “金融二 ”+
DISP
SET INDEX TO 学生表_姓名
SEEK “章闻天”
DISP
XM=“王 平”
SEEK XM
DISP
6.5 统计计算与多表操作
6.5.1 统计计算
count/sum
格式:COUNT [范围] [FOR 条件] [WHILE 条件] [TO 内存变量名]
说明:
(1)[范围]缺省=所有记录
文档评论(0)