- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库课件4-多工作区xs
第三章表的排序、索引和查询 3.7 数据工作期 多数据表操作 引子 使用USE命令打开一个表,实际上是在内存中开辟一个区域,存放被打开的表文件及相关索引文件、备注文件等。这个区域称为工作区。如果想对另一个表操作,还需使用USE命令再打开另一个表。但这样操作后,原来打开的表就自动关闭了。为了同时能对多个表进行操作,Visual FoxPro提供了多工作区操作方式。 Sele 1 Use ts Sele b Use dz alias sss Sele a List Sele b Sele 2 Sele sss Clos all 三、 使用非当前工作区中的数据 访问非当前工作区的数据表时,用下列形式指明工作区的别名: 工作区别名.字段名 工作区别名?字段名 功能:在当前工作区中对“别名”工件区中表文件中指定 的字段进行访问 Sele 1 Use ts Sele 2 Use dz Disp 编号,书号,a.书号,a.书名 3.7. 2 数 据表 的 关 联 关联:即当移动父数据表文件的记录指针时,子数据表文件的记录指针也进行相应的移动。 建立数据表文件之间的关联关系的两种方式: 一、通过索引关键字建立一对一的关联 格式: SET RELATION TO [表达式1] INTO 工作区号1|工作区别名1 [,表达式2 INTO 工作区号2|工作区别名2 …..] [ADDITIVE] 功能:将当前主数据表文件与从数据表文件之间 建立起关联。 例如: SET RELATION TO 编号 INTO B 说明:1、父表与子表必须都打开。 2、表达式1:为父表和子表间建立关联的表达式, a.必须是父表和子表的公共字段,且子表必须以该字符建索引; b.当其为记录号为时,表示父表与子表之间是根据记录号进行关联的。 此时不用建索引. 3、ADDITIVE: 若使用该子句,则在建立新关联的同时,保留当前工作区内已经建立的关联;否则,取消原来已经建立的关联。 例1: sele 1 use ts sele 2 use jsxx inde on 编号 tag bh sele 3 use dz set rela to 编号 into b 练习: 例1:将jsxx.dbf和dz.dbf在不同的工作区打开。(注意各工作区的记录指针) Sele 1 Use jsxx Sele 2 Use dz ? Recn() disp 编号,书号,a.编号,a.姓名 Sele 1 ? Recn() Skip 3 ? Recn() Sele 2 ? Recn() disp 编号,书号,a.编号,a.姓名 例3:将jsxx.dbf和dz.dbf按编号关联。 Sele 1 Use jsxx Sele 2 Use dz Sele 1 inde on 编号 tag bh Sele 2 set rela to 编号 into a Go 4 Disp 编号,姓名,a.编号,a.书号 Skip 3 Disp 编号,姓名,a.编号,a.书号 List 编号,姓名,a.编号,a.书号 例2:将jsxx.dbf和dz.dbf以记录号关联。(注意各工作区的记录指针) Sele 1 Use jsxx Sele 2 Use dz disp 编号,书号,a.编号,a.姓名 ? Recn() Sele 1 ? Recn() Sele 2 Set rela to recn() into a Go 4 disp 编号,书号,a.编号,a.姓名 Skip 3 disp 编号,书号,a.编号,a.姓名 练习:使用如下三个表: xs(xh, xm, xb, csrq, zy, zf, rxzf)、 kc(kcbh, kcmc, xs, xf, kcjs)、 xk(xh, kcbh, cj) 显示每个学生的学号、姓名、专业、课程名、成绩。 二、表文件之间“一对多”的关联 SET SKIP TO [别名1[别名2]….] 功能:在两个表之间建立一对多的关联。 说明:在使用该命令为两个数据表文件建立“一对多”的关联时,必须已使用SET RELATION命令建立了这两个数据表文件之间的关联。 上例添加: set skip to a 注意关联不要循环 取消关联: 1、取消所有的关联:SET RELATION TO 2、取消所有的“一对多”关联:SET SKIP TO 3、取消指定的某个关联: SET RELATION OFF INTO 数值表达式
文档评论(0)