欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VFP第8部分(排序索引及多表操作)解析课件.ppt

    • 资源ID:1481584       资源大小:363KB        全文页数:55页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VFP第8部分(排序索引及多表操作)解析课件.ppt

    Visual Foxpro 6.0,程序设计基础,重庆工商大学计算机学院计算机基础教研室,数据表的分类排序,命令格式,sort to on /a /d/c,产生的表是关闭的,(教科书P73),分类排序有什么缺点,数据冗余,无法自动更新,数据表的索引排序,索引是按索引关键字表达式的值使数据表中的记录有序排列的一种技术,在Visual FoxPro系统中是借助于索引文件实现的。,1、什么是索引,索引关键字的值、记录号,(教科书P74),Visual FoxPro系统提供了四种不同的索引类型,它们分别是:,2、索引的类型,主索引:仅适用于数据库表,不允许关键字段有重复值,一个数据表只能建一个主索引。 候选索引:不允许索引关键字段有重复值普通索引:最常用的索引类型,无任何限制 唯一索引:允许索引关键字段有重复值,3、索引文件的类型,(1)单索引文件(略) 单索引文件是每个索引存放在一个独立的文件(.idx)中。,(2)结构化复合索引文件 结构化复合索引文件(.cdx)可以在同一个文件中包含多个索引,其中每个索引称为索引标识。,更重要的是,对于结构复合索引,无论何时打开表文件,该索引都会自动打开。 其文件名与表名相同,一个表文件只产生一个结构化复合索引文件。(3)独立复合索引文件(略),4、索引的建立,(教科书P75),Index on tag ascending|descending ,自动产生与表同名的.CDX文件,结构化复合索引文件的建立 (命令方式),特别注意: 建立索引时,当涉及到两个或两个以上的不同类型的字段时:1)顺序若相同,则将非字符型转换为字符型,然后用“+”连接成一个字符表达式。,2)顺序若不同,则以字符型字段的顺序为准,若数字型字段的顺序与字符型不同,则用一个较大数减去该字段,再转化为字符型;若日期型字段的顺序与字符型不同,则用一个较大的日期减去该字段,再转化为字符型,然后用“+”连接成一个字符表达式。,【例】 就学生表建立结构复合索引文件,其中包含2个索引:(1)按学号的升序排列,编号相同的记录只显示第一条。(2)先按性别升序,性别相同再按入学成绩降序排列。 USE 学生 INDEX ON 学号 TAG sy1 UNIQUE INDEX ON 性别+STR(1000-入学成绩) TAG sy2,在表设计器中建立索引,表设计器中的“索引”选项卡,5、索引的使用,一个表文件可以建立多个索引,在操作中可以同时打开多个索引,但是任何时候只有一个索引起作用。 索引依赖于表文件而存在,它随表的关闭而自动关闭。,当前起作用的索引标识称为主控索引。 要使用索引必须满足以下条件: 打开表; 确定主控索引;,set order to tag ,(1)确定主控索引,命令格式:,(教科书P77),(2)删除索引,delete tag all | ,(3)索引更新,使用索引文件后,虽然表中各记录的物理顺序并未改变。但记录指针不再按物理顺序移动,而是按主控索引文件中记录的逻辑顺序移动,于是整个表中的记录是按索引关键表达式值排序的效果。 使用索引文件时,还要特别注意以下几点: (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 欧阳天地,复合结构索引文件的类型名称是( )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 姓名-上机成绩 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),多表操作,若要使用多个表,就要使用多个工作区。一个工作区是一个编号区域,它标识一个已打开的表。在应用程序中通常通过使用工作区号和工作区别名来标识。,(教科书P82),1、工作区号 Visual foxPro提供了32767个工作区,编号从1到32767。 每个工作区只允许打开一个表,一个表只能在一个工作区打开,系统默认的工作区为1号工作区。,2、别名(1)前十个工作区除了可用110来标识外,还可用AJ来表示工作区的别名。 (2)定义别名,use alias ,格式:,3、选择当前工作区,select |,如没有给表定义别名,则可以用数据表名作为别名。,sele 0 表示选定当前未使用的最小号工作区。,use in |,不改变当前工作区,【例】 在不同的工作区分别打开学生.dbf、选课.dbf和课程.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号工作区打开选课表,当前工作区为1号? 学号,姓名,选课.课程号,选课-成绩,学生管理数据库中的表,bof():文件开始的测试函数 eof():文件结束的测试函数 recno():返回当前记录号 sele():返回当前工作区区号,4、工作区常用函数,建立表间的关联关系(临时关系),要在两个或两个以上的表之间进行数据操作时,通常有关联和连接两种方法。,1、关联的概念 每个工作区打开的表中都存在一个记录指针,指针指向的记录是当前记录,如果表之间没有关系,则各个表的记录指针相互独立,即当前工作区指针移动时,其他工作区的指针不移动。,所谓关联,就是让不同工作区数据表的记录指针建立一种临时的联动关系。使一个表的记录指针移动时,能带动另一个表的记录指针按一定的条件作相应地移动。前者称为关联表(主动表、父表),后者称为被关联表(被动表、子表),建立表间的关联 建立数据库文件中表间关联,一是要保证建立关系的表具有相同的字段值(关键字值);二是子表要以该字段建立索引。,建立两个表之间的“一对一”和“多对一”关联的步骤: 找到两个表中能够建立关联的字段(字段名可以不同,类型、宽度、小数位数必须相同) 根据关键字值确定父表,再确定子表; 先打开子表,建立索引; 最后打开父表建立关联。,有重复值为父表,set rela to into , into additive,说明:发出关联命令所在工作区的表是父表,建立关联的命令,(教科书P83),子表必须对关联字段索引 是关联的关键字 不同名的字段只要类型和数值相同也可建立关联。关联后,父表指针移动带动子表指针移动;而如果当前工作区是子表,其指针移动,父表指针不会移动。,实验指导书P35 实验15任务1(1),additive 一般用于三个或三个以上的表之间建立多重关联,第2、3个关联使用该选项。关联后,当前工作区字段名可以直接使用,子表的字段在使用时要加“别名.字段名”。set rela to recn()+N into 把记录号作关键字建立关联。关闭或重新打开数据表,关联就会消失。(故称为临时关系),BB AA,Sele 1Use AA inde on 字段 tag zdSele 2Use BBSet rela to 字段 into A(或 AA或1),字段,Sele 0Use AA inde on 字段 tag zdSele 0Use BBSet rela to 字段 into AA,AA BB CC或AA BBAA CC,字段1,字段2,字段1,3个表建关联?,字段2,(见教科书第84页例4.22),set skip to , ,一般不用,用在set relation命令之后,说明已建关联的性质为一多关系。,建立表间的一对多关系,原则: 一般建立“多对一”或“一对一”的关联; 一般如果要求显示的结果是按照某个字段值的顺序排列,则包含该字段的表应作父表。,例: 在学生表和选课表中,显示成绩80分的学生的学号、姓名、所学课程的课程号和成绩。,学生管理数据库中的表,set safety offclose allclearselect 1use 学生 alias xsindex on 学号 tag xhselect 2use 选课set relation to 学号 into xs,系统环境设置,表环境设置,list for 成绩80fields 学号,xs.姓名,课程号, 成绩close allset safety oncancel,数据处理,恢复系统环境,主索引与永久关系,有些数据表格和其他数据表格之间存在着某些关系,我们需要将这些有关系的数据表格纳入同一个数据库中,并建立其彼此之间的关系,使用者才能更好的运用数据表格,更容易达到数据管理的目的。,1)主索引的建立,注意:只能为数据库表建立主索引,不能为自由表创建主索引。当从数据库中移走有主索引的表而成为自由表时,他们的主关键字将会随之消失。,2)永久关系和临时关系,永久性关系建立在数据库本身,只要数据库存在,永久关系就存在,不会因其他命令的执行而消失。,在“数据库设计器”窗口中,两个数据表格之间的连线,就是“永久性关系”。,(见教科书90页图5.3),字段之间的关系(不管是永久性的还是临时性的),都是要靠索引来达成的,也就是说,某个字段欲建立关系,需先以此字段的内容建立索引,再利用此索引建立关系。,表之间的关系,注意:建立“永久性关系”的父表必须以关键字建立主索引或侯选索引,而子表则可以以关键字建立任意类型的索引(一对一或一对多)。而建立“临时关系”的父表可以不需建立索引,只需子表以关键字建立任意类型的索引即可(一对一或多对一) 。,永久关系连线的作用是在数据表格作“更新”、“删除”、“新增”等动作时,对表格做一个检查的动作,以符合某些规则。(而存储这些规则的地方就是所谓的“参考完整性”(RI)。),在数据库中的表建立永久关系后,可以设置管理相关记录的规则。这些规则可以控制相关表中记录的插入、删除或更新操作。 见书P91表5.5,设置参照完整性,(见教科书90-91页),数据库表之间创建的永久关系保存在( )中。A)数据库表 B)数据库 C)表设计器 D)数据环境设计器,命令SELECT 0的功能是( )A)随机选择一个空闲工作区B)选择区号最大的空闲工作区C)选择当前工作区号加1的工作区D)选择区号最小的空闲工作区,建立两个数据库表的永久关系,要求( )A)两个表都必须索引B)两个表都不要索引C)只有父表必须索引,子表可以不需要索引D)只有子表必须索引,父表可以不需要索引,下列叙述中,正确的是( )。A)一个工作区中只能打开一个表文件,打开新的表文件后,原来所打开的表文件自动关闭B)一个表文件可以在不同的工作区同时打开,并且表别名也相同C)一个工作区中可以同时打开多个表文件D)命令USE可以关闭所有工作区打开的表文件,Use关闭当前工作区的数据表Clear all关闭所有工作区的数据表,清除内存变量,并将当前工作区置为1号工作区Close all 关闭所有文件,职工工资数据表按基本工资字段建立降序索引,然后执行GO TOP命令,此时当前记录指针指向的记录是( )。A)1号记录B)基本工资最少的记录C)基本工资最多的记录D)不能确定,

    注意事项

    本文(VFP第8部分(排序索引及多表操作)解析课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开