ImageVerifierCode 换一换
格式:PPT , 页数:55 ,大小:480KB ,
资源ID:14329207      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14329207.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VFP第9部分排序索引及多表操作PPT资料.ppt)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VFP第9部分排序索引及多表操作PPT资料.ppt

1、其文件名与表名相同,一个表文件只产生一个结构化复合索引文件。(3)独立复合索引文件(略),4、索引的建立,(教科书P75),Index on tag ascending|descending,自动产生与表同名的.CDX文件,结构化复合索引文件的建立(命令方式),特别注意:建立索引时,当涉及到两个或两个以上的不同类型的字段时:1)顺序若相同,则将非字符型转换为字符型,然后用“+”连接成一个字符表达式。,2)顺序若不同,则以字符型字段的顺序为准,若数字型字段的顺序与字符型不同,则用一个较大数减去该字段,再转化为字符型;若日期型字段的顺序与字符型不同,则用一个较大的日期减去该字段,再转化为字符型,然

2、后用“+”连接成一个字符表达式。,【例】就学生表建立结构复合索引文件,其中包含2个索引:(1)按学号的升序排列,编号相同的记录只显示第一条。(2)先按性别升序,性别相同再按入学成绩降序排列。USE 学生 INDEX ON 学号 TAG sy1 UNIQUE INDEX ON 性别+STR(1000-入学成绩)TAG sy2,在表设计器中建立索引,表设计器中的“索引”选项卡,5、索引的使用,一个表文件可以建立多个索引,在操作中可以同时打开多个索引,但是任何时候只有一个索引起作用。索引依赖于表文件而存在,它随表的关闭而自动关闭。,当前起作用的索引标识称为主控索引。要使用索引必须满足以下条件:打开表

3、;确定主控索引;,set order to tag,(1)确定主控索引,命令格式:,(教科书P77),(2)删除索引,delete tag all|,(3)索引更新,使用索引文件后,虽然表中各记录的物理顺序并未改变。但记录指针不再按物理顺序移动,而是按主控索引文件中记录的逻辑顺序移动,于是整个表中的记录是按索引关键表达式值排序的效果。使用索引文件时,还要特别注意以下几点:(1)在使用GO命令时,GO 使记录指针指向具体的物理记录号,而与索引无关,而GO TOP|BOTTOM将使记录指针指向逻辑首或逻辑尾记录,这时GO TOP不再等同于GO 1。(2)SKIP命令按逻辑顺序移动记录指针。(3)表

4、被打开后,记录指针位于TOP位置。,【例】当索引起作用时,分析记录指针的移动规律。USE 学生 INDEX ON 入学成绩 TAG sy3 GO 6?RECNO(),姓名&显示6 李勤奋 SKIP?显示5 欧阳天地,复合结构索引文件的类型名称是()A)PJTB)PRGC)CDXD)MEM,不允许字段值出现重复的索引是()。A)侯选索引和主索引 B)普通索引和惟一索引 C)惟一索引和主索引 D)惟一索引,自由表gz.dbf有姓名/C/8、出生年月/D、基本工资/N/6/2等字段,要建立以“姓名、基本工资”两字段的组合索引,其索引关键字表达式是()。姓名+基本工资(B)“姓名”+“基本工资”(C)

5、“姓名”+基本工资(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)学号+ST

6、R(成绩,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|,如没

7、有给表定义别名,则可以用数据表名作为别名。,sele 0 表示选定当前未使用的最小号工作区。,use in|,不改变当前工作区,【例】在不同的工作区分别打开学生.dbf、选课.dbf和课程.dbf 3个表,命令序列如下:CLOSE ALL&关闭所有打开的文件SELECT 2USE 学生&选择2号工作区打开学生表SELECT CUSE 课程&选择3号工作区打开课程表USE 选课 IN 5&在5号工作区打开选课表,引用非当前工作区表的字段必须冠以别名,引用格式为:别名.字段名 别名-字段名,【例】在1号工作区打开学生表,在2号工作区打开选课表;当前工作区为1号,显示选课表中当前记录的学号、姓名、课

8、程号和成绩字段的值。命令序列如下:(演示,并移动指针)CLOSE ALL&关闭所有打开的文件SELECT 1USE 学生&选择1号工作区打开学生表USE 选课 IN 2&在2号工作区打开选课表,当前工作区为1号?学号,姓名,选课.课程号,选课-成绩,学生管理数据库中的表,bof():文件开始的测试函数 eof():文件结束的测试函数 recno():返回当前记录号 sele():返回当前工作区区号,4、工作区常用函数,建立表间的关联关系(临时关系),要在两个或两个以上的表之间进行数据操作时,通常有关联和连接两种方法。,1、关联的概念 每个工作区打开的表中都存在一个记录指针,指针指向的记录是当前

9、记录,如果表之间没有关系,则各个表的记录指针相互独立,即当前工作区指针移动时,其他工作区的指针不移动。,所谓关联,就是让不同工作区数据表的记录指针建立一种临时的联动关系。使一个表的记录指针移动时,能带动另一个表的记录指针按一定的条件作相应地移动。前者称为关联表(主动表、父表),后者称为被关联表(被动表、子表),建立表间的关联 建立数据库文件中表间关联,一是要保证建立关系的表具有相同的字段值(关键字值);二是子表要以该字段建立索引。,建立两个表之间的“一对一”和“多对一”关联的步骤:找到两个表中能够建立关联的字段(字段名可以不同,类型、宽度、小数位数必须相同)根据关键字值确定父表,再确定子表;先

10、打开子表,建立索引;最后打开父表建立关联。,有重复值为父表,set rela to into,into additive,说明:发出关联命令所在工作区的表是父表,建立关联的命令,(教科书P83),子表必须对关联字段索引是关联的关键字 不同名的字段只要类型和数值相同也可建立关联。关联后,父表指针移动带动子表指针移动;而如果当前工作区是子表,其指针移动,父表指针不会移动。,实验指导书P35 实验15任务1(1),additive 一般用于三个或三个以上的表之间建立多重关联,第2、3个关联使用该选项。关联后,当前工作区字段名可以直接使用,子表的字段在使用时要加“别名.字段名”。set rela to

11、 recn()+N into 把记录号作关键字建立关联。关闭或重新打开数据表,关联就会消失。(故称为临时关系),BB AA,Sele 1Use AA inde on 字段 tag zdSele 2Use BBSet rela to 字段 into A(或 AA),字段,sele 0use AAindex on 字段 tag zdsele 0use BBset relation to 字段 into AA,AA BB CC或 BBAA CC,字段1,字段2,字段1,3个表建关联?,字段2,(见实验书第16页任务1),set skip to,一般不用,用在set relation命令之后,说明已建

12、关联的性质为一对多关系。,建立表间的一对多关系,原则:一般建立“多对一”或“一对一”的关联;一般如果要求显示的结果是按照某个字段值的顺序排列,则包含该字段的表应作父表。,例:在学生表和选课表中,显示成绩80分的学生的学号、姓名、所学课程的课程号和成绩。,学生管理数据库中的表,set safety offclose allclearselect 1use 学生 alias xsindex on 学号 tag xhselect 2use 选课set relation to 学号 into xs,系统环境设置,表环境设置,list for 成绩80fields 学号,xs.姓名,课程号,成绩clos

13、e allset safety oncancel,数据处理,恢复系统环境,主索引与永久关系,有些数据表格和其他数据表格之间存在着某些关系,我们需要将这些有关系的数据表格纳入同一个数据库中,并建立其彼此之间的关系,使用者才能更好的运用数据表格,更容易达到数据管理的目的。,1)主索引的建立,注意:只能为数据库表建立主索引,不能为自由表创建主索引。当从数据库中移走有主索引的表而成为自由表时,他们的主关键字将会随之消失。,2)永久关系和临时关系,永久性关系建立在数据库本身,只要数据库存在,永久关系就存在,不会因其他命令的执行而消失。,在“数据库设计器”窗口中,两个数据表格之间的连线,就是“永久性关系”

14、。,(见教科书90页图5.3),字段之间的关系(不管是永久性的还是临时性的),都是要靠索引来达成的,也就是说,某个字段欲建立关系,需先以此字段的内容建立索引,再利用此索引建立关系。,表之间的关系,注意:建立“永久性关系”的父表必须以关键字建立主索引或侯选索引,而子表则可以以关键字建立任意类型的索引(一对一或一对多)。而建立“临时关系”的父表可以不需建立索引,只需子表以关键字建立任意类型的索引即可(一对一或多对一)。,永久关系连线的作用是在数据表格作“更新”、“删除”、“新增”等动作时,对表格做一个检查的动作,以符合某些规则。(而存储这些规则的地方就是所谓的“参考完整性”(RI)。),在数据库中的表建立永久关系后,可以设置管理相关记录的规则。这些规则可以控制相关表中记录的插入、删除或更新操作。见书P91表5.5,设置参照完整性,(见教科书90-91页),数据库表之间创建的永久关系保存在()中。A)数据库表 B)数据库 C)表设计器 D)数据环境设计器,命令SELECT 0的功能是()A)随机选择一个空闲工作区B)选择区号最大的空闲工作区C)选择当前工作区号加1的工作区D)选择区号最小的空闲工作区,建立两个数据库表的永久关系,要求()A)两个表都必须索引B)两个表都不要索引C)只有父表必须索引,子表可以不需要索引D)只有子表必须索引,父表可以不需要索引,下列叙述中,正确的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1