VisualFoxPro程序设计(等级考试版)-VisualFoxPro数据库及其操作_第1页
VisualFoxPro程序设计(等级考试版)-VisualFoxPro数据库及其操作_第2页
VisualFoxPro程序设计(等级考试版)-VisualFoxPro数据库及其操作_第3页
VisualFoxPro程序设计(等级考试版)-VisualFoxPro数据库及其操作_第4页
VisualFoxPro程序设计(等级考试版)-VisualFoxPro数据库及其操作_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,第3章 Visual FoxPro数据库及其操作,.,本章教学要求:掌握数据库和表的建立,对表的基本操作。 3.1 Visual FoxPro数据库和表的建立 3.2 建立数据库表 3.3 表的基本操作 3.4 索引 3.5 数据完整性 3.6 自由表 3.7 多表的同时使用 3.8 排序 3.9 典型例题解析 3.10小型案例实训 3.11本章小结,.,3.1 Visual FoxPro数据库及其建立,在Visual FoxPro中数据库可以说是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一进行组织和管理。 3 . 1 . 1 基本概念 数据库是具

2、有逻辑关系的一组表的集合,表是库中的成员。 Visual FoxPro数据库以文件的形式保存在计算机的磁盘上,数据库文件的扩展名为.dbc,与之相关地还有一个扩展名为.dct的数据库备注(Memo)文件和一个扩展名为.dcx的数据库索引文件。 一个数据库文件可以包含一个或多个表、表间的关联、视图和存储过程等。,.,3.1 Visual FoxPro数据库及其建立,3 . 1 . 2 建立数据库 建立数据库的三种方法 1在项目管理器中建立数据库 (1) 在项目管理器中选择“数据”选项卡中的“数据库”,单击“新建”按钮。 (2) 单击“新建数据库”按钮后,弹出“创建”对话框;在“数据库名”文本框中

3、输入新建的数据库名。 (3) 单击“保存”按钮即可完成数据库的建立,并打开“数据库设计器”。,.,建立数据库的三种方法 2利用“文件”“新建”命令建立数据库 (1) 单击 “文件”“新建”菜单命令或者选择工具栏中的“新建”按钮; (2) 在“文件类型”选项组中选中“数据库”单选按钮。 (3) 单击“新建文件”按钮,在“创建”对话框中输入要创建的数据库文件的名字。 (4) 单击“保存”按钮,即创建数据库并且打开该数据库的数据库设计器。,.,建立数据库的三种方法 3用命令方式建立数据库 命令格式: CREAT DATABASE ,.,3 . 1 . 3 使用数据库 1在项目管理器中打开数据库 在项

4、目管理器窗口下切换到“数据”选项卡,然后选择其中要打开的数据库,再单击窗口右侧的“修改”命令按钮,则弹出该数据库的数据库设计器。 2利用“文件”“打开”命令打开数据库 单击 “文件”“打开”菜单命令或者选择工具栏中的“打开”按钮。在“文件类型”下拉列表框中选择“数据库(*.dbc)”。,.,3用命令方式打开数据库 打开数据库的命令是:OPEN DATABASE。 命令格式: OPEN DATABASE EXCLUSIVE | SHARED NOUPDATE VALIDATE CREAT DATABASE,.,设置当前数据库 Visual FoxPro在同一时刻可以打开多个数据库,但在同一时刻只

5、有一个当前数据库。也就是说所有作用于数据库的命令或函数是对当前数据库而言的。 指定当前数据库的命令如下。 SET DATABASE TO 其中“数据库名字”是一个已经打开的数据库的名字。如果不指定该参数,即输入命令: SET DATABASE TO 此时使得所有打开的数据库都不是当前数据库(注意:所有的数据库都没有关闭,只是都不是当前数据库)。 另外,也可以通过标准工具栏中的数据库下拉列表来选择、指定当前数据库。,.,3 . 1 . 4 修改数据库 在Visual FoxPro中修改数据库实际是打开数据库设计器来进行操作,可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作。 1在项

6、目管理器中打开数据库设计器 在项目管理器窗口下切换到“数据”选项卡,然后选择其中要修改的数据库,再单击窗口右侧的“修改”命令按钮,则弹出该数据库的数据库设计器。 2利用“文件”“打开”命令打开数据库设计器 单击 “文件”“打开”菜单命令或者选择工具栏中的“打开”按钮。在“文件类型”下拉列表框中选择“数据库(*.dbc)”。,.,3用命令方式打开数据库设计器 修改数据库的命令是:MODIFY DATABASE。 命令格式: MODIFY DATABASE NOWAIT NOEDIT ,.,3 . 1 . 5 删除数据库 1使用项目管理器删除数据库 在项目管理器窗口下切换到“数据”选项卡,然后选择

7、其中要删除的数据库,再单击窗口右侧的“移去”命令按钮。 2用命令删除数据库 删除数据库的命令是:DELETE DATABASE。 命令格式: DELETE DATABASE DELETETABLES RECYCLE,.,3用命令方式打开数据库 打开数据库的命令是:OPEN DATABASE。 命令格式: OPEN DATABASE EXCLUSIVE | SHARED NOUPDATE VALIDATE CREAT DATABASE,.,3 . 1 . 6 关闭数据库 两种方法: 1利用“文件”“关闭”命令关闭打开的数据库 单击 “文件”“关闭”菜单命令可以关闭当前数据库。 2用命令关闭数据库

8、 关闭数据库的命令是:CLOSE DATABASE。 命令格式: CLOSE DATABASE ALL,.,3.2 建立数据库表,在Visual FoxPro中,数据表对应着关系,即二维表格。 Visual FoxPro的数据表也以文件的形式保存在计算机的磁盘上,数据表文件的扩展名为.dbf。 一个数据表由若干记录(元组)构成。 3 . 2 . 1 在数据库中建立表 在Visual FoxPro中,表分为自由表和数据库表两种类型 自由表是指那些没有加入到任何数据库中的表 数据库表是指那些已经加入到相应数据库中的表,.,3 . 2 . 1 在数据库中建立表 使用项目管理器来建立数据库表 要为数据

9、库新建表,首先要进入到该数据库的数据库设计器界面,方法是:在项目管理器窗口下切换到“数据”选项卡,然后选择其中要新建表的那个数据库,再单击窗口右侧的“修改”命令按钮,则弹出该数据库的数据库设计器。 然后,在菜单栏中选择“数据库”菜单,再单击其中的“新建表”命令,或者在数据库设计器窗口的空白处右击鼠标,并在弹出“数据库”快捷菜单中选择“新建表”命令。,.,3 . 2 . 2 修改表结构 使用项目管理器来修改数据库表 方法:在项目管理器窗口下切换到“数据”选项卡,然后选择其中要修改的那个表所属的数据库,并选中该数据库中要修改的那个表,再单击窗口右侧的“修改”命令按钮,则弹出该数据库表的表设计器。

10、使用数据库设计器修改数据库表 方法:进入要修改的那个表所属的数据库的数据库设计器窗口,然后选中要修改的那个表,再单击“数据库”菜单,并单击其中的“修改”命令,或者在数据库设计器窗口中右击要修改的那个表,在弹出快捷菜单中选择“修改”命令。则弹出该表的表设计器。,.,3 . 2 . 2 修改表结构 使用命令修改数据库表 命令格式: MODIFY STRUCTURE,.,3.3 表的基本操作,Visual表的基本操作,其中包括增加记录、删除记录、修改记录、显示记录以及查询定位。 3 . 3 . 1 使用浏览窗口操作表 1打开浏览窗口 如果交互对表中的数据进行操作,那么最简单、方便的方法就是使用Bro

11、wse浏览器。打开浏览器的常用方法有以下几种: (1)在项目管理器中将数据库展开至表,选择要操作的表,单击“浏览”按钮。 (2)在数据库设计器中选择要操作的表,选择“数据库”“浏览”命令;或者右击要操作的表,从弹出的快捷菜单中选择“浏览”命令。 (3)命令方式下,首先用USE命令打开要操作的表,然后输入BROWSE命令。,.,3 . 3 . 2 增加记录的命令 1APPEND命令 命令格式: APPEND BLANK 2INSERT命令 命令格式: INSERT BEFORE BLANK,.,3 . 3 . 3 删除记录的命令 逻辑删除和物理删除。 1逻辑删除 命令格式: DELETE 范围

12、FOR 2恢复被逻辑删除记录的命令 命令格式: RECALL 范围 FOR ,.,3 . 3 . 3 删除记录的命令 3物理删除带有删除标记的记录 命令格式: PACK MEMO DBF 命令说明: MEMO表示从备注文件中删除未使用的空间,但不从表中删除带有删除标记的记录。 DBF表示从表中删除带有标记的记录,但不影响备注文件。 2物理删除表中的全部记录 命令格式: ZAP,.,3 . 3 . 4 修改记录的命令 用REPLACE命令修改记录数据 REPLACE命令直接用指定表达式的值来修改记录。 命令格式: REPLACE 范围 WITH , WITH For 例: use XS repl

13、ace 姓名 with “张晓军”,是否团员 with .T. for 姓名=“张小军” use XS replace all 总分 with 政治+数学+外语 &计算学生总分,.,3 . 3 . 5 显示记录的命令 显示数据记录的命令是LIST和DISPLAY。 命令格式: LIST/DISPLAY FIELDS Fieldlist FOR OFF TO PRINTER PROMPT | TO FILE FileName,.,3 . 3 . 6 查询定位的命令 1GO和GOTO命令 可以用GO、GOTO命令直接定位,GO和GOTO命令是等价的。 命令格式: GO n | TOP | BOTT

14、OM GO n | TOP | BOTTOM 例3.5 用GO命令直接定位记录。 USE XS & 打开学生表 GO TOP & 将记录指针定位在表的第一条记录上 GO BOTTOM & 将记录指针定位在表的最后一条记录上,.,3 . 3 . 6 查询定位的命令 2SKIP命令 命令格式: SKIP nRecords 例3.6 用SKIP命令定位记录。 USE XS& 打开学生表 SKIP 3 ? RECNO( )& 显示4,.,3 . 3 . 6 查询定位的命令 3LOCATE命令 LOCATE是按条件定位记录位置的命令。 命令格式: LOCATE 范围 FOR 例:使用LOCATE的定位。

15、 USE XS LOCATE FOR 总分=240,.,3.4 索引,3 . 4 . 1 索引的概念 索引本质上是一张为了方便查找数据而设置的对照表。 例如,书本的目录就是为了方便大家查找书本中的相关内容而设置的一张“章节内容”和“页码”的对照表。 数据表的索引本质上是一张根据数据表创建的对照表。 使用索引的目的是为了对数据表进行排序,从而实现数据的快速查找。 可以对同一数据表按不同的列(字段)建立多个索引,也可以对同一数据表的同一个列(字段)建立多个索引。 同一数据表的全部索引被保存在计算机的磁盘上的一个文件中,这就是复合索引文件,复合索引文件的扩展名为.CDX。,.,3 . 4 . 1 索

16、引的概念 索引文件必须和对应的数据表一起使用,而不能单独使用。 在VFP中,索引可分为主索引、候选索引、普通索引和唯一索引4种类型。 每一个索引均可以设置升序或降序 。 1主索引 主索引是一种设定为主关键字的索引,其值在一个表中具有唯一性,不允许出现重复值。它强调的“不允许出现重复值”是指建立主索引的字段值不允许重复。 一个表只能有一个主关键字,所以一个表只能创建一个主索引。 只有数据库表才能建立主索引,自由表不能建立主索引。,.,2候选索引 候选索引和主索引一样,要求字段值具有唯一性。 建立候选索引的字段可以看做候选关键字,所以一个表可以建立多个候选索引。 3普通索引 普通索引允许字段中出现

17、重复值。 在数据库表和自由表中均可为一个表建立多个普通索引。 4唯一索引 唯一索引中的“唯一”是指允许表中索引项的唯一,而不是字段值的唯一 。,.,3 . 4 . 2 在表设计器中建立索引 1打开表设计器的方法 (1)在项目管理器中打开表设计器 方法:在项目管理器窗口下切换到“数据”选项卡,然后选择其中要修改的那个表所属的数据库,并选中该数据库中要修改的那个表,再单击窗口右侧的“修改”命令按钮,则弹出该数据库表的表设计器。 (2)在数据库设计器中打开表设计器 方法:进入要修改的那个表所属的数据库的数据库设计器窗口,然后选中要修改的那个表,再单击“数据库”菜单,并单击其中的“修改”命令,或者在数

18、据库设计器窗口中右击要修改的那个表,在弹出快捷菜单中选择“修改”命令。则弹出该表的表设计器。,.,3 . 4 . 2 在表设计器中建立索引 (3)使用命令打开表设计器 命令格式: MODIFY STRUCTURE 2创建索引 建立索引的操作步骤如下: (1)在表设计器界面下单击的“索引”选项卡,然后单击“插入”按钮,这时会在界面中出现一个新行; (2)在“索引名”列中输入所需的索引名; (3)在“索引类型”下拉列表框中选择所需的索引类型; (4)单击“表达式”列右侧的按钮打开表达式生成器; (5)在表达式生成器中输入索引表达式,单击“确定”按钮。 (6)关闭表设计器窗口,保存结果。,.,3 .

19、 4 . 3 利用命令方式建立索引 命令格式: INDEX ON索引表达式TAG 索引名 ASCENDINGDESCENDING UNIQUECANDIDATE 例3.7 建立索引:打开学生表XS,以“数学”字段创建一个名为“sx_cj”的索引。 USE XS INDEX ON 数学 TAG xs_cj,.,3 . 4 . 4 使用索引 设置、关闭主控索引 (1)设置主控索引 命令:set order to tag (2)关闭主控索引 命令:set order to 例3.9 设置主控索引。 USE XS SET ORDER TAG sx_cj,.,3 . 4 . 4 使用索引 删除索引 当不

20、再需要使用某个索引时,可以删除它。 既可以在表设计器中删除索引,也可以用命令来删除索引。 删除索引的命令有以下两种格式: 命令格式1: DELETE TAG , 命令格式2: DELETE TAG ALL 例:删除索引。 USE XS DELETE TAG sx_cj,.,3.5 数据完整性,在数据库中数据完整性是指保证数据正确的特性。数据完整性一般包括实体完整性、域完整性和参照完整性等,Visual FoxPro提供了实现这些完整性的方法和手段。 3 . 5 . 1 实体完整性与主关键字 实体完整性:是对关系中的记录唯一性,也就是主关键字的约束。具体来说,实体完整性是指关系中的主关键字不能为

21、“空”值且不能有相同值。 在VFP中,实体完整性是通过设置主关键字或候选关键字来实现的。,.,3.5 数据完整性,3 . 5 . 2 域完整性与约束规则 域完整性:是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束。 域完整性是通过以下几个方面来实现的: (1)限定字段的取值类型和取值范围; (2)设置域约束规则。 域约束规则也称作字段有效性规则,它用于检验输入数据的正确性。,.,3 . 5 . 2 域完整性与约束规则 设置字段有效性规则 设置字段有效性规则通常是在表设计器中进行,“字段”选项卡中定义字段有效性规则的项目有“规则”、“信息”和“默认值”这3项。 具体

22、的步骤如下: (1) 进入数据库表的表设计器后,单击要定义字段有效性规则的字段; (2) 分别输入“规则”、“信息”及“默认值”等项目; 字段有效性规则的项目可以直接输入,也可以单击文本框旁边的按钮打开表达式生成器来生成相应的表达式。,.,3.5 数据完整性,3 . 5 . 3 参照完整性与表之间的关联 表之间的关联:一个数据库包含的各个表中,有一些表之间存在着某种逻辑上的联系,为了反映这种联系,就需要建立这些表之间的关联。 通常,存在逻辑上的联系的两个表有公共字段(相同的某个字段),这两个表之间的关联就是按照这它们的公共字段值相等来建立的。 参照完整性:参照完整性与表之间的关联有关,其含义是

23、:当插入、删除或修改一个表的数据时,通过参照引用与之关联的另一个表的数据,来检查对该表的数据操作是否正确。,.,3 . 5 . 3 参照完整性与表之间的关联 1建立表之间的永久联系(关联) 建立数据库表之间的永久联系(关联)需要在数据库设计器中进行操作。 首先,需要在要建立关联的两个数据库表中按这两个表的公共字段分别建立主索引和普通索引。 父表以公共字段建立了主索引的那个表 子表以公共字段建立了普通索引的那个表,.,3 . 5 . 3 参照完整性与表之间的关联 1建立表之间的永久联系(关联) 下面通过建立数据库表之间永久联系(关联)的实例来介绍建立数据库表之间永久联系(关联)的方法和步骤。 假

24、设在学校管理数据库中有学生表、成绩表、课程表。 (1)学生表含有字段为学号、姓名、性别,以学号建立主索引。 (2)成绩表含有字段为学号、成绩、课程号,以学号建立普通索引。 (3)课程表含有字段为成绩、课程号、学号,以课程号、学号建立普通索引。,.,在这3个表中,学生表和成绩表是一对多的联系,连接字段是“学号”。学生表和课程是一对多的联系,连接字段是“课程号”。 建立学生和成绩之间的一对多联系 选中学生表中的主索引“学号”,按住鼠标左键拖动鼠标到成绩表的“学号”索引上,鼠标指针会变成小矩形状,释放鼠标。 这样就在学生表和成绩表之间建立了一对多的联系。,.,3 . 5 . 3 参照完整性与表之间的

25、关联 2设置参照完整性 通常设置参照完整性需借助VFP的参照完整性生成器来完成。 在建立参照完整性之前必须首先清理数据库。 所谓清理数据库就是物理删除数据库各个表中已经标有删除标记的记录。 清理数据库的具体操作步骤如下:打开数据库设计器,在主菜单栏上出现“数据库”菜单;选择“数据库”“清理数据库”命令。 该操作等同于执行命令PACK DATABASE。,.,3 . 5 . 3 参照完整性与表之间的关联 2设置参照完整性 设置参照完整性的具体操作步骤: 打开数据库设计器,在主菜单栏上出现“数据库”菜单;选择“数据库”“编辑参照完整性”命令。 或是 右击表之间的联系,从弹出的快捷菜单中选择“编辑参

26、照完整性”命令,.,3.6 自由表,3 . 6 . 1 数据库表与自由表 所谓自由表,就是那些不属于任何数据库的表。 自由表和数据库表之间可以相互转化。即可以将自由表添加到数据库中,使之成为数据库表;也可以将数据库表移出数据库,使之成为自由表。 1使用项目管理器创建自由表 操作步骤如下。 (1) 打开项目管理器,切换到“数据”选项卡; (2) 选择“自由表”项,单击“新建”按钮,弹出“新建表”对话框; (3) 单击“新建表”按钮可以打开表设计器创建自由表。,.,3 . 6 . 1 数据库表与自由表 2利用菜单方式创建自由表 操作步骤如下: (1) 选择“文件”“新建”菜单命令,打开“新建”对话

27、框; (2) 在“文件类型”选项组中选择“表”; (3) 单击“新建文件”按钮,打开表设计器对话框建立自由表。 3利用命令方式创建自由表 命令格式: CREATE |?,.,3 . 6 . 2 将自由表添加到数据库中 把自由表添加到数据库中可以使用以下3种方法: 1使用项目管理器添加自由表 操作步骤如下: (1) 在项目管理器中将要使用的数据库展开至表,选择“表”; (2) 单击“添加”按钮,调出“打开”对话框,从中选择要添加的自由表。,.,3 . 6 . 2 将自由表添加到数据库中 2使用数据库设计器添加自由表 操作步骤如下: (1) 打开数据库设计器,选择“数据库”“添加表”菜单命令,弹出

28、“打开”对话框; (2) 在“打开”对话框中选择要添加的自由表。 3利用命令方式添加自由表 命令格式: ADD TABLE NAME LongTableName,.,3 . 6 . 3 从数据库中移去表 将自由表移出数据库可以利用项目管理器、数据库设计器和命令方式3种方法: 1使用项目管理器移去表 操作步骤如下: (1) 打开项目管理器,选择要移去的表; (2) 单击“移去”按钮,在弹出的提示框中单击“移去”按钮即可移去该表。,.,3 . 6 . 3 从数据库中移去表 2使用数据库设计器移去表 操作步骤如下: (1) 在数据库设计器中,选择“数据库”“移去”菜单命令。 (2) 调出移去/删除确认框,单击“移去”按钮。 3利用命令方式移去表 命令格式: REMOVE TABLE DELETE RECYCLE,.,3.7 多个表的同时使用,3 . 7 . 1 多工作区的概念 为了能够同时打开并处理多个数据表,Visual FoxPro引入了工作区的概念。 工作区是内存的一个区域。 在一个工作区内只能打开一个表。 Visual Foxpro 最多可以有32767个工作区。 工作区编号:1,2,3,10,11,12,32767 数据表别名(工作区别名) 用户使用use 命令打开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论