第三章-数据表-VFP课件.ppt

上传人(卖家):晟晟文业 文档编号:4960099 上传时间:2023-01-28 格式:PPT 页数:82 大小:693KB
下载 相关 举报
第三章-数据表-VFP课件.ppt_第1页
第1页 / 共82页
第三章-数据表-VFP课件.ppt_第2页
第2页 / 共82页
第三章-数据表-VFP课件.ppt_第3页
第3页 / 共82页
第三章-数据表-VFP课件.ppt_第4页
第4页 / 共82页
第三章-数据表-VFP课件.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、第三章数据表的创建与维护目 录上一页下一页退 出 本本 章章 要要 点点建立数据建立数据表表表字段的基本操作表字段的基本操作表记录的基本操作表记录的基本操作排序与索引排序与索引查询查询数据统计与计算数据统计与计算目 录上一页下一页退 出建立一个表文件首先第一步就是建立表结构,然后再输入表记录。建立表结构的方法有很多,在这里主要讲述三种方法:命令方式、菜单方式和使用项目管理器的方式。1命令方式命令方式【格式】CREATE|?【功能】建立一个新的、扩展名为.DBF的表文件。【说明】指定生成的表文件名,若缺省扩展名,则默认为.DBF。如果使用“?”或末指定表文件名,Visual FoxPro系统会弹

2、出创建对话框,以便用户输入表名。建立表结构目 录上一页下一页退 出stud.dbf表。表内容如下:学号姓名性别班级名系别代号地址出生日期是否团员照片备注011110李建国男计012101湖北武汉09/28/84T 011103李宁女电013402江西九江05/06/85F 011202赵娜女英011203广西南宁02/21/84F 021204孙亮男电013402湖南长沙09/08/86T 011111赵琳女计012101江苏南京11/18/85T 021405罗宇波男英011203江苏南通12/12/85F 目 录上一页下一页退 出表设计器对话框中包含“字段”、“索引”、“表”三个选项卡。1

3、)“字段”选项卡:适用于建立表结构,确定表中每个字段的字段名、字段类型、字段宽度和小数位数等。字段名:是某字段的名字。在表中必须为唯一的,字段名必须以汉字、字母和下划线开头,由汉字、字母、数字和下划线组成,对于数据库表支持长字段名,字段名最多为128个字符,自由表不支持长字段名,字段名最多为10个字符。当数据库表转化为自由表时截去超长部分的字符。字段名不能使用系统的保留字。字段类型:表示该字段中存放数据的类型。一个字段即二维表中的一列,其中的数据应具有共同的属性。若存放的是一些符号,不进行数值运算,则定义为字符型;若需要进行数值运算,则根据数值表示的实际意义,选择数值型、货币型、浮点型、双精度

4、型、整型中的一种。对描述日期的字段,可根据需要定义为日期型或日期时间型。对取值只有两种情况,为“真”或为“假”的数据定义为逻辑型。若目 录上一页下一页退 出 存储的字符超过254,为节省存储空间可定义为备注型。若要保存图片或OLE对象,可定义为通用型。备注型和通用型字段的信息都没有直接存放在表文件中,而是存放在一个与表文件同名的.FPT文件中。字段宽度:表示该字段所允许存放数据的最大宽度。由数据的最大宽度决定。过大浪费存储空间,过小数据溢出。字符型字段的最大宽度254个字符,数值型字段和浮点型字段的宽度为20位,逻辑型字段的宽度固定为1,日期型字段的宽度固定为8,通用型字段和备注型字段的宽度固

5、定为4。小数位数:只对数值型字段和浮点型字符等数值类型有效,允许最大宽度20。在计算数值型字段和浮点型字段的宽度时,小数点本身也算作一个字符。数值型字段的小数位数由数据的精度决定位数。目 录上一页下一页退 出 字段有效性 规则:限制该字段的数据的有效范围。在规则中输入:性别=男.OR.性别=女。这样当给“性别”字段输入记录值时就只能输入“男”或“女”。信息:当向设置了规则的字段输入不符合规则的数据时,就会将所设置的信息显示出。默认值:当往表中添加记录时,系统向该字段预置的值。在“性别”字段中输入默认值为“男”。输入记录时只有女生才需要改变默认值,可以减少输入。字段有效性的设置如图3-6所示。2

6、)表选项卡:字段选项卡上主要介绍的是字段属性,它控制了字段值的输入,表选项卡则对表的记录属性进行描述,控制记录数据。在这里主要介绍记录有效性和触发器。目 录上一页下一页退 出3.1.7 表的打开与关闭表的打开与关闭1表的打开表的打开 表文件建好后,以文件的形式保存在磁盘上,在进行各种操作之前,首先必须打开表。打开表的过程实质上就是将表从磁盘调入内存,这样就可以对表中的数据进行各种操作。系统在任何时刻都只能对内存中的表进行访问。(1)命令方式【格式】USE【功能】打开指定磁盘的指定路径下的表和相关的索引文件。【说明】和:指定表文件所在的驱动器及路径,若省略盘符和路径参数,则打开当前盘、当前路径下

7、的表文件。表的打开与关闭表的打开与关闭目 录上一页下一页退 出数据库名!表文件名:指定打开指定数据库中的表文件。若末指定数据库名,则在当前数据库中查找,没有则在自由表中查找。两者同名,则打开数据库中的表。若不指定表文件名而使用“?”,系统会弹出“使用”对话框,以便用户指定打开表的文件名。【例3-1】打开在E盘VFP子目录中STUD.DBF表。USE E:VFPSTUD(2)用项目管理器打开表在项目管理器中选中需要打开的表,选择“浏览”或“修改”都能直接打开表且进行浏览或修改,关闭浏览或修改窗口后,该表仍处于打开状态。目 录上一页下一页退 出2表的关闭表的关闭 表文件操作完成后,或暂时不用时,必

8、须将其关闭,保存到外存中以确保数据的安全性。关闭表就是将表文件从内存中调出,保存在磁盘上。关闭表文件有以下几种方式:(1)打开另一个表文件 如果工作区中已打开有表文件,打开另一表文件时,系统将自动将先前打开的表文件关闭。(2)使用不带任何选项的USE命令【格式】USE【功能】关闭当前已打开的表文件。(3)使用CLEAR命令【格式】CLEAR ALL 目 录上一页下一页退 出【功能】关闭所有工作区中已打开的表文件、索引文件、格式文件及备注文件等,同时释放所有的内存变量。并选择工作区1为当前工作区。(4)使用CLOSE命令【格式1】CLOSE ALL【功能】关闭各种类型文件,并选择工作区1为当前工

9、作区。【格式2】CLOSE DATABASES【功能】关闭所有已打开的数据库文件、表文件、索引文件、格式文件及备注文件等,并选择工作区1为当前工作区。(5)退出Visual FoxPro系统QUIT【功能】退出Visual FoxPro系统,并关闭所有打开的文件,返回操作系统。目 录上一页下一页退 出(6)在数据工作窗口中关闭 在数据工作窗口中选择要关闭的表文件,然后选择“关闭”按钮,系统将关闭所选择的表文件。3.1.8 表的删除表的删除1删除自由表【格式】DELETE FILE 表文件名|?【功能】将指定的表文件从磁盘上删除。【说明】如果删除的表文件存在有与之相关的.fpt备注文件和(.cd

10、x或.idx)索引文件,则同时删除这些文件。删除一个表文件,应保证该表文件是处于关闭状态的。要删除的表文件如果不是在默认的路径下,则文件名应指明路径。表文件名不能包含通配符表的删除表的删除目 录上一页下一页退 出 若不指定文件名或使用“?”,系统会弹出“删除”对话框,选择要删除的表文件路径、文件类型及文件名后,单击“删除”按钮。2删除数据库表 先将数据库表从数据库中移去,然后再用删除自由表的方法进行删除。移去数据库表的命令是:【格式】REMOVE TABLE 表文件名|?DELETERECYCLE【功能】从当前数据库中移去一个表。【说明】表文件名:准备从数据库中移去的表文件名。选择?将出现移去

11、对话框,从中选择一个要从当前数据库中移去的表。选择DELETE在移去数据库表的同时,从磁盘上删除。选择RECYCLE在移去数据库表的同时,不会立即从磁盘上删除,而是放入回收站中。目 录上一页下一页退 出3在项目管理器中删除表在项目管理器中删除表 在项目管理器中选中需要删除的表,选择“移去”按钮或选择主菜单中【项目】|【移去文件】命令,出现一个选择对话框,若选择“移去”按钮,则将表文件移出项目文件,若选择“删除”按钮,则将表文件从磁盘上删除。3.2.1 表结构的显示表结构的显示在表的使用过程,要经常查看表的结构和记录,以随时了解表的变化情况。【格式】LIST|DISPLAY STRUCTURE

12、TO PRINT PROMPT|TO FILE【功能】显示或打印当前表文件的结构。表结构的显示目 录上一页下一页退 出 在执行以上命令时,如果系统中没有已打开的表文件,系统提示输入文件名。用LIST命令,所有信息连续显示,信息较多时,屏幕停止在最后一屏;用DISPLAY命令,如果信息较多则分屏显示,敲任意键继续显示下一屏。【例3-2】显示表STUD.DBF的结构。USE STUDLIST STRUCTURE 需要指出的是,最后一行显示出的记录字节数是所有字段宽度之和再加1。这额外的一个字节是用来存放记录的删除标记(*)的。3.2.2 表结构的修改表结构的修改表结构的改变有时会引起表记录的变化,

13、所以在一般情况下不轻易进行修改。但在确实需要时也可以进行修改。无论进行何种修改,使用的命令都是一个。表结构的修改表结构的修改目 录上一页下一页退 出1命令方式命令方式【格式】MODIFY STRUCTURE【功能】将当前已打开的表文件的表设计器打开进行修改。【说明】要修改表结构必须要先打开需要修改结构的表文件。如果当前工作区中没有已打开的数据库,执行此命令时系统会弹出“打开”对话框,以便用户选择需要修改表结构的文件名及路径等信息,用户选择完成后,系统将弹出表设计器对话框。目 录上一页下一页退 出3.3.5 表的复制表的复制1表结构的复制表结构的复制【格式】COPY STRUCTURE TO F

14、IELDS WITH CDX|WITH PRODUCTION【功能】复制当前表文件的结构作为新表文件的结构。【说明】命令执行前,需复制的表文件必须是打开的。执行后,生成的新表文件只有结构。:确定新表结构的字段名,中的字段必须是原表文件中具有的字段名。若省略该选项,则原样复制当前表文件的结构。【例3-17】用复制命令将STUD.DBF中的学号、姓名、性别、出生日期等四个字段,构成一个新表结构。表的复制表的复制目 录上一页下一页退 出 USE STUD COPY STRUCTURE TO STUD1 FIELDS 学号,姓名,性别,出生日期2表文件的复制表文件的复制【格式】COPY TO FIEL

15、DS FOR WHILE WITH CDX|WITH PRODUCTION【功能】将当前打开的表文件全部或部分复制到一个新生成的表文件中。【说明】新生成表文件中的字段顺序由FIELDS选择项确定,缺省表示新表的结构与原表的结构完全相同,新表文件中的记录由选择项以及选择项确定。同时缺省、表示将原表的全部记录都复制到新表中。若、和都缺省,则表示将原表进行备份。目 录上一页下一页退 出 指定新生成的表文件。若当前原表文件中有备注型字段,则相应的备注文件(.FPT文件)将同时被复制。新表文件名不能与被复制的原表文件同名,省略盘符和路径表示在当前盘当前目录下生成新表文件。【例3-18】复制STUD.DB

16、F中所有女同学的记录到STUD2.DBF中。USE STUD COPY TO STUD2 FOR 性别=“女”目 录上一页下一页退 出2菜单方式菜单方式(1)打开表。(2)选择【显示】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。这时还可以选择【显示】|【浏览】或【编辑】来改变显示方式。3利用项目管理器利用项目管理器 在项目管理器中,选择需要显示的表文件,单击“浏览”按钮或选择主菜单中【项目】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。3.3.2 记录指针的定位 记录号用于标识数据记录在表文件中的物理顺序。记录指针是一个指示器,它始终指向当前表中正在操作处理的那条记录

17、,此记录被称为当前记录。如果要对某条记录进行处理,必须移动记录指针,使其指向该记录。在任意时刻指针只能指向唯一的一条记录。记录指针的定位目 录上一页下一页退 出3.5.3 3.5.3 3.5.3 记录指针定位记录指针定位记录指针定位记录指针定位记录指针定位记录指针定位 记录定位就是将记录指针移到指定的记录上,记录指针指向的记录称为当前记录。VFP提供了下列绝对定位和相对定位两类命令。1、记录指针的绝对定位 格式一格式一:GOTO RECORD /TOP/BOTTOM 格式二:格式二:GO RECORD /TOP/BOTTOM格式三:格式三:功能:将记录指针直接定位到指定的记录上。参数描述:指定

18、一个物理记录号,记录指针移至该记录上。TOP:将记录指针定位在表的第一个记录上。BOTTOM:将记录指针定位在表的最后一个记录上。说明:RECORD可省略。的值必须大于0,且不大于当前表文件的记录个数。目 录上一页下一页退 出2、记录指针的相对定位 相对定位与当前记录有关,它是把记录指针从当前位置作相对移动。格式格式:SKIP 功能:将记录指针向前或向后作相对若干条记录的移动。参数描述:指定记录指针作相对移动的记录数据。说明:1、移动的记录数等于的值,其值为正数时,记录指针向下移动,当是负数时,记录指针向上移动。2、省略选择项,约定为向下移动一条记录,即SKIP 等价于SKIP 1。返返返返返

19、返 回回回回回回目 录上一页下一页退 出相对定位与是否打开索引文件有关。如果打开有索引,记录指针按索引文件中顺序移动。否则按表文件中物理顺序移动。【例3-8】绝对定位命令的用法。USE STUD GOTO 2 GO 3【例3-9】相对定位的用法。USE STUD SKIP 4 SKIP 3 SKIP 8 go top&系统主窗口显示为5&系统主窗口显示为2&超出了记录总数6&系统主窗口显示为1目 录上一页下一页退 出录入记录录入记录录入记录录入记录录入记录录入记录 表的数据录入有多种方法:第一种方法是在表结构建立时录入数据;第二种方法是在表结构建成并存盘关闭了“表设计器”之后,利用命令向表中追

20、加记录。格式:格式:APPEND BLANK 参数描述:BLANK:在当前表的末尾添加一条空记录。功能:在表的末尾添加一个或多个新记录。说明:可以在只有表结构而没有记录的空表中添加记录,也可以在已经录入数据的表中的尾部追加记录;它可以向当前表的尾部追加一条或多条新记录。省略可选项,目 录上一页下一页退 出则在当前表的尾部追加任意新记录,追加记录的方法及操作与用CREATE命令建立表时输入数据的方法相同;当发出APPEND或APPEND BLANK命令,并且在选定工作区中没有打开的表时,将显示一个“打开”对话框,我们可以在对话框中选择一个要添加记录的表。APPEND命令打开一个编辑窗口,我们可以

21、在其中输入一个或多个新记录。增加新记录后,VFP将自动修改打开的所有索引。打开浏览窗口后通过追加方式添加记录方法:在项目管理器中选定一个要添加记录的表,然后单击【浏览】,然后在系统菜单中选择【显示】|【追加方式】。添加记录的数据学号 姓名 性别 出 生 日 班级 宿舍 电话 说明 99041001 李娟 女 10/17/8 99 电子 4-201 2356122 9904王坚 男 04/21/8 99 机械 3-305 2356300 9804谢少文 男 02/23/8 98 电子 3-304 2356404 9805欧阳南 女 02/07/8 98 计算机 4-411 2356188 990

22、6李磊 男 10/04/8 99 英语 2-222 2356234 9904王向阳 男 03/29/8 99 机械 3-310 2356333 目 录上一页下一页退 出2 2、从另一个表中追加记录、从另一个表中追加记录 格式:格式:APPEND FROM/?FIELDS FOR 功能:功能:从一个表中读入记录,追加到当前表的尾部。参数描述:参数描述:指定要向当前表中追加记录的数据源。:显示“打开”对话框,从中选择从哪个表中读入数据。FIELDS :指定添加哪些字段数据。FOR:为当前选定表中每一条为“真”的记录追加新记录,直至达到当前选定表的末尾。如果省略FOR子句,则整个源文件记录都追加到当

23、前表中。目 录上一页下一页退 出在表中插入记录在表中插入记录在表中插入记录在表中插入记录在表中插入记录在表中插入记录 1 1、INSRETINSRET命令命令 格式格式:INSERT BLANK BEFORE 功能:在当前记录之前或之后插入一条或多条新记录。参数描述:选择BEFORE子句,新记录插在当前记录之前,当前记录和其后的记录向后顺序移动;否则插在当前记录之后,当前记录之后的记录顺序向后移动。选择BLANK子句,则插入一条空记录。说明:1、省略所有可选项,则在当前记录之后插入新记录。2、在VFP中,如果数据库具有表缓冲或行缓冲功能,则INSERT命令不能用于该数据库的表;对于具有参照完整

24、性规则的表也不能使用INSERT命令。目 录上一页下一页退 出【说明】INSERT是在当前记录之后插入新记录,INSERT BEFORE是在当前记录之前插入新记录,INSERT BLANK是在当前记录之后插入空记录。若表文件建立了索引,则插入的新记录按索引值进行排列。【例3-20】在表STUD.DBF的第2号记录前插入一条新记录,在第4号记录后插入一条新记录。USE STUD GOTO 2 INSERT BEFORE&在2号记录前插入一条新记录 GOTO 5&因已插入了一条新记录,原4号现为5号 INSERT&在4号记录后插入一条新记录目 录上一页下一页退 出2 2、INSERTINSERTS

25、QLSQL命令命令 格式一:格式一:INSERT INTO(,)VALUES(,)格式二:格式二:INSERT INTO FROM ARRAY/FROM MEMVAR 功能:功能:在表尾追加一个包含指定字段值的记录。参数描述:参数描述:指定要追加记录的表文件名。中可以包含路径,也可以是一个名称表达式。(,):指定要插入值的字段名。VALUES(,):新插入记录的字段值。FROM ARRAY:指定一个数组,数组中的数据将被插入到新记录中。FROM MEMVAR:把内存变量的内容插入到与它同名的字段中。说明:说明:目 录上一页下一页退 出1、如果指定的表没有打开,则VFP先在一个新工作区中以独占方

26、式打开该表,然后再把新记录追加到表中,此时并未选定该工作区,选定的仍然是当前的工作区。2、如果省略了VALUES子句后的字段名,那么,必须按照定义表结构时的顺序来指定字段值。3、使用FROM ARRAY 子句时,从指定数组的第一个数组元素开始,数组中的每一个元素的内容依次插入到新记录的对应字段中。第一个数组元素的内容插入到新记录的第一个字段,第二个元素的内容插入到新记录的第二个字段,依此类推。4、当使用FROM MEMVAR子句时,如果某一字段不存在同名的内存变量,则该字段为空。使用INSERTSQL命令向Student表中追加一条新记录 学号姓名性别出生日期班级宿舍电话99045002张中强

27、男03/22/8099电子3-3112356306INSERT INTO Student(学号,姓名,性别,出生日期,班级,宿舍,;电话)VALUES(99045002,张中强,男,1980/03/22,;99电子,3-311,2356306)目 录上一页下一页退 出显示表中的记录显示表中的记录显示表中的记录显示表中的记录显示表中的记录显示表中的记录 格式一:格式一:LIST OFF FIELDS FOR WHILE TO PRINTER PROMPT/TO FILE 格式二:格式二:DISPLAY OFF FIELDS FOR WHILE TO PRINTER PROMPT/TO FILE

28、功能:功能:显示当前表中的全部或部分记录和数据。参数描述:参数描述:OFF:使用OFF时,不显示记录号,否则显示记录号。:范围为可选项,选择时为ALL、RECORD(N)、NEXT(N)、REST中的一个参数,表示记录显示的范围。FIELDS:若省略,则显示当前表中的所有字段,否则显示指定的字段。如果备注字段名出现在中,则它的内容按50个字符列宽显示,目 录上一页下一页退 出FOR/WHILE:该子句用于有选择地显示某些记录,省略时则显示限定的全部记录。TO PRINTER PROMPT/TO FILE:指定记录列表的输出方向。TO PRINTER PROMPT指定输出到打印机。PROMPT参

29、数的使用方法同前。TO FILE 指定输出到所指定的文本文件中。LIST和DISPLAY的区别:(1)DISPLAY每显示一屏记录时暂停一次,按任意键后继续显示剩余的记录,而LIST没有周期性暂停,连续向下显示,直到记录显示完毕为止。(2)若省略所有可选项,则DISPLAY命令显示当前记录,即范围为NEXT 1,而LIST命令显示全部记录,即范围为ALL。【例3-3】显示表STUD.DBF的全部记录。USE STUD LIST 目 录上一页下一页退 出【例3-4】显示男生的记录。【例3-6】显示表中1985年出生的同学的学号、姓名、性别及出生日期。USE STUD DISPLAY FOR 性别

30、=男 FIELDS 学号,姓名,性别,班级名,系别代号USE STUD LIST FIELDS 学号,姓名,性别,出生日期 FOR YEAR(出生日期)=1985目 录上一页下一页退 出3.3.4 修改记录修改记录在表的使用维护过程中,有大量的工作是对数据记录的修改、编辑与更新,通常可以采用编辑修改、浏览修改和替换修改三种方式。1编辑修改编辑修改【格式】EDIT FIELDS FOR WHILE 修改记录修改记录目 录上一页下一页退 出【功能】按照给定条件编辑修改当前打开的表文件的记录。【说明】FIELDS:若选择此选项,则只列出字段名表中的字段,且显示顺序同字段名表中的顺序;若未选择此选项,

31、将显示表中的所有字段,显示顺序同表中的字段顺序。:若未选择此选项,则EDIT/CHANGE命令的范围为全部记录。FOR 和WHILE:同前面其他命令所述,在此不再重复叙述。【例3-15】修改STUD.DBF中计0121班学生的学号、姓名和性别等信息。USE STUD EDIT FIELDS 学号,姓名,性别 FOR 班级名=”计0121”全部修改完毕,使用 Ctrl+End 或 Ctrl+W 键保存所有修改的结果。目 录上一页下一页退 出修改表中的记录修改表中的记录修改表中的记录修改表中的记录修改表中的记录修改表中的记录 1、全屏幕编辑命令(1)利用菜单浏览和修改表中的数据 第一步:在项目管理

32、器中选择【数据】选项卡第二步:在数据库中选择一个表第三步:单击项目管理器中的【浏览】按钮目 录上一页下一页退 出VFP系统打开全屏幕浏览窗口第四步:在浏览窗口中修改数据记录标志位当前记录标志删除标志位关闭按钮第五步:修改结束后单击关闭按钮关闭浏览窗口在浏览窗口中可以去除、恢复垂直分隔线,也可以改变字段的显示宽度。目 录上一页下一页退 出(2)利用命令浏览和修改表中的数据 格式:格式:BROWSE FIELDS LOCK LAST FOR 功能:功能:在屏幕上打开一个浏览窗口,在窗口中显示表的记录。参数描述:参数描述:Fields:指定在浏览窗口中显示的表的字段。LOCK:将浏览窗口一分为二,指

33、定在左窗口中显示的字段数。LAST:按最后一次关闭浏览窗口的方式打开浏览窗口。FOR:指定在浏览窗口中显示的记录所要求满足的条件。说明:说明:1、BROWSE命令可以带有很多任选项,命令格式中只介绍了BROWSE命令的最基本的任选项。目 录上一页下一页退 出2、在中,除了可以使用表所定义的字段以外,还可以使用计算字段。计算字段计算字段:就是由表中的字段组合成的合法的VFP的表达式。注意:注意:计算字段的名称不能与当前表中的字段名同名,长度不能超过10个字符。计算字段是只读的,它的值随着组成计算字段的表中的字段值的变化而变化。计算字段的格式为:计算字段的格式为:=BROWSE FIELDS NA

34、ME_BIRTH=姓名+:+性别+:+DTOC(出生日期)+出生 当执行上述命令后屏幕显示结果目 录上一页下一页退 出在计算字段后面使用在计算字段后面使用:H:H参数,窗口中显示中文字段名参数,窗口中显示中文字段名 BROWSE FIELDS NAME_BIRTH=姓名姓名+:+性别性别+:+;DTOC(出生日期出生日期)+出生出生:H=姓名和出生日期姓名和出生日期,宿舍,电话宿舍,电话执行上述命令后,屏幕显示结果计算字段指定的中文名计算字段的值指定中文字段名目 录上一页下一页退 出3.3.3 删除记录删除记录 表记录的删除也是表维护的一项经常性的工作,因为删除意味着数据的消失,所以对记录的删

35、除操作比较慎重,删除可分为逻辑删除和物理删除两种操作。逻辑删除还可以恢复,而物理删除则不可恢复。1逻辑删除记录逻辑删除记录逻辑删除就是给指定的记录作删除标记“*”。(1)命令方式【格式】DELETE FOR WHILE【功能】对当前表中指定范围内满足条件的记录作删除标记“*”。【说明】DELETE命令仅仅是在要删除的记录前加上一个删除标记“*”,并不是真正地从表文件中将该记录删除掉。可以用LIST或DISP命令显示带删除标记的记录。删除记录删除记录目 录上一页下一页退 出,FOR、WHILE等各项选项意义同前;如果同时缺省和 子句,则仅仅删除当前的记录。【例3-10】删除STUD.DBF中所有

36、男同学的记录。USE STUDDELETE FOR 性别=男LIST FIELDS 学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员(2)菜单方式利用菜单方式逻辑删除记录的具体操作步骤如下:首先打开表文件 选择【显示】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。主菜单上增加【表】菜单项。目 录上一页下一页退 出 选择【表】|【删除记录】命令,出现图3-11所示的“删除”对话框。单击删除对话框中的For按钮或While按钮,系统弹出表达式生成器,用户可以在表达式框中输入一个逻辑表达式,如性别=”男”,单击【确定】按钮完成条件表达式的输入。在“作用范围”下拉列表框中选择范

37、围,如ALL。单击“删除”对话框中的“删除”按钮,系统将完成对指定范例内满足指定条件的记录的逻辑删除。目 录上一页下一页退 出2恢复逻辑删除记录恢复逻辑删除记录 恢复逻辑删除是将被逻辑删除的记录恢复为正常记录。即去掉“*”号。(1)命令方式【格式】RECALL FOR WHILE NOOPTIMIZE【功能】将当前表文件中指定范围内满足条件的已作删除标记“*”的记录恢复,即去掉这些删除记录的删除标记,使之成为正常记录。【说明】RECALL命令与DELETE命令相对应,它可以去掉被逻辑删除记录的删除标记“*”。,FOR、WHILE等各项选项意义同前;如果同时缺省和 子句,则仅仅恢复当前记录。【例

38、3-13】恢复STUD.DBF中删除的所有记录。USE STUD RECALL ALL目 录上一页下一页退 出(2)菜单方式 首先打开表文件 选择【显示】|【浏览】命令。选择【表】|【恢复记录】命令,出现类似图3-11所示对话框。余下操作与“删除”对话框的操作相同。3物理删除记录物理删除记录物理删除是将当前表文件中被逻辑删除的记录全部清除。(1)命令方式【格式】PACK MEMODBF【功能】将当前表文件中所有带删除标记(*)的记录全部真正地删除掉。【说明】若选用MEMO选项,PACK MEMO将压缩与表文件同名的备注文件中的无用空间,但并不删除表文件中作了删除标记的记录。目 录上一页下一页退

39、 出若选用DBF选项,而不用MEMO选项,则只删除表文件中作了删除标记的记录,而不压缩相应的备注文件。若不带任何选项,PACK命令将删除数据库文件中作了删除标记的记录,同时压缩相应的备注文件。注意:执行该命令后被删除的记录将不能被恢复,因此使用时应特别小心。【例3-14】将STUD.DBF中的学号为“021405”的记录进行物理删除。USE STUD DELETE FOR 学号=”021405”PACK目 录上一页下一页退 出(2)菜单方式利用菜单方式物理删除表记录的具体步骤如下:首先打开表文件 选择【显示】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。主菜单上增加【表】菜单。选择

40、【表】|【彻底删除】命令,出现图3-12所示的“确认”对话框。单击“是”按钮,完成物理删除过程。注意:用户也可以在EDIT、CHANGE、BROWSE窗口中,按Ctrl+T键对当前记录作(或取消)删除标记,也可以用鼠标单击记录最左边的删除标记栏作(或取消)删除标记。5删除全部记录删除全部记录【格式】ZAP【功能】将当前打开的表文件中的所有记录完全删除掉。目 录上一页下一页退 出3.4 排序与索引排序与索引 为了高效方便地存取数据,往往要求表记录以某一定的顺序排放或显示,因此,Visual FoxPro提供了两种方法重新组织数据,即排序和索引。排序是从物理上对表进行重新整理,按照指定的关键字段来

41、重新排列表中数据记录的顺序,并产生一个新的表文件。由于新表的产生即费时间也浪费空间,实际中很少用。排序与索引目 录上一页下一页退 出 索引是从逻辑上对表进行重新整理,按照指定的关键字段的建立索引文件。一个表文件可以建立多个索引文件,但对于打开的表文件,任何时侯只有一个索引文件起作用,此索引文件称为主控索引。3.4.1 表的排序表的排序【格式】SORT TO ON /A|/D/C,/A|/D/C.ASCENDING|DESCENDING FOR WHILE FIELDS【功能】对当前打开的表,按指定的字段进行排序,生成新的表文件。表的排序目 录上一页下一页退 出 生成的排序文件也是一个数据库文件

42、。范围、条件的含义同COPY TO命令。用作排序的字段的数据类型允许是N、C、D、L型。/A 表示升序 /D 表示降序 /C 表示不区分大小写 当有多个关键字段时,先按字段1的值排列,其值相同的,再按字段2的值排列。原库中的记录发生变化,排序文件不能自动完成同步修改。该命令执行后,当前表不变,产生的新表不会自动打开。占空间、废时间,很少用。【例3-25】将STUD.DBF按性别进行降序排列 USE STUD SORT TO STUD2 ON 性别目 录上一页下一页退 出3.4.2 表的索引表的索引1索引及索引文件的概述索引及索引文件的概述 索引文件可以看成索引关键字的值与记录号之间的对照表,关

43、键字可以是一个字段,也可以是几个字段的组合。在建立索引文件时,把表所有记录的索引关键字表达式的值按指定顺序排序,并把每个索引关键字表达式值与该值在表中所对应的记录对应起来,保存在索引文件中。表的索引目 录上一页下一页退 出 一个表文件可建立多个索引文件,也可同时打开多个索引文件,但在同一时间内只有一个索引起作用,这个索引称为主控索引。Visual FoxPro系统中支持两种不同的索引文件类型,即单索引文件和复合索引文件。单索引文件是根据一个索引关键字表达式(或关键字)建立的索引文件,文件扩展名为.IDX,它可用INDEX命令的各种形式建立。单索引文件分为标准和压缩两种类型。复合索引文件是指索引

44、文件中可以包含多个索引标识的扩展名为.CDX。每个索引标识与单索引文件类似,也可以根据一个索引关键字表达式(或关健字)建立。每一个索引标识均有一个特殊的标识名(TAG)。目 录上一页下一页退 出索引可分为下列四种类型:(1)主索引主索引是一个永远不允许在指定字段和表达式中出现重复值的索引。它也是在数据库表的永久关联中创建参照完整性时主表和被引用表使用的索引。每一个表只能建立一个主索引,只有数据库表才能建立主索引。2)侯选索引 侯选索引也是一个不允许在指定字段和表达式中出现重复值的索引。数据库表和自由表都可以建立侯选索引,一个表可以建立多个侯选索引。主索引和侯选索引都存储在.CDX结构复合索引文

45、件中,不能存储在独立复合索引文件和单索引文件中,因为主索引和侯选索引都必须与表文件同时打开和同时关闭。目 录上一页下一页退 出(3)唯一索引 系统只在索引文件中保留第一次出现的索引关键字值。数据库表和自由表都可以建立唯一索引(4)普通索引 是一个最简单的索引,允许关键字值的重复出现,适合用来进行表中记录的排序和查询,也适合于一对多永久关联中“多”的一边(子表)的索引。数据库表和自由表都可以建立普通索引。目 录上一页下一页退 出 普通索引和唯一索引可以存储在.CDX独立复合索引文件和.IDX单索引文件中。2索引文件的建立索引文件的建立(1)命令方式【格式】INDEX ON TO|TAG OF F

46、OR COMPACTASCENDING|DESCENDINGUNIQUE ADDITIVE【功能】对当前表文件按指定的关键字建立索引文件。【说明】:指定建立索引文件的关键字表达式,可以是单一字段名,也可以是多个字段组成的字符型表达式,表达式中各字段的类型只能是数值型、字符型和日期型和逻辑型。目 录上一页下一页退 出TAG:此选项只对建立复合索引文件时有效,指定建立或追加索引标识的标识名。OF:指定独立复合索引文件名。FOR:表示只对满足条件的记录建立索引。COMPACT:此选项只对单索引文件有效,表示建立压缩索引文件。ASCENDING|DESCENDING:ASCENDING表示按升序建立索

47、引,DESCENDING表示按降序建立索引。缺省时,按按升序建立索引。单索引文件不能选用DESCENDING选项。目 录上一页下一页退 出UNIQUE:表示建立的是唯一索引。ADDITIVE:表示保留以前打开的索引文件。否则,除结构复合索引文件外,以前打开的其他索引文件都将被关闭。新建的索引文件自动打开,并开始起作用。【例3-26】对STUD.DBF表文件建立出生日期单索引文件STUD.IDX。USE STUDINDEX ON 出生日期 TO STUD目 录上一页下一页退 出(2)菜单方式 打开表文件。选择【显示】|【表设计器】命令,打开表设计器对话框,选择“索引”标签,如图3-18所示。在索

48、引名中输入索引标识名,在类型的下拉列表框中确定一种索引类型,在表达式中输入索引关键字表达式,在筛选中输入确定参加索引的记录条件,在排序序列下默认的是升序按钮,单击可改变为降序按钮。确定好各项后,选择“确定”,关闭表设计器,同时索引建立完成。同样的方法也可以将以前建立的索引调出,利用表设计器上的“插入”或“删除”按钮进行插入或删除。注意:用表设计器建立的索引都是结构复合索引文件。目 录上一页下一页退 出 在项目管理器中建立索引(1)利用表设计器的字段选项卡建立索引文件 第一步:选择【数据】选项卡第二步:选择要建立索引的表第三步:单击【修改】按钮系统打开表设计器目 录上一页下一页退 出第四步:选择

49、要建立索引的关键字段第五步:在“索引”下拉列表框中选择“无”、“升序”、“降序”,建立索引第六步:单击【确定】按钮索引选项卡目 录上一页下一页退 出(2)利用表设计器的索引选项卡建立索引文件)利用表设计器的索引选项卡建立索引文件 索引选项卡移动按钮排序按钮在此框中输入索引标记在此列表框中选择索引类型在此文本框中输入索引表达式在此输入条件表达式表达式生成按钮返返 回回目 录上一页下一页退 出3索引文件的打开索引文件的打开【格式1】USE INDEX ORDER|TAG OF ASCENDING|DESCENDING【功能】打开指定的表文件及相关的索引文件【说明】:INDEX|?:表示打开的索引文

50、件;如果选择“?”,则系统将出现“打开”对话框,供用户选择索引文件名;:指定要打开的索引文件,索引文件中的文件扩展名可以省略,但如果存在同名的单索引文件和复合索引文件,必须带扩展名。目 录上一页下一页退 出ORDER子句:指定主索引。选择此选项时,主索引文件将不是中的第一个单索引文件,而是此选项指定的单索引文件或标识。ORDER子句中各选项的含义如下:指定主索引的编号,若的值为0,表示不设主索引。指定的单索引文件设置为主索引。TAG OF:表示将中的指定标识作为主索引。OF 缺省表示为结构复合索引文件。目 录上一页下一页退 出 ASCENDING|DESCENDING:表示主索引被强制以升序或

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第三章-数据表-VFP课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|