第三章数据表基本操作PPT讲稿.ppt

上传人:石*** 文档编号:43930987 上传时间:2022-09-19 格式:PPT 页数:71 大小:3.43MB
返回 下载 相关 举报
第三章数据表基本操作PPT讲稿.ppt_第1页
第1页 / 共71页
第三章数据表基本操作PPT讲稿.ppt_第2页
第2页 / 共71页
点击查看更多>>
资源描述

《第三章数据表基本操作PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第三章数据表基本操作PPT讲稿.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章数据表基本操作第1页,共71页,编辑于2022年,星期二2 2设置默认目录设置默认目录v(1)菜单操作方式)菜单操作方式“工具工具”“选项选项”“文件位置文件位置”“默认目录默认目录”v(2)命令方式)命令方式SETDEFAULTTOD:vfpv注意:注意:VFP中所有命令全部使用英文标点符号中所有命令全部使用英文标点符号第2页,共71页,编辑于2022年,星期二33创建自由表创建自由表v菜单操作方式菜单操作方式v表文件扩展名表文件扩展名*.dbfv备注型字段或通用型字段数据的输入方法备注型字段或通用型字段数据的输入方法(Ctrl+Home)v使用备注型、通用型字段后,系统会自动生成备注

2、文件,扩展名为使用备注型、通用型字段后,系统会自动生成备注文件,扩展名为.FPT,此此文件不可删除文件不可删除vCtrl+w保存所输入的数据保存所输入的数据ctrl+q取消所输入的数据取消所输入的数据v窗口分割器窗口分割器第3页,共71页,编辑于2022年,星期二44v命令方式命令方式v【格式【格式1】Createv【格式【格式2】Createtable(,)v字符型字符型C,数值型,数值型N,日期型,日期型Dv逻辑型逻辑型L,备注型,备注型M,通用性,通用性Gv例:例:createtablexscj(学号学号c(5),课程号课程号c(4),成绩成绩n(6,3)第4页,共71页,编辑于2022

3、年,星期二55Visual FoxPro 6.0中的命令 vVisualFoxPro6.0命令的一般格式命令的一般格式v命令动词命令动词FIELDSFOR|WHILEv范围子句范围子句vALL表中全部记录表中全部记录vRECORDn表中指定的第表中指定的第n条记录条记录vNEXTn从表中当前记录开始向下的从表中当前记录开始向下的n条记录条记录vREST从表中当前记录开始到最后一条记录为止的所有记录从表中当前记录开始到最后一条记录为止的所有记录 第5页,共71页,编辑于2022年,星期二6 6FOR和WHILE选项的不同v(1)FOR子句是子句是从首记录开始从首记录开始判断逻辑表达式的值是真还是

4、假,而判断逻辑表达式的值是真还是假,而WHILE子句则是子句则是从当前记录开始从当前记录开始判断逻辑表达式值的真假。判断逻辑表达式值的真假。v(2)FOR子句子句是对整个表中所有满足条件的记录进行操作,是对整个表中所有满足条件的记录进行操作,而而WHILE子句子句则是从当前记录开始对满足条件的连续记录进行操则是从当前记录开始对满足条件的连续记录进行操作,即遇到不满足条件的记录,则立即停止操作,不管其后是否作,即遇到不满足条件的记录,则立即停止操作,不管其后是否还有满足条件的记录。还有满足条件的记录。v(3)FOR和和WHILE子句在某些命令中既可以单独使用,也可以同子句在某些命令中既可以单独使

5、用,也可以同时使用,时使用,WHILE优先于优先于FOR。第6页,共71页,编辑于2022年,星期二7 7命令的使用 v(1)每条命令以命令动词开头,动词后的选项)每条命令以命令动词开头,动词后的选项先后顺序可以任意先后顺序可以任意,但必须符合命令格式的规定。但必须符合命令格式的规定。v(2)用)用空格空格来分隔每条命令中的各个选择项。来分隔每条命令中的各个选择项。v(3)分号作为)分号作为续行符(续行符(;)用来表示下行仍是同一命令的一部分,用来表示下行仍是同一命令的一部分,这样就可以把一条长命令分成多行来写,但这样就可以把一条长命令分成多行来写,但命令的最后一行不命令的最后一行不能以分号结

6、尾能以分号结尾。v(4)命令动词、各短语中的关键字、函数名都可以)命令动词、各短语中的关键字、函数名都可以简写为简写为4个字个字符,不区分大小写符,不区分大小写。第7页,共71页,编辑于2022年,星期二88表记录操作1.表的打开与关闭表的打开与关闭v表的打开表的打开v命令格式:命令格式:USEv表的关闭表的关闭v格式格式:USE&关闭当前工作区中的表关闭当前工作区中的表vCLOSEALL&数据库、索引、项目管理器等同时被关闭数据库、索引、项目管理器等同时被关闭第8页,共71页,编辑于2022年,星期二992.表记录的浏览 v菜单方式菜单方式v命令方式命令方式v格式格式1:BROWSEFIEL

7、DSFOR|WHILEv格式格式2:DISPLAYFIELDSFOR|WHILETOPRINTOFFv格式格式3:LISTFIELDSFOR|WHILETOPRINTOFFvBROWSE命令执行时打开命令执行时打开“浏览浏览”窗口。窗口。DISP、LIST将显示结果送到屏幕。将显示结果送到屏幕。v有有“OFF”时,不显示记录号时,不显示记录号第9页,共71页,编辑于2022年,星期二1010LIST和DISPLAY命令的区别v(1)省略省略时,时,LIST默认值为默认值为ALL,显示所有记录;,显示所有记录;省略省略和和时,时,DISPLAY默认值为当前记录默认值为当前记录,即显示一条记录。即

8、显示一条记录。v(2)当显示内容较多时,当显示内容较多时,DISPLAY是分页显示是分页显示;LIST不分页不分页,而是连续地滚动显示。,而是连续地滚动显示。第10页,共71页,编辑于2022年,星期二11113.表记录的定位 记录的指针记录的指针系统在打开一个表文系统在打开一个表文件后将自动生成三个件后将自动生成三个控制标志:控制标志:记录开始记录开始标志、记录指针标志、标志、记录指针标志、记录结束标志。记录结束标志。文件头(含表结构等信息)文件记录开始标志第1条记录第n条记录文件记录结束标志Skip-1Skip1第11页,共71页,编辑于2022年,星期二1212v根据定位的方式,分为绝对

9、定位(根据定位的方式,分为绝对定位(GO或或GOTO)、相对定位)、相对定位(SKIP)、条件定位()、条件定位(LOCATE)和索引定位()和索引定位(FIND或或SEEK)四种。)四种。v当表打开时,当前记录为第一条记录。当表打开时,当前记录为第一条记录。v菜单方式定位记录菜单方式定位记录v“表表”“转到记录转到记录”第12页,共71页,编辑于2022年,星期二1313命令方式定位记录(1)绝对定位(绝对定位(GO)v命令格式命令格式1:GO|TOP|BOTTOMv命令格式命令格式2:(2)相对定位相对定位(SKIP)v命令格式命令格式:SKIPv当当为为1时可省略,即时可省略,即SKIP

10、等价于等价于SKIP1。第13页,共71页,编辑于2022年,星期二1414常用测试函数vBOF()是否在开始标志处vEOF()是否在结束标志处vRECNO()当前记录号vRECCOUNT()表文件总记录数刚打开表时记录指针的情况刚打开表时记录指针的情况表中表中记录记录情况情况BOF()BOF()的的值值RECNO()RECNO()的的值值EOF()EOF()的的值值无无记录记录.T.T.1 1.T.T.有有记录记录.F.F.1 1.F.F.第14页,共71页,编辑于2022年,星期二1515 4.表记录的修改(1)在在“浏览浏览”窗口修改表记录窗口修改表记录(2)在在“编辑编辑”窗口中修改表

11、记录窗口中修改表记录v命令格式命令格式:EDITFIELDSFOR|WHILECHANGEFIELDSFOR|WHILEv功能功能:这两条命令的格式、功能相同,以竖直编辑窗口显示、编辑这两条命令的格式、功能相同,以竖直编辑窗口显示、编辑与修改表中的记录。与修改表中的记录。默认范围:默认范围:Rest第15页,共71页,编辑于2022年,星期二1616(3)用REPLACE命令直接修改表记录 v命令格式命令格式:vREPLACEWITHADDITIVEv,WITHADDITIVEvFOR|WHILEv功能功能:不进入全屏幕编辑方式,根据命令中指定的条件和不进入全屏幕编辑方式,根据命令中指定的条件

12、和范围,用表达式的值去更新指定字段的内容。范围,用表达式的值去更新指定字段的内容。第16页,共71页,编辑于2022年,星期二1717v(1)WITH,WITH;指定用指定用的值来代替的值来代替字段中的数据;依此类推。字段中的数据;依此类推。v(2)、都缺省时,都缺省时,REPLACE仅对当前记录操作。仅对当前记录操作。v(3)ADDITIVE:把对把对备注字段备注字段的替代内容的替代内容追加追加到备注字段原内到备注字段原内容的后面。容的后面。ADDITIVE只对替换备注字段有用。如果省略只对替换备注字段有用。如果省略ADDITIVE,则用表达式的值,则用表达式的值改写改写备注字段原有内容。备

13、注字段原有内容。v例:例:USEXSCJMODIFYSTRUCTURE&增加一个平均分字段增加一个平均分字段REPLACE平均分平均分WITH总分总分/3ALL 第17页,共71页,编辑于2022年,星期二1818REPLACE命令对应菜单方式 v“表”菜单中选择“替换字段(R).”第18页,共71页,编辑于2022年,星期二19195.表记录的追加与插入v(1)菜单方式追加表记录菜单方式追加表记录“表表”“追加新记录追加新记录”“显示显示”“追加方式追加方式”v(2)命令方式追加表记录命令方式追加表记录命令格式命令格式:APPENDBLANK功能功能:在当前使用的表文件后面追加记录。假设该表

14、文件已有在当前使用的表文件后面追加记录。假设该表文件已有n条记录,执行该命令后,则从第条记录,执行该命令后,则从第n+1条记录开始追加条记录开始追加;若表若表文件尚无记录,则从第文件尚无记录,则从第1号记录开始追加。号记录开始追加。第19页,共71页,编辑于2022年,星期二2020v【例】【例】打开学生情况表打开学生情况表XSDA.dbf,向其中追加空白记录,用,向其中追加空白记录,用REPLACE命令往该记录的命令往该记录的“学号学号”字段填入字段填入”00051”,“姓名姓名”字段填入字段填入”王平王平”,“性别性别”字段填入字段填入”男男”。vCLOSEALLvUSEXSDAvAPPE

15、NDBLANKvREPLACE学号学号WITH”00051”,姓名姓名WITH“王平王平”,性别性别WITH”男男”说明:说明:有有BLANK时,不打开浏览窗口,系统自动在表末尾时,不打开浏览窗口,系统自动在表末尾加一条空白记录,可配合加一条空白记录,可配合REPLACE等命令编辑新记录。等命令编辑新记录。无此项时,进入编辑窗口,让用户输入空白记录,无此项时,进入编辑窗口,让用户输入空白记录,CTRL+W存盘退出。存盘退出。第20页,共71页,编辑于2022年,星期二2121v(3)外部追加外部追加v将另一个表文件的记录追加到当前表的尾部。在实际将另一个表文件的记录追加到当前表的尾部。在实际应

16、用中,两个表的结构应尽量保持一致。应用中,两个表的结构应尽量保持一致。v菜单方式菜单方式“表表”“追加记录(追加记录(A).”“追加来源追加来源”对话框对话框v命令方式命令方式格式格式:APPENDFROM|?FIELDS功能功能:将其他表(文件)中的记录加入到当前表中。将其他表(文件)中的记录加入到当前表中。第21页,共71页,编辑于2022年,星期二2222(4)记录的插入v格式格式:INSERTBEFOREBLANKv功能功能:在当前表、当前位置前后插入一个新记录。在当前表、当前位置前后插入一个新记录。v相关参数和选项的含义相关参数和选项的含义:v无任何选项时,打开无任何选项时,打开“编

17、辑编辑”窗口,在表的当前记录之后添窗口,在表的当前记录之后添加一个新的记录,随后显示该记录以便用户录入数据。加一个新的记录,随后显示该记录以便用户录入数据。v含含“BEFORE”选项时,新记录插入在当前记录的前面。选项时,新记录插入在当前记录的前面。v含含“BLANK”选项时,不进入选项时,不进入“编辑编辑”窗口,而是自动插入一窗口,而是自动插入一条空白记录。条空白记录。第22页,共71页,编辑于2022年,星期二2323(1)逻辑删除(为记录做上删除标记)逻辑删除(为记录做上删除标记)格式:格式:DELETE FOR WHILE 功能:功能:对当前表文件中指定的记录做删除标记。对当前表文件中

18、指定的记录做删除标记。GO 7DELETEGO 4DELETE NEXT 3 LIST执行上述命令后屏幕显示结果:执行上述命令后屏幕显示结果:6.表记录的删除与恢复表记录的删除与恢复setdeletedonsetdeletedoff第23页,共71页,编辑于2022年,星期二2424(2)物理删除(清除带有删除标记的记录)物理删除(清除带有删除标记的记录)格式:格式:PACK功能:功能:省略选择项,该命令将从当前表中删除所有带省略选择项,该命令将从当前表中删除所有带删除标记的记录。删除标记的记录。说明:说明:用用PACK命令删除的记录是不可被恢复的。命令删除的记录是不可被恢复的。所以在使用所以

19、在使用PACK命令前一定要检查删除标记是否加的正确。命令前一定要检查删除标记是否加的正确。例:例:PACKLIST执行上述命令后屏幕显示的结果:执行上述命令后屏幕显示的结果:注意:在进行这一步操作前先备份数据注意:在进行这一步操作前先备份数据第24页,共71页,编辑于2022年,星期二2525(3)恢复带删除标记的记录恢复带删除标记的记录 格式:格式:RECALL FOR WHILE 功能:功能:恢复当前表中带删除标记的记录,即去掉删除标记恢复当前表中带删除标记的记录,即去掉删除标记“*”号。号。当省略所有的选项时,仅恢复当前记录。当省略所有的选项时,仅恢复当前记录。RECALL ALLBRO

20、WSE执行上述命令后屏执行上述命令后屏幕显示的结果幕显示的结果(4)清除所有记录清除所有记录 格式:格式:ZAP 功能:功能:从当前表中清除全部记录,仅保留表的结构。从当前表中清除全部记录,仅保留表的结构。ZAPDELETE ALL +PACK第25页,共71页,编辑于2022年,星期二2626(1)复制任何类型文件复制任何类型文件命令格式:命令格式:COPY FILETO功能:功能:从从文件复制得文件复制得文件文件说明:说明:(a1)若对表进行复制,该表必须处于关闭状态。)若对表进行复制,该表必须处于关闭状态。(a2)文件扩展名必须写。文件扩展名必须写。(a3)和和都可使用通配符都可使用通配

21、符*和和?例:例:CLOSE ALL COPY FILE XSDA.DBF TO DA.DBF COPY FILE XSDA.*TO DA.*7.表和表结构的复制表和表结构的复制第26页,共71页,编辑于2022年,星期二2727(2)从表复制出表或其他类型的文件从表复制出表或其他类型的文件COPY TO 范围范围FORFIELDS功能:功能:将当前表中选定的部分记录和部分字段复制成将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。一个新表或其他类型的文件。说明:说明:(a1)若对表进行复制,首先要打开原表)若对表进行复制,首先要打开原表(a2)对于含有备注型字段的表,系统自动

22、复制备注文件对于含有备注型字段的表,系统自动复制备注文件 例:例:USE XSDA COPY TO XSDA2第27页,共71页,编辑于2022年,星期二2828COPY TO命令命令(3)新文件的类型除了表之外,还可以是系统数据格式、新文件的类型除了表之外,还可以是系统数据格式、定界格式等文本文件或定界格式等文本文件或Mifrosoft Excel文件。文件。例:例:Close all use xsda copy to a1 next 3 sdf go 1 copy to b1 next 3 delimited(4)TYPE 子句的格式子句的格式 TYPESDF|XLS|DELIMITEDW

23、ITH|WITHBLANK|WITHTAB比较比较a1.txt和和b1.txt两个文件两个文件第28页,共71页,编辑于2022年,星期二2929(3)复制表结构复制表结构COPY STRUCTURE TOFIELDS功能:功能:将当前打开的表文件结构的部分或全部复制到将当前打开的表文件结构的部分或全部复制到所制定的表结构,仅复制当前表结构,不复制其中的数据。所制定的表结构,仅复制当前表结构,不复制其中的数据。说明:说明:(1)指定新表结构的表文件名指定新表结构的表文件名(2)FIELDS指定在新表中包含的字段及顺序。指定在新表中包含的字段及顺序。例:例:COPY STRUCTRE TO XS

24、DA FIELDS 姓名姓名,性别性别,出生日期出生日期第29页,共71页,编辑于2022年,星期二30303.4 排序与索引v3.4.1排序排序1基本概念基本概念v排序是将已建好的表记录按某一关键字规定的顺序重排序是将已建好的表记录按某一关键字规定的顺序重新排列。排序后产生一个新的表文件,但源文件不变。新排列。排序后产生一个新的表文件,但源文件不变。v“关键字关键字”是用作排序的字段,其类型可以是是用作排序的字段,其类型可以是C型、型、N型型和和D型,不能是型,不能是L型和型和M型。型。v数据从小到大排列称为数据从小到大排列称为“升序升序”,从大到小排列称为,从大到小排列称为“降降序序”,若

25、是字符型数据,则按其内部代码的值论大小。,若是字符型数据,则按其内部代码的值论大小。第30页,共71页,编辑于2022年,星期二3131【格式】【格式】SORTTOON/A/C/D,/A/C/D.FIELDSFORWHILE【功功能能】对对当当前前打打开开的的表表,按按指指定定的的字字段段进进行行排排序序,生生成成新新的的表文件。表文件。【说说明明】用用作作排排序序的的字字段段的的数数据据类类型型允允许许是是N、C、D、L型型。/A表示升序表示升序/D表示降序表示降序/C表示不区分大小写。表示不区分大小写。2.排序命令排序命令第31页,共71页,编辑于2022年,星期二3232若有多个排序字段

26、时,先按命令中若有多个排序字段时,先按命令中的值顺序排列,的值顺序排列,值相同则按值相同则按值的顺序排列,依次类推。值的顺序排列,依次类推。其中其中称为主关键字,这种排序也称为多重排序。称为主关键字,这种排序也称为多重排序。注意注意:在在setdeleon的情况下,带有删除标记的记录不的情况下,带有删除标记的记录不参加排序,显示时原表中还有此记录,但排序后的表参加排序,显示时原表中还有此记录,但排序后的表中不存在。中不存在。【例例】对对表表XSCJ.dbf按按“总总分分”降降序序排排序序,排排序序后后生生成成的的的的排序文件名为排序文件名为XSCJ1.dbf,且只有学号和总分,且只有学号和总分

27、2个字段。个字段。vUSEXSCJvLISTvSORTTOXSCJ1ON总分总分/DFIELDS学号,总分学号,总分第32页,共71页,编辑于2022年,星期二3333示例:示例:CloseallClearUseXSDAListSorttoXSDA2on学号学号/DUseXSDA2ListSorttoXSDA3on入学分入学分/AFIELDS学号,姓名,入学分学号,姓名,入学分UseXSDA3List第33页,共71页,编辑于2022年,星期二34343.4.2 索引 v1.基本概念基本概念索引索引是按照索引关键字的值使数据表中的记录有是按照索引关键字的值使数据表中的记录有序排列的一种技术。序

28、排列的一种技术。索引文件索引文件是由指针构成的文件,只包括是由指针构成的文件,只包括索引关键索引关键字值和记录号字值和记录号两项内容,所有关键字值按升序或两项内容,所有关键字值按升序或降序排列,每个关键字值对应源表文件的一条记降序排列,每个关键字值对应源表文件的一条记录号,这样便确定了记录的逻辑顺序。录号,这样便确定了记录的逻辑顺序。索引文件总是依附、从属于源表文件而存在,不索引文件总是依附、从属于源表文件而存在,不可单独使用。可单独使用。第34页,共71页,编辑于2022年,星期二35v记录的顺序记录的顺序物理顺序物理顺序:表中记录的存储顺序。表中记录的存储顺序。按记录输入的时间顺序存放。按

29、记录输入的时间顺序存放。逻辑顺序逻辑顺序:记录的处理顺序。记录的处理顺序。对记录按某个(些)字段的值进行排序。对记录按某个(些)字段的值进行排序。第35页,共71页,编辑于2022年,星期二36索引示例索引示例v学生成绩情况表学生成绩情况表 纪录号姓名 成绩1李平742李彤863刘晓玲924宋海英75索引文件是由指针构成的文件,只包括关键字和记录号两项内容,所有关键字值索引文件是由指针构成的文件,只包括关键字和记录号两项内容,所有关键字值按升序或降序排列,每个关键字对应原表文件的一个记录号。建立一个索引后,按升序或降序排列,每个关键字对应原表文件的一个记录号。建立一个索引后,原记录的物理存储不

30、发生变化。原记录的物理存储不发生变化。索引文件的结构索引文件的结构 关键字值 纪录号923862754741数据库表文件结构数据库表文件结构第36页,共71页,编辑于2022年,星期二37排序与索引的区别排序与索引的区别v排序排序:产生的表文件的扩展名为产生的表文件的扩展名为.dbf,.dbf,记录的输出顺序记录的输出顺序是物理顺序是物理顺序(重新排列的重新排列的),),原表中记录的排列顺序并不原表中记录的排列顺序并不发生改变发生改变,但新排序表中的记录与原表中的记录已不再但新排序表中的记录与原表中的记录已不再一一对应。一一对应。v索引索引:产生的文件扩展名为产生的文件扩展名为.idx(.id

31、x(单索引单索引)或或.cdx(.cdx(复合索引复合索引),),文件只包含索引关键字的值和与其对应的记录号文件只包含索引关键字的值和与其对应的记录号,记录记录的输出是逻辑排序的的输出是逻辑排序的,原表中记录的物理顺序并不发生改原表中记录的物理顺序并不发生改变变,但产生的索引文件中的每个记录值对应原表中的一个但产生的索引文件中的每个记录值对应原表中的一个记录号。记录号。第37页,共71页,编辑于2022年,星期二382.索引类型 v索引可分为主索引、候选索引、普通索引、惟一索引索引可分为主索引、候选索引、普通索引、惟一索引4种种类型。类型。(1)主索引(主索引(PrimaryIndex)v作为

32、主索引的索引关键字,其在表中的值是作为主索引的索引关键字,其在表中的值是惟一能够标识惟一能够标识每个记录的值每个记录的值。它。它“强调不允许出现重复值强调不允许出现重复值”,是指,是指建立索引建立索引的字段值不允许重复的字段值不允许重复。v一个数据表只能建一个主索引,只有数据库中的数据表才能一个数据表只能建一个主索引,只有数据库中的数据表才能建立和使用主索引。建立和使用主索引。第38页,共71页,编辑于2022年,星期二(2)候选索引(候选索引(CandidateIndex)v 候选索引也是一个候选索引也是一个不允许不允许在指定字段和表达式中出现重在指定字段和表达式中出现重复值的索引。复值的索

33、引。v数据库表和自由表都可以创建候选索引。一个表可以数据库表和自由表都可以创建候选索引。一个表可以建立多个候选索引。建立多个候选索引。v当数据库表无主索引时,可指定一个候选索引为主索引。当数据库表无主索引时,可指定一个候选索引为主索引。v主索引和候选索引都存储在主索引和候选索引都存储在.CDX结构复合索引文件结构复合索引文件中,不能存储在非结构复合索引文件和单索引文件中,中,不能存储在非结构复合索引文件和单索引文件中,因因为主索引和候选索引都必须与表文件同时打开和同时关为主索引和候选索引都必须与表文件同时打开和同时关闭。闭。39第39页,共71页,编辑于2022年,星期二(3)普通索引(普通索

34、引(RegularIndex)v作为普通索引的索引关键字,其表中不同记录的对应值可重复,作为普通索引的索引关键字,其表中不同记录的对应值可重复,并且索引项也允许出现重复。一个表可以建立多个普通索引。并且索引项也允许出现重复。一个表可以建立多个普通索引。数据库表和自由表均可建立普通索引。数据库表和自由表均可建立普通索引。(4)惟一索引(惟一索引(UniqueIndex)v作为惟一索引的索引关键字,其表中不同记录的对应值可重复,作为惟一索引的索引关键字,其表中不同记录的对应值可重复,但在索引文件中仅保存重复值记录的第一个,但在索引文件中仅保存重复值记录的第一个,即索引文件中的记即索引文件中的记录值

35、惟一。录值惟一。一个表可以建立多个惟一索引,数据库表和自由表均可建一个表可以建立多个惟一索引,数据库表和自由表均可建立惟一索引。立惟一索引。40第40页,共71页,编辑于2022年,星期二3.索引文件的类型(1)单索引文件单索引文件(.idx)(2)复合索引文件复合索引文件(.cdx)“结构复合索引结构复合索引”文件文件“非结构复合索引非结构复合索引”文件文件41与表同名与表同名,随着相随着相关表的打开而自关表的打开而自动打开动打开与表不同名与表不同名,由用由用户使用命令方式户使用命令方式打开打开第41页,共71页,编辑于2022年,星期二(1)命令方式建立索引)命令方式建立索引424.建立索

36、引建立索引第42页,共71页,编辑于2022年,星期二v注意:单索引文件默认为升序注意:单索引文件默认为升序ASCENDING,不可用,不可用DESCENDING降序,但数值型字段可在前面乘上一降序,但数值型字段可在前面乘上一个个-1降序排列。降序排列。【例【例2】打开打开xsda.dbf表表,按年龄的降序建立索引文件按年龄的降序建立索引文件nl.idxusexsdaindexon-年龄年龄tonllist43第43页,共71页,编辑于2022年,星期二【例【例3】打开】打开xsda.dbf表表,按性别建立唯一索引文件按性别建立唯一索引文件XB.idx。USExsdaINDEXON性别性别TO

37、XBUNIQUELIST【例【例4】打开】打开xsda.dbf表表,性别为第一关键字性别为第一关键字,年龄为第二关键字建立索年龄为第二关键字建立索引文件引文件xn.idx。USExsdaINDEXON性别性别+str(年龄年龄,3)TOxnList44第44页,共71页,编辑于2022年,星期二v若若是索引表达式:是索引表达式:若索引表达式中用到了不同类型的字段变量,应若索引表达式中用到了不同类型的字段变量,应当用函数将它们转换成统一的类型。当用函数将它们转换成统一的类型。字符型字符型+数值型数值型字符型字符型+STR(数值字段数值字段,长度,小数位)长度,小数位)数值型数值型+数值型:不用转

38、换数值型:不用转换(将两个数值表达式的值相加后的值进行排序)将两个数值表达式的值相加后的值进行排序)字符型字符型+日期型日期型字符型字符型+DTOC(日期型日期型,1)数值型数值型+日期型日期型STR(数值字段数值字段,长度长度,小数位小数位)+DTOC(日期型日期型,1)v数值转换成字符串函数:数值转换成字符串函数:STR(,,)v字符串转换成数值函数:字符串转换成数值函数:VAL()v日期型转换成字符型函数:日期型转换成字符型函数:DTOC()v字符型转换成日期型函数:字符型转换成日期型函数:CTOD()45第45页,共71页,编辑于2022年,星期二复合索引文件示例复合索引文件示例总分语

39、文英语关键字记录号关键字记录号关键字记录号340.00292.03101.01346.00193.02117.02352.503100.01127.03索引标识索引标识第46页,共71页,编辑于2022年,星期二(1)命令方式建立索引v建立结构复合索引文件(建立结构复合索引文件(.cdx)INDEXONTAGFORASCENDING|DESCENDINGUNIQUE|CANDIDATEADDITIVE【例【例1】为表为表xsda.dbf建立结构复合索引文件。索引关键字为姓名建立结构复合索引文件。索引关键字为姓名,用用xm作为普通索引标识作为普通索引标识(TAG标记标记),建立复合索引文件,建立

40、复合索引文件xsda.cdx。usexsdaindexon姓名姓名tagxmlist47第47页,共71页,编辑于2022年,星期二【例【例2】以总分为关键字,降序排序以总分为关键字,降序排序,把把zf作为索引标识作为索引标识添加到添加到xscj.cdx中。中。usexscjIndexon总分总分tagzfdescendingList【例【例3】在表在表XSDA.DBF的结构复合索引文件中,先按性的结构复合索引文件中,先按性别再按学号追加一个索引标识。别再按学号追加一个索引标识。USEXSDAINDEXON性别性别+学号学号TAGxbxhList48第48页,共71页,编辑于2022年,星期二

41、【例【例4】对表对表XSCJ.dbf中总分大于等于中总分大于等于345分的记录按总分的降序分的记录按总分的降序建立一个单索引文件。对表建立一个单索引文件。对表XSDA.dbf中北京的学生按中北京的学生按“姓名姓名”字字段(升序)建立结构复合文件的一个索引标识段(升序)建立结构复合文件的一个索引标识XM,索引类型为,索引类型为普通索引;按普通索引;按“性别性别”字段(降序)建立结构复合文件的另一个索字段(降序)建立结构复合文件的另一个索引标识引标识XB,索引类型为惟一索引。,索引类型为惟一索引。vUSEXSCJvINDEXON总分总分TOXSCJ1FOR总分总分=345vLISTvUSEXSDA

42、vINDEXON姓名姓名TAGXMFOR住址住址=”北京北京”vLISTvINDEXON性别性别TAGXBDESCUNIQUEvLIST49第49页,共71页,编辑于2022年,星期二(1)命令方式建立索引50第50页,共71页,编辑于2022年,星期二(2)在表设计器中建立索引)在表设计器中建立索引在排序选项中,选择索引方向,升序(在排序选项中,选择索引方向,升序()或降序)或降序()。)。数值型按其值论大小,西文字符按其数值型按其值论大小,西文字符按其ASCII码值论大小,码值论大小,汉字等字符串按其内码论大小。汉字等字符串按其内码论大小。在表设计器中建立的索引文件与表同名,是结构复合索在

43、表设计器中建立的索引文件与表同名,是结构复合索引文件。引文件。51第51页,共71页,编辑于2022年,星期二5打开索引文件刚刚建立完索引文件时刚刚建立完索引文件时,该索引文件处于打开状态。该索引文件处于打开状态。在打开表文件时在打开表文件时,结构复合索引文件随之打开。结构复合索引文件随之打开。可以同时打开多个索引文件,但任何时候只能有一个可以同时打开多个索引文件,但任何时候只能有一个索引文件起作用。索引文件起作用。当打开多个索引文件时,(复合索引文件中的多个子索引当打开多个索引文件时,(复合索引文件中的多个子索引同时打开),此时只有一个索引起作用同时打开),此时只有一个索引起作用,该索引称是

44、该索引称是主控主控索引索引。52第52页,共71页,编辑于2022年,星期二打开单索引文件和非结构复合索引文件打开单索引文件和非结构复合索引文件v命令格式命令格式1:SETINDEXTOADDITIVEv命令格式命令格式2:USEINDEXv功能功能:打开当前表的一个或多个索引文件。打开当前表的一个或多个索引文件。v(1):指定要打开的一个或多个索引文件,多个索指定要打开的一个或多个索引文件,多个索引文件之间要用逗号分隔,引文件之间要用逗号分隔,第一个索引文件自动成为主控索引文件。第一个索引文件自动成为主控索引文件。v(2)ADDITIVE:若缺省该项,则在用本命令打开索引文件的同若缺省该项,

45、则在用本命令打开索引文件的同时,除结构复合索引文件之外的其他索引文件均被关闭。若含时,除结构复合索引文件之外的其他索引文件均被关闭。若含此项,表示不关闭以前打开的索引文件。此项,表示不关闭以前打开的索引文件。53第53页,共71页,编辑于2022年,星期二【例】【例】单索引文件使用方法示例。单索引文件使用方法示例。usexsdasetindextoxm,xn&打开索引文件打开索引文件xm和和xn,xm被设被设置为主索引置为主索引List&显示显示xm.idx主控索引文件记录的逻辑排序结果主控索引文件记录的逻辑排序结果v使用使用SETINDEXTO或或CLOSEINDEX命令将关闭单索命令将关闭

46、单索引文件和非结构复合索引文件。引文件和非结构复合索引文件。54第54页,共71页,编辑于2022年,星期二6.设置当前索引的命令55第55页,共71页,编辑于2022年,星期二v【例】【例】打开索引文件和设置当前索引示例。打开索引文件和设置当前索引示例。vUSEXSCJvLISTvSETINDEXTOXSCJ1&打开单索引文件打开单索引文件XSCJ1,当前主控索引文件,当前主控索引文件vLISTvUSEXSDAvLISTvSETORDERTOXM&设置当前索引为包含在结构复合索引文件中的设置当前索引为包含在结构复合索引文件中的XM索引项索引项vLISTvSETORDERTOXB&设置当前索引

47、为包含在结构复合索引文件中的设置当前索引为包含在结构复合索引文件中的XB索引项索引项vLISTvSETORDERTO&记录还是按物理顺序显示记录还是按物理顺序显示vLIST56第56页,共71页,编辑于2022年,星期二7.更新索引v(1)自动更新自动更新已打开的索引文件跟随数据的改变自动改变记已打开的索引文件跟随数据的改变自动改变记录的逻辑顺序录的逻辑顺序v(2)重新索引重新索引格式格式:REINDEX57第57页,共71页,编辑于2022年,星期二8.删除索引v单索引文件可采取删除文件的方法直接删除,复合索引单索引文件可采取删除文件的方法直接删除,复合索引文件可用下列命令删除。文件可用下列

48、命令删除。v命令格式命令格式:DELETETAG|ALLOF.v【例】【例】删除索引示例。删除索引示例。vUSEXSDAvDELETETAGXBvMODISTRUvDELETETAGALLvMODISTRU58第58页,共71页,编辑于2022年,星期二9.关闭索引文件v格式一格式一:USEv功能功能:关闭表文件的同时,也关闭了所有已打开的索引文关闭表文件的同时,也关闭了所有已打开的索引文件。件。v格式二格式二:SETINDEXTOv功能功能:关闭所有已打开的索引文件,但表文件仍处于打开关闭所有已打开的索引文件,但表文件仍处于打开状态。状态。v格式三格式三:CLOSEINDEXv功能功能:功能

49、同功能同SETINDEXTO命令。命令。59第59页,共71页,编辑于2022年,星期二3.5 数据查询3.5.1顺序查询顺序查询顺序查找是在表文件中依次查找满足条件的记顺序查找是在表文件中依次查找满足条件的记录。顺序查询也称直接查询。录。顺序查询也称直接查询。v命令格式命令格式:LOCATEFORCONTINUEv默认范围:默认范围:ALL60第60页,共71页,编辑于2022年,星期二v说明说明v该命令不显示结果,使用有关函数可证实找到否。该命令不显示结果,使用有关函数可证实找到否。v若查找到一个满足条件的记录可用函数若查找到一个满足条件的记录可用函数RECNO()返()返回该记录号,此时

50、函数回该记录号,此时函数FOUND()返回值为()返回值为.T.,EOF()返回值为()返回值为.F.;v若找不到满足条件的记录可用函数若找不到满足条件的记录可用函数RECNO()返回值为()返回值为该表文件总记录数该表文件总记录数+1,函数,函数FOUND()返回值为()返回值为.F.,EOF()返回值为()返回值为.T.。61第61页,共71页,编辑于2022年,星期二v【例】【例】在表在表XSDA.dbf中(共有中(共有50条记录)按顺序查找不是团员条记录)按顺序查找不是团员且家在安徽的所有男同学记录。且家在安徽的所有男同学记录。vUSEXSDAvLOCATEFOR性别性别=”男男”.A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁