VF课件第5章 数据排序 检索 统计和多个表的操作_第1页
VF课件第5章 数据排序 检索 统计和多个表的操作_第2页
VF课件第5章 数据排序 检索 统计和多个表的操作_第3页
VF课件第5章 数据排序 检索 统计和多个表的操作_第4页
VF课件第5章 数据排序 检索 统计和多个表的操作_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章数据排序、检索、统计和多表操作提要索引排序数据统计

数据检索

多表操作

分类排序5.1分类排序数据表的排序就是把数据表中的记录按照某个或某些字段值的大小顺序重新排列,排列依据的字段称为关键字段,排序后生成一个新的表文件。命令格式:SORTTO<新文件名>ON<字段1>[/A]/[/D][/C][,<字段2>……][<范围>][FIELDS<字段表>]例1:对”学生.DBF”按入校分降序生成”入校总分.DBF”文件,且新表只包括学号姓名、入校总分三个字段。SORTTORXON入校总分/D5.2表的索引1.索引的概念(1)物理顺序(2)逻辑顺序(3)复合索引和单索引①复合索引(.CDX)

②单索引文件(.IDX)逻辑索引记录地址学号姓名成绩A870005张三456B870002李四645C870001王五587D870004孙六676E870003钱七565主关键字(学号)记录地址870001C870002B870003E870004D870005A关键字学号与学生记录地址的对应表主文件索引表2.索引的建立

INDEXON<索引关键字表达式>TO<单索引文件名>/TAG<索引标识>[FOR<条件>][COMPACT][ASCENDING/DESCENDING][UNIQUE/CANDIDATE][ADDITIVE](1)索引关键字:指明将要建立索引的字段(2)TO|TAG(3)COMPACT:指定单索引文件是否要压缩(4)

UNIQUE|CANDIDATE:(唯一索引型)/(侯选索引)例1:对“学生.DBF”按入校总分降序建单索引文件.INDEON-入校总分TOXS1例2:对“学生.DBF”建立复合索引.(1)按姓名降序的普通索引,标识为XMINDEON姓名TAGXMDESC(2)按性别和入校总分升序的普通索引.标识XBZFINDEON性别+STR(入校总分,3)TAGXBZF

3.索引文件的应用(1)打开或关闭索引文件并确定控制索引SETINDEXTO[<索引文件表>][ADDITIVE]USE<文件名>INDEX<索引文件表>(2)确定主控索引SETORDERTO[<数值表达式>|<单索引文件名>|[TAG]<索引标识>[ASCENDING|DESCENDING]].注:SETORDERTO或SETORDERTO0命令是取消索引文件及控制索引(3)删除索引文件或索引标识DELETETAGALL|<索引标识1>[,<索引标识2>](4)更新索引REINDEX(5)关闭索引SETINDEXTOCLOSEINDEXUSE5.3数据检索5.3.1.定位查询LOCATE[FOR<条件>]/[WHILE<条件>][<范围>]……CONTINUE[注意常用函数:FOUND();EOF()]例1:查找”学生.DBF”中姓名为李红的记录.LOCAFOR姓名=”李红”例2:在”学生.DBF”中查找入校总分大于580分的学生.5.3.2索引查询FIND命令命令格式:FIND<字符常量/数值常量>2.SEEK命令命令格式:SEEK<表达式>例1:查找姓名为”李红”的学生.USE学生INDEXMSEEK“李红”/FIND李红例2:查找入校总分是565的女生。SETORDERTO2SEEK“女”+STR(565,3)例3:查找入校总分280的记录。5.4数据统计1.计数命令COUNT[<范围>][FOR<条件>][TO<内存变量>]2.求和/求平均命令SUM/AVERAGE[<数值表达式>][<范围>][FOR<条件>][TO<内存变量表>/ARRAY<数组>]3.计算命令CALCULATE<表达式>[<范围>][FOR<条件>][TO<内存变量表>/ARRAY<数组>]AVG()CNT()MIN()MAX()SUM()4.分类汇总命令TOTALON<关键字段名>TO<汇总文件名>[<范围>][FOR<条件>][FIELDS<字段名表>]综合练习:对表学生成绩.DBF做如下操作(1)统计每个学生的平均分和总分.(2)输出最低平均分和最高总分.(3)统计总分220分以上的人数(4)追加一个记录,显示各科平均成绩。5.5多工作区的操作一.工作区选择与数据工作区1.工作区号VFP共提供了32767个工作区,编号从1—32767。在每个工作区中只允许打开一个库文件。2.工作区别名前十个工作区可以用A—J作为别名,11-32767别名为W11-W32767。

USE<表文件名>[ALIAS<别名>]3.选择工作区

SELECT<工作区号>/<别名>(区号:0--32767)5.5.1工作区的概念当访问其他工作区的数据时,字段名前面加别名。调用格式:工作区名->字段名(工作区名.字段名)

或:别名->字段名(别名.字段名)例:查看学生的姓名、出生年月、物理、英语成绩。SELE1USE学生SELEBUSE学生成绩ALIASCJSELECTADISP姓名,出生年月,CJ.物理,B.英语(用LIST会怎样?)5.5.2表之间的关系1.表的关联两个表的记录指针之间建立一种临时的关系,当父表的记录指针移动时,子表的记录指针同步移动。关联的条件是首先为子表按关联的关键字建立索引,然后进行关联。

VFP支持一对一、一对多、多对一的关系。2.用命令建立关联SETRELATIONTO[<关联表达式1>]INTO<别名1>[,<关联表达式2>]INTO<别名2>[,……][ADDITIVE]3.数据工作期窗口建立关联4.说明一对多关系的命令SETSKIPTO[<别名1>[,<别名2>]……]例:利用”学生.DBF”,”课程.DBF”,”选课.DBF”通过关联显示学生姓名,课程名,成绩三个字段。5.5.3表的更新

【命令】UPDATEON<关键字>FROM<别名>REPLACE<字段名1>WITH<表达式1>[,<字段名2>WITH<表达式2>…][RANDOM]5.5.4表之间的连接将两个表的相关字段组合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论