收藏 分享(赏)

数据库第三章.ppt

上传人:scg750829 文档编号:7180996 上传时间:2019-05-09 格式:PPT 页数:129 大小:676KB
下载 相关 举报
数据库第三章.ppt_第1页
第1页 / 共129页
数据库第三章.ppt_第2页
第2页 / 共129页
数据库第三章.ppt_第3页
第3页 / 共129页
数据库第三章.ppt_第4页
第4页 / 共129页
数据库第三章.ppt_第5页
第5页 / 共129页
点击查看更多>>
资源描述

1、第三章 数据库的基本操作,本 章 要 点,建立数据库与表 表字段的基本操作 表记录的基本操作 排序与索引 查询 数据统计与计算 多表的操作,建立数据库与表,数据库是表的集合。从Visual FoxPro 3.0开始引入了真正意义上的数据库概念。把一个二维表定义为表,把若干个关系比较固定的表集中起来放在一个数据库中管理,在表间建立关系,设置属性和数据有效性规则使相关联的表协同工作。数据库文件具有.dbc扩展名,其中可以包含一个或多个表、关系、视图和存储过程等。 一个Visual FoxPro表或.dbf文件,能够存在以下两种状态之一:与数据库相关联的数据库表,与数据库不关联的自由表。二者的绝大多

2、数操作相同且可以相互转换。相比之下,数据库表的优点要多一些。当一个表是数据库的一部分时,它就可以具有以下内容: 长表名和表中的长字段名 表中字段的标题和注释 默认值、输入掩码和表中字段格式化 表字段的默认控件类,要 点, 字段级规则和记录级规则 支持参照完整性的主关键字索引和表间关系 INSERT、UPDATE或DELETE事件的触发器 3.1.1 建立数据库 1命令方式 【格式】CREATE DATABASE |? 【功能】建立一个新的扩展名为.DBC的数据库文件并打开此数据库。【说明】指定生成的数据库文件,若省略扩展名,则默认为.DBC,同时也自动建立相关联的数据库备注文件扩展名为.DCT

3、,关联的索引文件扩展名为.DCX。如果未指定数据库文件名或用“?”代替数据库名,Visual FoxPro系统会弹出创建对话框,以,建立数据库,便用户选择数据库建立的路径和输入数据库名。保存后该数据库文件被建立,并且自动以独占方式打开该数据库。2菜单方式 用菜单方式建立数据库的具体步骤如下: (1)选择【文件】【新建】出现新建对话框。 (2)选择“数据库”单选按钮,再单击“新建文件”按钮,出现“创建”对话框。 (3)在“创建”对话框中输入文件名。选择“保存”按钮,系统自动打开数据库文件,并且将数据库设计器也自动打开。 3利用项目管理器建立数据库 打开已建立的项目文件,出现项目管理器窗口,选择。

4、,“数据”标签的“数据库”,然后单击“新建”按钮。出现新建数据库对话框,单击“新建数据库”按钮,出现“新建”对话框,选择数据库的路径并输入数据库名后单击“保存”按钮,完成数据库的建立,并打开该数据库设计器 3.1.2 删除数据库 1命令方式 【格式】DELETE DATABASE 【功能】从磁盘上删除一个扩展名为.DBC的数据库文件。,删除数据库,【说明】被删除的数据库不能处于打开状态。被删除的数据库中的表成为自由表。 数据库文件名可以包括数据库的路径和数据库名字。如果用“?”代替数据库文件名,将显示打开对话框,用户可从打开对话框中选择要从磁盘上删除的数据库的名字。 2使用项目管理器 打开已建

5、立的项目文件,出现项目管理器窗口,单击“数据”标签,选择要删除的“数据库”,然后单击“移去”按钮。出现图3-4选择对话框,若选择“移去”仅将数据库从项目中移去,若选择“删除”将从磁盘上删除数据库。被删除的数据库中的表成为自由表。,3.1.3 打开数据库 1命令方式 【格式】OPEN DATABASE | ? EXCLUSIVE|SHARED 【功能】将磁盘上一个扩展名为.DBC的指定数据库文件打开。【说明】打开一个数据库文件,同名的.DCT相关的数据库备份文件与.DCX相关的索引文件也一起被打开。数据库打开后,在常用工具栏中可以看见当前正在使用的数据库名,同时当数据库设计器为当前窗口时,系统菜

6、单上出现【数据库】菜单项。:指定要打开的数据库名。如果用户省略或用“?”代替数据库名。系统会显示打开对话框。,打开数据库,注意:在数据库被打开的情况下,它所包含的所有表可以使用。但是,表并没有被真正打开,用户要打开它,仍要用USE命令。 2菜单方式 (1)选择【文件】|【打开】,出现打开对话框。 (2)选择数据库文件所在的文件夹,将文件类型选择为“数据库(.dbc)”。 (3)选择所要打开的数据库文件名,单击“确定”按钮。 3利用项目管理器打开数据库 打开已建立的项目文件,出现项目管理器窗口,选择“数据”标签,选择要打开的数据库名,然后单击“打开”按钮。,3.1.4 数据库的关闭 数据库文件操

7、作完成后,或暂时不用时,必须将其关闭,保存在外部存贮器中以确保数据的安全性。关闭数据库文件有以下几种方式: 1命令方式 【格式】CLOSE ALL|DATABASE 【功能】关闭当前打开的数据库。 【说明】ALL用于关闭所有对象。如数据库、表、索引、项目管理器等。 DATABASE关闭当前数据库和数据库表;如果当前没有打开的数据库,则关闭所有打开的自由表、所有工作区内所有索引和格式文件。,数据库的关闭,2利用项目管理器关闭数据库 打开已建立的项目文件,出现项目管理器窗口,选择“数据”标签,选择“数据库”下面需要关闭的数据库名,然后单击“关闭”按钮。在常用工具栏上的当前数据库下拉列表框中该数据库

8、名消失,同时在项目管理器中“关闭”按钮变成“打开”按钮。 3.1.5 建立表结构前面我们已经知道表有二种,一种是数据库表,另一种是自由表。如果建表时数据库是打开的,则建立的表为当前数据库表,否则,建立自由表。无论建立那种表,其方法都相同。一个表由表结构和表记录两部分组成。表结构描述了数据存放形式以及存贮的顺序,确定了表的字段,就完成了对表结构的定义;表记录是表所要保存的数据主体,数据由记录组成,字段是构成记录的基本单元。,建立表结构,建立一个表文件首先第一步就是建立表结构,然后再输入表记录。 建立表结构的方法有很多,在这里主要讲述三种方法:命令方式、菜单方式和使用项目管理器的方式。 1命令方式

9、 【格式】CREATE | ? 【功能】建立一个新的、扩展名为.DBF的表文件。 【说明】指定生成的表文件名,若缺省扩展名,则默认为.DBF。如果使用“?”或末指定表文件名,Visual FoxPro系统会弹出创建对话框,以便用户输入表名。,现在用命令方式来建立本章所用的stud.dbf表。表内容如下:,用命令方式建立表的具体步骤为: (1)如果没有打开STUDENT数据库,先打开它。如果创建自由表,该步可略去。 (2)在命令窗口中输入CREATE STUD回车,系统打开“表设计器”对话框,如图3-5所示。 (3)在“字段名”文本框中输入第一个字段名:“学号”,在“类型”下拉列表框中,选择字段

10、的类型为字符型,在宽度输入框中输入10或单击右边的微调按钮至10。 (4)将输入光标定位在第二个字段的字段名上,用同样的方法依次输入各个字段的字段名、类型、宽度和小数位数。 (5)将所有字段的参数确定好之后,单击“确定”或按快捷键CTRL+W存盘。系统会 打开提示窗口,询问用户是否立即输入记录,选择“是”立即开始输入记录,选择“否”不输入记录,光标返回命令窗口,只建立表结构。,表设计器对话框中包含“字段”、“索引”、“表”三个选项卡。 1)“字段”选项卡:适用于建立表结构,确定表中每个字段的字段名、字段类型、字段宽度和小数位数等。 字段名:是某字段的名字。在表中必须为唯一的,字段名必须以汉字、

11、字母和下划线开头,由汉字、字母、数字和下划线组成,对于数据库表支持长字段名,字段名最多为128个字符,自由表不支持长字段名,字段名最多为10个字符。当数据库表转化为自由表时截去超长部分的字符。字段名不能使用系统的保留字。 字段类型:表示该字段中存放数据的类型。一个字段即二维表中的一列,其中的数据应具有共同的属性。若存放的是一些符号,不进行数值运算,则定义为字符型;若需要进行数值运算,则根据数值表示的实际意义,选择数值型、货币型、浮点型、双精度型、整型中的一种。对描述日期的字段,可根据需要定义为日期型或日期时间型。对取值只有两种情况,为“真”或为“假”的数据定义为逻辑型。若,存储的字符超过254

12、,为节省存储空间可定义为备注型。若要保存图片或OLE对象,可定义为通用型。备注型和通用型字段的信息都没有直接存放在表文件中,而是存放在一个与表文件同名的.FPT文件中。 字段宽度:表示该字段所允许存放数据的最大宽度。由数据的最大宽度决定。过大浪费存储空间,过小数据溢出。字符型字段的最大宽度254个字符,数值型字段和浮点型字段的宽度为20位,逻辑型字段的宽度固定为1,日期型字段的宽度固定为8,通用型字段和备注型字段的宽度固定为4。 小数位数:只对数值型字段和浮点型字符等数值类型有效,允许最大宽度20。在计算数值型字段和浮点型字段的宽度时,小数点本身也算作一个字符。数值型字段的小数位数由数据的精度

13、决定位数。, 字段宽度:表示该字段所允许存放数据的最大宽度。由数据的最大宽度决定。过大浪费存储空间,过小数据溢出。字符型字段的最大宽度254个字符,数值型字段和浮点型字段的宽度为20位,逻辑型字段的宽度固定为1,日期型字段的宽度固定为8,通用型字段和备注型字段的宽度固定为4。 小数位数:只对数值型字段和浮点型字符等数值类型有效,允许最大宽度20。在计算数值型字段和浮点型字段的宽度时,小数点本身也算作一个字符。数值型字段的小数位数由数据的精度决定位数。 若建立的是数据库表,则下面还有显示、字段有效性等框。, 字段的显示属性 格式:控制字段在浏览窗口、表单、报表等显示时的样式。格式字符及功能如表3

14、-2所示。, 输入掩码:控制输入该字段的数据的格式。掩码字符及功能如表3-3所示。,表3-3 字段的显示掩码字符 标题:若表结构中字段名用的是英文,则可以在标题中输入汉字,这样显示该字段值时就比较直观了。没有设置标题,则将表结构中的字段名作为字段的标题。, 字段有效性 规则:限制该字段的数据的有效范围。在规则中输入:性别=“男“.OR.性别=“女“。这样当给“性别”字段输入记录值时就只能输入“男”或“女”。 信息:当向设置了规则的字段输入不符合规则的数据时,就会将所设置的信息显示出。 默认值:当往表中添加记录时,系统向该字段预置的值。在“性别”字段中输入默认值为“男”。输入记录时只有女生才需要

15、改变默认值,可以减少输入。字段有效性的设置如图3-6所示。 2)表选项卡:字段选项卡上主要介绍的是字段属性,它控制了字段值的输入,表选项卡则对表的记录属性进行描述,控制记录数据。在这里主要介绍记录有效性和触发器。, 记录有效性 规则:指定记录的有效条件,满足该条件,数据才能输入到表中,它确定的是该记录各字段值之间的总体数据关系是否有错。 信息:当记录的数据不符合规则时,由系统显示给用户的提示信息。 触发器当对记录进行操作时,若设置了触发器,则对触发器设置的条件表达式进行验证,若其值为真.T.,则允许进行相关操作,否则,则拒绝操作。 插入触发器:当向表中插入或追加记录时,判断其表达式的值,为“真

16、”允许插入或追加,为“假”不允许插入或追加。 更新触发器:当要修改记录时,判断其表达式的值,为“真”允许修改,为“假”不允许修改。, 删除触发器:当要删除表中记录时,判断其表达式的值,为“真”允许删除,为“假”不允许删除。 以上三类触发器也可以用相应的命令实现: CREATE TRIGGER ON 表名FOR INSERT AS触发条件表达式 CREATE TRIGGER ON 表名FOR UPDATE AS触发条件表达式 CREATE TRIGGER ON 表名FOR DELETE AS触发条件表达式 2菜单方式选择【文件】|【新建】打开新建对话框,选择“表”,单击“新建文件”出现创建对话框

17、,确定需要建立表的路径和表名,按“保存”按钮后,出现图3-5所示“表设计器”对话框。以下步骤同命令方式。,3用项目管理器新建表打开已建立的项目文件,出现项目管理器窗口,选择“数据”选项卡中的“数据库”下的表,然后单击“新建”按钮。出现新建表对话框,选择“新建表”出现创建对话框,确定需要建立表的路径和表名,按“保存”按钮后,出现图3-5所示的“表设计器”对话框。以下步骤同命令方式。 3.1.6 输入表记录如果在刚建好表结构时,在系统提示是否立即输入记录的对话框中选择“是”可直接进入输入记录窗口。如果选择了“否”,再想输入表记录就要以追加方式输入记录。 输入表记录的方法又分为命令方式和菜单方式两种

18、方法。 1命令方式 【格式】APPEND BLANK 【功能】在当前已打开表的末尾追加一条或多条记录。,输入表记录,【说明】BLANK:表示在表末尾追加一条空记录,并自动返回命令窗口,此时系统并不弹出编辑窗口。 例如:在命令窗口输入命令USE STUD &打开表APPE &或EDIT 注意:输入逻辑值时只输入T或F,定界符系统自动生成输入日期值时只输入数码,分隔符系统自动生成输入备注值时,光标位于MEMO上时,按CTRL+PgDn进入编辑窗口,完成后按CTRL+W返回下一个字段继续输入。 2菜单方式 (1)首先打开表STUD.DBF。 (2)选择【显示】|【浏览】命令。 (3)选择【表】|【追

19、加新记录】命令,用户可以输入追加记录的各个字段。,3.1.7 表的打开与关闭 1表的打开表文件建好后,以文件的形式保存在磁盘上,在进行各种操作之前,首先必须打开表。打开表的过程实质上就是将表从磁盘调入内存,这样就可以对表中的数据进行各种操作。系统在任何时刻都只能对内存中的表进行访问。 (1)命令方式 【格式】USE 【功能】打开指定磁盘的指定路径下的表和相关的索引文件。 【说明】和:指定表文件所在的驱动器及路径,若省略盘符和路径参数,则打开当前盘、当前路径下的表文件。,表的打开与关闭,数据库名!表文件名:指定打开指定数据库中的表文件。若末指定数据库名,则在当前数据库中查找,没有则在自由表中查找

20、。两者同名,则打开数据库中的表。 如果表文件中含有通用型、备注型字段,同名的.FPT文件也同时打开。 若不指定表文件名而使用“?”,系统会弹出“使用”对话框,以便用户指定打开表的文件名。 【例3-1】打开在E盘VFP子目录中STUD.DBF表。USE E:VFPSTUD (2)用项目管理器打开表 在项目管理器中选中需要打开的表,选择“浏览”或“修改”都能直接打开表且进行浏览或修改,关闭浏览或修改窗口后,该表仍处于打开状态。,2表的关闭表文件操作完成后,或暂时不用时,必须将其关闭,保存到外存中以确保数据的安全性。关闭表就是将表文件从内存中调出,保存在磁盘上。关闭表文件有以下几种方式: (1)打开

21、另一个表文件如果工作区中已打开有表文件,打开另一表文件时,系统将自动将先前打开的表文件关闭。 (2)使用不带任何选项的USE命令 【格式】USE 【功能】关闭当前已打开的表文件。 (3)使用CLEAR命令 【格式】CLEAR ALL,【功能】关闭所有工作区中已打开的表文件、索引文件、格式文件及备注文件等,同时释放所有的内存变量。并选择工作区1为当前工作区。 (4)使用CLOSE命令 【格式1】CLOSE ALL 【功能】关闭各种类型文件,并选择工作区1为当前工作区。 【格式2】CLOSE DATABASES 【功能】关闭所有已打开的数据库文件、表文件、索引文件、格式文件及备注文件等,并选择工作

22、区1为当前工作区。 (5)退出Visual FoxPro系统 QUIT 【功能】退出Visual FoxPro系统,并关闭所有打开的文件,返回操作系统。,(6)在数据工作窗口中关闭在数据工作窗口中选择要关闭的表文件,然后选择“关闭”按钮,系统将关闭所选择的表文件。 3.1.8 表的删除 1删除自由表 【格式】DELETE FILE 表文件名|? 【功能】将指定的表文件从磁盘上删除。 【说明】如果删除的表文件存在有与之相关的.fpt备注文件和(.cdx或.idx)索引文件,则同时删除这些文件。删除一个表文件,应保证该表文件是处于关闭状态的。 要删除的表文件如果不是在默认的路径下,则文件名应指明路

23、径。 表文件名不能包含通配符,表的删除,若不指定文件名或使用“?”,系统会弹出“删除”对话框,选择要删除的表文件路径、文件类型及文件名后,单击“删除”按钮。 2删除数据库表先将数据库表从数据库中移去,然后再用删除自由表的方法进行删除。 移去数据库表的命令是: 【格式】REMOVE TABLE 表文件名|?DELETERECYCLE 【功能】从当前数据库中移去一个表。【说明】表文件名:准备从数据库中移去的表文件名。 选择?将出现移去对话框,从中选择一个要从当前数据库中移去的表。选择DELETE在移去数据库表的同时,从磁盘上删除。选择RECYCLE在移去数据库表的同时,不会立即从磁盘上删除,而是放

24、入回收站中。,3在项目管理器中删除表在项目管理器中选中需要删除的表,选择“移去”按钮或选择主菜单中【项目】|【移去文件】命令,出现一个选择对话框,若选择“移去”按钮,则将表文件移出项目文件,若选择“删除”按钮,则将表文件从磁盘上删除。 3.2.1 表结构的显示 在表的使用过程,要经常查看表的结构和记录,以随时了解表的变化情况。 【格式】LIST | DISPLAY STRUCTURE TO PRINT PROMPT | TO FILE 【功能】显示或打印当前表文件的结构。,表字段的基本操作,在执行以上命令时,如果系统中没有已打开的表文件,系统提示输入文件名。用LIST命令,所有信息连续显示,信

25、息较多时,屏幕停止在最后一屏;用DISPLAY命令,如果信息较多则分屏显示,敲任意键继续显示下一屏。 【例3-2】显示表STUD.DBF的结构。 USE STUD LIST STRUCTURE 需要指出的是,最后一行显示出的记录字节数是所有字段宽度之和再加1。这额外的一个字节是用来存放记录的删除标记(*)的。 3.2.2 表结构的修改 表结构的改变有时会引起表记录的变化,所以在一般情况下不轻易进行修改。但在确实需要时也可以进行修改。无论进行何种修改,使用的命令都是一个。,表结构的修改,1命令方式 【格式】MODIFY STRUCTURE 【功能】将当前已打开的表文件的表设计器打开进行修改。 【

26、说明】要修改表结构必须要先打开需要修改结构的表文件。如果当前工作区中没有已打开的数据库,执行此命令时系统会弹出“打开”对话框,以便用户选择需要修改表结构的文件名及路径等信息,用户选择完成后,系统将弹出表设计器对话框。 主要有增加、修改、删除和移动几种操作。 (1)增加字段:将光标移至需插入位置上的字段上,选择“插入”按钮或按快捷键ALT+I,在该位置上出现一个新字段,原位置以下的各字段均下移一行。确定增加字段的字段名、字段类型、字段宽度等参数,选择“确定”按钮即可。,(2)修改字段:将光标定位在需要修改处,编辑修改,完成后选择“确定”按钮即可。 (3)删除字段:将光标移至需删除的字段上,选择“

27、删除”按钮或按快捷键ALT+D,在该位置上的字段被删除,原位置以下各字段均上移一行。选择“确定”按钮即可。 (4)移动字段:将光标移至需移动位置的字段上,用鼠标拖动字段名前的“”按钮,出现一个虚框,当虚框出现在目标位置上时松开鼠标,移动完成,选择“确定”按钮即可。 无论是何种修改,选择“确定”按钮后,由于表结构的变化要影响表记录数据,所以都要出现对话框由用户确认修改是否有效。,使用MODIFY STRUCTURE命令要注意以下几点: 在MODIFY STRUCTURE命令的执行期间,如果强行退出,有可能丢失数据。 不能同时修改字段名和它的类型,否则系统将不能正确地送回原来的数据而造成数据的丢失

28、。 如果在修改字段名的同时插入或删除了字段,会引起字段位置发生变化,有可能造成数据丢失。但是,在插入或删除字段的同时却可以修改字段的宽度或字段的类型,MODIFY STRUCTURE将根据字段名正确地从备份文件中传送数据。 如果修改表结构完成后出现了数据丢失现象,或者对其不满意,可利用备份文件将表恢复到修改前的状态,方法是先将新的表文件删除掉,再将备份文件的扩展名.BAK改为表文件扩展名.DBF,将备注备份文件扩展名.TBK改为备注文件的扩展名.FPT。,2利用数据库设计器 在数据库设计器中选中需要修改的表文件,再选择主菜单中【数据库】|【修改】命令,具体的修改方法同命令方式。 3利用项目管理

29、器 在项目管理器中选中需要修改的表文件,再选择主菜单中【项目】|【修改】命令或单击项目管理器中的“修改”按钮。 3.3.1 表记录的显示 1命令方式 【格式】LIST | DISPLAY FIELDS FOR WHILE OFFNOCONSOLE TO PRINTER PROMPT | TO FILE【功能】将当前表文件的记录按照指定的选项进行显示。,表记录的基本操作,【说明】DISPLAY命令与LIST命令的功能相似,当表文件的数据记录较多时,用DISPLAY命令较为方便。还有一点不同之处就是,如果同时缺省和 子句,DISPLAY命令只显示当前的一条记录,而LIST命令则是取默认值ALL而显

30、示全部记录。 FIELDS :用来指定显示的字段。 :用来指定显示哪些记录。 “范围”有以下四种表示方法: ALL:所有记录。 NEXT N:从当前记录开始,后面的N条记录(包括当前记录) RECORD N:第N条记录。 REST:当前记录后的全部记录(包括当前记录)。,FOR:指定对表文件中指定范围内满足条件的记录进行操作。 WHILE:也是指定对表文件中指定范围内满足条件的记录进行操作,但是,当第一次遇到不满足条件的记录时,停止继续往后搜索。 WHILE若与FOR同时使用,则WHILE项优先;若两者都不选用,则显示中指定的全部记录。OFF:表示不显示记录号;若不选此项,则在各记录前显示记录

31、号。 【例3-3】显示表STUD.DBF的全部记录。USE STUDLIST,【例3-4】显示男生的记录。USE STUDDISPLAY FOR 性别=男 FIELDS 学号,姓名,性别,班级名,系别代号 【例3-5】显示表中所有记录的学号、姓名和性别。USE STUDLIST FIELDS 学号, 姓名, 性别 【例3-6】显示表中1985年出生的同学的学号、姓名、性别及出生日期。USE STUDLIST FIELDS 学号,姓名,性别,出生日期 FOR YEAR(出生日期)=1985,2菜单方式 (1)打开表。 (2)选择【显示】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。这

32、时还可以选择【显示】|【浏览】或【编辑】来改变显示方式。 3利用项目管理器在项目管理器中,选择需要显示的表文件,单击“浏览”按钮或选择主菜单中【项目】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。 3.3.2 记录指针的定位记录号用于标识数据记录在表文件中的物理顺序。记录指针是一个指示器,它始终指向当前表中正在操作处理的那条记录,此记录被称为当前记录。如果要对某条记录进行处理,必须移动记录指针,使其指向该记录。在任意时刻指针只能指向唯一的一条记录。,记录指针的定位,记录指针定位有绝对定位、相对定位和查询定位三种。在这里暂时只讲前二种,查询定位在讲到查询时再详细介绍。 4绝对定位 【

33、格式】GO | GOTO IN | IN 【功能】将记录指针绝对定位到指定的记录上。 :记录的物理记录号。 IN | IN :指定操作表所在的工作区;若缺省,则对当前工作区表操作。工作区的概念在后面再详细介绍。绝对定位与是否打开索引文件没有关系。,2相对定位 【格式1】SKIP IN | 【功能】记录指针从当前记录向前(或向后)移动若干个记录。 【说明】:表示移动的记录个数。若数值表达式的值为负值,表示向前移动记录;否则,表示向后移动记录。如果缺省此项,则表示向后移动1个记录。 如果记录指针已经移过文件的最后一个记录,则RECNO() 函数返回的值等于文件中的记录总数加 1,EOF()函数返回

34、逻辑真(.T.)值。 【格式2】GO|GOTO 【功能】将记录指针移动到表文件的首记录或尾记录 TOP:将记录指针移动到表文件的首记录。 BOTTOM:将记录指针动到表文件的最后一条记录。,相对定位与是否打开索引文件有关。如果打开有索引,记录指针按索引文件中顺序移动。否则按表文件中物理顺序移动。 【例3-8】绝对定位命令的用法。USE STUDGOTO 2GO 3 【例3-9】相对定位的用法。USE STUDSKIP 4 & 系统主窗口显示为5SKIP 3 & 系统主窗口显示为2SKIP 8 & 超出了记录总数6go top & 系统主窗口显示为1,3.3.3 删除记录表记录的删除也是表维护的

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

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

37、作用范围”下拉列表框中选择范围,如ALL。 单击“删除”对话框中的“删除”按钮,系统将完成对指定范例内满足指定条件的记录的逻辑删除。 2隐藏逻辑删除记录 【格式】SET DELETED ON | OFF【功能】将表文件中已逻辑删除的记录隐藏,仿佛真正删除一样。,【说明】表文件中被逻辑删除的记录只是在该记录上加一个删除标记,当SET DELETED设置为OFF时,对该表文件的各种操作,对被删除的记录同样有效。当SET DELETED ON时,可使对表文件中数据的各种操作,一般均不包括有删除标记的记录,但下列情况例外:命令的记录范围是当前记录或RECORD(n)时;INDEX或REINDEX命令不

38、受SET DELETED的影响,始终处理带删除标记的记录。 SET DELETED的缺省状态是OFF。 【例3-12】隐藏上题中STUD.DBF的标记删除记录。USE STUDSET DELETED ON 3恢复逻辑删除记录恢复逻辑删除是将被逻辑删除的记录恢复为正常记录。即去掉“*”号。,(1)命令方式 【格式】RECALL FOR WHILE NOOPTIMIZE 【功能】将当前表文件中指定范围内满足条件的已作删除标记“*”的记录恢复,即去掉这些删除记录的删除标记,使之成为正常记录。 【说明】RECALL命令与DELETE命令相对应,它可以去掉被逻辑删除记录的删除标记“*”。 ,FOR、WH

39、ILE等各项选项意义同前;如果同时缺省和 子句,则仅仅恢复当前记录。 【例3-13】恢复STUD.DBF中删除的所有记录。USE STUDRECALL ALL,(2)菜单方式 首先打开表文件 选择【显示】|【浏览】命令。 选择【表】|【恢复记录】命令,出现类似图3-11所示对话框。余下操作与“删除”对话框的操作相同。 4物理删除记录 物理删除是将当前表文件中被逻辑删除的记录全部清除。 (1)命令方式 【格式】PACK MEMODBF 【功能】将当前表文件中所有带删除标记(*)的记录全部真正地删除掉。 【说明】若选用MEMO选项,PACK MEMO将压缩与表文件同名的备注文件中的无用空间,但并不

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

41、加【表】菜单。 选择【表】|【彻底删除】命令,出现图3-12所示的“确认”对话框。 单击“是”按钮,完成物理删除过程。 注意:用户也可以在EDIT、CHANGE、BROWSE窗口中,按Ctrl+T键对当前记录作(或取消)删除标记,也可以用鼠标单击记录最左边的删除标记栏作(或取消)删除标记。 5删除全部记录 【格式】ZAP 【功能】将当前打开的表文件中的所有记录完全删除掉。,【说明】执行该命令之后,将只保留表文件的结构,而不再有任何数据存在。这种删除无法恢复,因此,为防止用户发生错误操作而删除有用的表文件记录,执行该命令时,系统会弹出如图3-13所示ZAP提示窗口,以确认是否删除全部记录,单击“

42、是”按钮清除所有记录,单击“否”按钮放弃ZAP操作。 3.3.4 修改记录 在表的使用维护过程中,有大量的工作是对数据记录的修改、编辑与更新,通常可以采用编辑修改、浏览修改和替换修改三种方式。 1编辑修改 【格式】EDIT / CHANGE FIELDS FOR WHILE ,修改记录,【功能】按照给定条件编辑修改当前打开的表文件的记录。 【说明】FIELDS :若选择此选项,则只列出字段名表中的字段,且显示顺序同字段名表中的顺序;若未选择此选项,将显示表中的所有字段,显示顺序同表中的字段顺序。 :若未选择此选项,则EDIT/CHANGE命令的范围为全部记录。 FOR 和WHILE :同前面其

43、他命令所述,在此不再重复叙述。 【例3-15】修改STUD.DBF中计0121班学生的学号、姓名和性别等信息。USE STUDEDIT FIELDS 学号,姓名,性别 FOR 班级名=”计0121” 全部修改完毕,使用 Ctrl+End 或 Ctrl+W 键保存所有修改的结果。,2浏览修改 (1)命令方式 【格式】BROWSE FIELDS FOR 【功能】显示当前表的记录内容,以供编辑修改。 【说明】编辑结束后,按Ctrl+W或Ctrl+End存盘退出BROWSE编辑窗口,或者按Ctrl+Q或Esc键放弃存盘退出BROWSE窗口。 (2)菜单方式 利用菜单方式进行浏览修改的操作步骤如下: 打

44、开表。 选择【显示】|【浏览】命令,系统弹出记录浏览窗口。 在编辑修改窗口中编辑修改数据内容,完成后按Ctrl+W键存盘退出Beowse窗口。,3替换修改 (1)命令方式 【格式】REPLACE WITH ADDITIVE, WITH ADDITIVE . FOR WHILE NOOPTIMIZE 【功能】用指定表达式的值替换当前表中满足条件记录的指定字段的值。 【说明】:该命令适合对当前库进行成批地、有规律地修改。缺省范围、条件时,仅替换当前记录该命令回车后,数据修改自动完成。适用于程序设计。ADDITIVE 只对备注型字段修改有效。选择:表示添加内容 不选择:表示替换内容表达式的类型必须与

45、字段类型一致 表达式的值不能超出字段宽度,否则,数据无效。,【例3-16】修改STUD.DBF中的“学号”字段数据,。USE STUDREPLACE 学号 WITH ”20”+学号 ALL (2)菜单方式 打开表文件。选择【显示】|【浏览】命令。 选择【表】|【替换字段】命令,弹出图3-16所示的“替换字段”对话框。 单击字段下拉按钮选择要进行替换操作的字段名,在“替换为”显示栏中输入替换表达式,再选择“替换条件”显示框中的范围、条件。 单击“替换”按钮,系统将自动完成替换操作。,3.3.5 表的复制 1表结构的复制 【格式】COPY STRUCTURE TO FIELDS WITH CDX

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

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

48、 TO STUD2 FOR 性别=“女” 3表记录保存为文本文件 【格式】COPY TO FIELDS FOR WHILE | WITH BLANK | WITH TAB 【功能】将当前表的记录全部或部分保存到一个文本文件中。,【说明】 FIELDS:确定文本文件中的字段顺序,缺省表示将表中记录的全部字段值保存到文本文件中,。 以及选择项:确定哪些记录的字段值保存到文本文件中。同时缺省、表示将原表的全部记录的字段值都保存到文本文件中。TYPE:当用户生成的新文件不是DBF格式文件时,可以用TYPE选项指定新文件的格式,系统会自动产生不同格式的新文件,并为新文件加上相应的扩展名。 TYPE文件类

49、型包括下列几种: SDF:复制为SDF(System Data Format)格式的ASCII文本文件,默认扩展名为.TXT。 DELIMITED WITH WITH BLANK | WITH TAB:复制为带分隔符的ASCII文本文件,默认扩展名为.TXT。,SDF和DELIMITED格式的区别: SDF是将表文件的每一条记录复制到SDF文本文件中,在每一行中,字段与字段间没有分隔符,每一行以回车换行结束。字段在SDF文件中的宽度是固定的,等于源表中该字段的定义宽度。在SDF文件中,表文件中的字符型字段和数值型字段原样存贮,即字符型左对齐存贮,不足部分在右边填以空格;数值型则以右对齐方式存贮,不足部分在左边填以空格。日期型数据以YYYYMMDD格式存贮。逻辑型数据以T或F存贮。SDF文本文件不接受备注型字段和通用型字段。 DELIMITED文件带定界符格式文本文件,也是将源表文件中的每一条记录作为一行存贮,每行以回车换行结尾。但记录的各字段间以分隔符隔开,各字段的宽度为字段值的实际宽度。,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报