VFP第9部分(排序索引及多表操作).ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据表的索引排序 索引是按索引关键字表达式的值使数据表中的记录有序排列的一种技术,在Visual FoxPro系统中是借助于索引文件实现的。 Visual FoxPro系统提供了四种不同的索引类型,它们分别是: 使用索引文件后,虽然表中各记录的物理顺序并未改变。但记录指针不再按物理顺序移动,而是按主控索引文件中记录的逻辑顺序移动,于是整个表中的记录是按索引关键表达式值排序的效果。 使用索引文件时,还要特别注意以下几点: (1)在使用GO命令时,GO 数值表达式使记录指针指向具体的物理记录号,而与索引无关,而GO TOP|BOTTOM将使记录指针指向逻辑首或逻辑尾记录,这时GO TOP不再等同于GO 1。 (2)SKIP命令按逻辑顺序移动记录指针。 (3)表被打开后,记录指针位于TOP位置。 【例】 当索引起作用时,分析记录指针的移动规律。 USE 学生 INDEX ON 入学成绩 TAG sy3 GO 6 ? RECNO(),姓名 显示6 李勤奋 SKIP ? RECNO(),姓名 显示5 欧阳天地 1、关联的概念 每个工作区打开的表中都存在一个记录指针,指针指向的记录是当前记录,如果表之间没有关系,则各个表的记录指针相互独立,即当前工作区指针移动时,其他工作区的指针不移动。 所谓关联,就是让不同工作区数据表的记录指针建立一种临时的联动关系。使一个表的记录指针移动时,能带动另一个表的记录指针按一定的条件作相应地移动。前者称为关联表(主动表、父表),后者称为被关联表(被动表、子表) 关键字为唯一值 关键字为唯一值 一 一 关键字为重复值 关键字为唯一值 多 一 关键字为唯一值 关键字为重复值 一 多 关键字为重复值 关键字为重复值 多 多 父表 子表 主动 被动 建立表间的关联 建立数据库文件中表间关联, 一是要保证建立关系的表具有相同的字段值(关键字值); 二是子表要以该字段建立索引。 建立两个表之间的“一对一”和“多对一”关联的步骤: ①找到两个表中能够建立关联的字段(字段名可以不同,类型、宽度、小数位数必须相同) ②根据关键字值确定父表,再确定子表; ③先打开子表,建立索引; ④最后打开父表建立关联。 有重复值为父表 set rela to [表达式1 into 别名1,…,表达式N into 别名N] [additive] 说明:①发出关联命令所在工作区的表是父表 建立关联的命令 (教科书P83) ②子表必须对关联字段索引 ③表达式是关联的关键字 不同名的字段只要类型和数值相同也可建立关联。 ④关联后,父表指针移动带动子表指针移动;而如果当前工作区是子表,其指针移动,父表指针不会移动。 实验指导书P35 实验15任务1(1) ⑤[additive] 一般用于三个或三个以上的表之间建立多重关联,第2、3…个关联使用该选项。 ⑥关联后,当前工作区字段名可以直接使用,子表的字段在使用时要加“别名.字段名”。 ⑦set rela to recn()+N into 别名把记录号作关键字建立关联。 ⑧关闭或重新打开数据表,关联就会消失。(故称为临时关系) BB AA Sele 1 Use AA inde on 字段 tag zd Sele 2 Use BB Set rela to 字段 into A(或 AA) 字段 sele 0 use AA index on 字段 tag zd sele 0 use BB set relation to 字段 into AA AA BB CC 或 BB AA CC 字段1 字段2 字段1 3个表建关联? 字段2 (见实验书第16页任务1) set skip to [别名1 [, 别名2] …] 一般不用 用在set relation命令之后,说明已建关联的性质为一对多关系。 建立表间的一对多关系 原则: 一般建立“多对一”或“一对一”的关联; 一般如果要求显示的结果是按照某个字段值的顺序排列,则包含该字段的表应作父表。 * 数据表的分类排序 命令格式 sort to 文件名 on 字段1 [/a] [/d][/c]……

文档评论(0)

151****0104 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档