VFP第9部分(排序索引及多表操作)ppt课件.ppt
《VFP第9部分(排序索引及多表操作)ppt课件.ppt》由会员分享,可在线阅读,更多相关《VFP第9部分(排序索引及多表操作)ppt课件.ppt(55页珍藏版)》请在三一办公上搜索。
1、Visual Foxpro 6.0,程序设计基础,重庆工商大学计算机学院计算机基础教研室,数据表的分类排序,命令格式,sort to on/a/d/c,产生的表是关闭的,(教科书P73),分类排序有什么缺点,数据冗余,无法自动更新,数据表的索引排序,索引是按索引关键字表达式的值使数据表中的记录有序排列的一种技术,在Visual FoxPro系统中是借助于索引文件实现的。,1、什么是索引,索引关键字的值、记录号,(教科书P74),Visual FoxPro系统提供了四种不同的索引类型,它们分别是:,2、索引的类型,主索引:仅适用于数据库表,不允许关键字段有重复值,一个数据表只能建一个主索引。候选
2、索引:不允许索引关键字段有重复值普通索引:最常用的索引类型,无任何限制唯一索引:允许索引关键字段有重复值,3、索引文件的类型,(1)单索引文件(略)单索引文件是每个索引存放在一个独立的文件(.idx)中。,(2)结构化复合索引文件 结构化复合索引文件(.cdx)可以在同一个文件中包含多个索引,其中每个索引称为索引标识。,更重要的是,对于结构复合索引,无论何时打开表文件,该索引都会自动打开。其文件名与表名相同,一个表文件只产生一个结构化复合索引文件。(3)独立复合索引文件(略),4、索引的建立,(教科书P75),Index on tag ascending|descending,自动产生与表同名
3、的.CDX文件,结构化复合索引文件的建立(命令方式),特别注意:建立索引时,当涉及到两个或两个以上的不同类型的字段时:1)顺序若相同,则将非字符型转换为字符型,然后用“+”连接成一个字符表达式。,2)顺序若不同,则以字符型字段的顺序为准,若数字型字段的顺序与字符型不同,则用一个较大数减去该字段,再转化为字符型;若日期型字段的顺序与字符型不同,则用一个较大的日期减去该字段,再转化为字符型,然后用“+”连接成一个字符表达式。,【例】就学生表建立结构复合索引文件,其中包含2个索引:(1)按学号的升序排列,编号相同的记录只显示第一条。(2)先按性别升序,性别相同再按入学成绩降序排列。USE 学生 IN
4、DEX ON 学号 TAG sy1 UNIQUE INDEX ON 性别+STR(1000-入学成绩)TAG sy2,在表设计器中建立索引,表设计器中的“索引”选项卡,5、索引的使用,一个表文件可以建立多个索引,在操作中可以同时打开多个索引,但是任何时候只有一个索引起作用。索引依赖于表文件而存在,它随表的关闭而自动关闭。,当前起作用的索引标识称为主控索引。要使用索引必须满足以下条件:打开表;确定主控索引;,set order to tag,(1)确定主控索引,命令格式:,(教科书P77),(2)删除索引,delete tag all|,(3)索引更新,使用索引文件后,虽然表中各记录的物理顺序并
5、未改变。但记录指针不再按物理顺序移动,而是按主控索引文件中记录的逻辑顺序移动,于是整个表中的记录是按索引关键表达式值排序的效果。使用索引文件时,还要特别注意以下几点:(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
6、(),姓名&显示5 欧阳天地,复合结构索引文件的类型名称是()A)PJTB)PRGC)CDXD)MEM,不允许字段值出现重复的索引是()。A)侯选索引和主索引 B)普通索引和惟一索引 C)惟一索引和主索引 D)惟一索引,自由表gz.dbf有姓名/C/8、出生年月/D、基本工资/N/6/2等字段,要建立以“姓名、基本工资”两字段的组合索引,其索引关键字表达式是()。姓名+基本工资(B)“姓名”+“基本工资”(C)“姓名”+基本工资(D)姓名+str(基本工资,6,2),有数据表文件CJ.DBF,按姓名(C,8)的升序,上机成绩(N,6,2)的降序建立索引,正确的命令是()。A.INDEX ON
7、姓名-上机成绩 TAG CJIDX B.INDEX ON 姓名+STR(-上机成绩,6,2)TAG CJIDXC.INDEX ON 姓名+STR(1000-上机成绩)TAG CJIDXD.INDEX ON 姓名/A,上机成绩/D TAG CJIDX,某数据表有字段:学号/C、生日/D、成绩/N等。要建立学号、成绩、生日的组合索引,其索引关键字表达式是()。A)学号+成绩+生日 B)学号+成绩+生日C)学号+STR(成绩,5,1)+STR(生日,8)D)学号+STR(成绩,5,1)+DTOC(生日,1),多表操作,若要使用多个表,就要使用多个工作区。一个工作区是一个编号区域,它标识一个已打开的表
8、。在应用程序中通常通过使用工作区号和工作区别名来标识。,(教科书P82),1、工作区号 Visual foxPro提供了32767个工作区,编号从1到32767。每个工作区只允许打开一个表,一个表只能在一个工作区打开,系统默认的工作区为1号工作区。,2、别名(1)前十个工作区除了可用110来标识外,还可用AJ来表示工作区的别名。(2)定义别名,use alias,格式:,3、选择当前工作区,select|,如没有给表定义别名,则可以用数据表名作为别名。,sele 0 表示选定当前未使用的最小号工作区。,use in|,不改变当前工作区,【例】在不同的工作区分别打开学生.dbf、选课.dbf和课
9、程.dbf 3个表,命令序列如下:CLOSE ALL&关闭所有打开的文件SELECT 2USE 学生&选择2号工作区打开学生表SELECT CUSE 课程&选择3号工作区打开课程表USE 选课 IN 5&在5号工作区打开选课表,引用非当前工作区表的字段必须冠以别名,引用格式为:别名.字段名 别名-字段名,【例】在1号工作区打开学生表,在2号工作区打开选课表;当前工作区为1号,显示选课表中当前记录的学号、姓名、课程号和成绩字段的值。命令序列如下:(演示,并移动指针)CLOSE ALL&关闭所有打开的文件SELECT 1USE 学生&选择1号工作区打开学生表USE 选课 IN 2&在2号工作区打开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 部分 排序 索引 操作 ppt 课件
链接地址:https://www.31ppt.com/p-2061782.html