要求:需要对表达式字段建立索引并设置为主控索引
结果返回逻辑值,找到:.T.;没找到:.F. 等价于:SEEK 命令+FOUND()函数
7.掌握表之间的关系及其种类,掌握表的关联及其建立和解除的方法。 1:N、N:1、M:N、1:1 二、数据库
1.掌握数据库的概念、创建、打开和关闭。 数据库:包容器,相关表的集合,不包含表的记录数据。
创建:CREATE DATABASE JXSJ,形成 3 个文件:DBC(数据库)、DCT(库备注)、 DCX(库索引)。
注意
创建数据库后,该数据库自动打开且为当前数据库,但不会添加到项目 管理器中。
如果存在当前数据库,则此时创建的表如未特别说明(在命令中加 FREE 关键字),则 一定属于该数据库。
打开:OPEN DATABASE 数据库名 反复执行该命令能同时打开多个数据库,且最后打开的数据库为当前数据库。 设置当前数据库:SET DATABASE TO 数据库名 如果引用非当前数据库中的表,则在库名和表名之间加“!” 关闭数据库:CLOSE DATABASE、CLOSE ALL
2.掌握数据库的组成(库表、永久关系、视图、存储过程)。 数据库表:比自由表具有更多的属性,所有记录以 DBF 文件保存,扩展属性保存于数
据库文件中。 永久关系:建立的基础:通过索引建立,主表——主索引或候选索引,子表
——普通
索引。 目的是用来建立表与表之间的参照完整性,某些情况下作为默认的临时关系和默认
的连
接条件。 关系保存于数据库文件中,一旦建立,永久保存,当其中一张表从数据库中移去
时,关
系解除。 建立的对象:同一个数据库中的两张表。 常见的有一对多、多对多(通过纽带表
将其转换成两个一对多关系)。 建立步骤:分别建立主表和子表的相关索引,然后在数据库设计器中,从主表的主索引
标志拖放到子表的普通索引标志上(或命令方式建立永久关系)。 视图:不单独以文件的形
式保存,保存于数据库文件中。从一张表或多张表中按照一定
的条件来选取记录。 存储过程:在数据库文件中,用来保存用户代码的地方(参照完整性
约束代码,用户的 过程和函数)。
3.掌握库与表之间的更新和恢复。
第二部分 《Visual FoxPro 程序设计(第二版)》复习提要与学习指导、习题及参考解答 99
100 Visual FoxPro 程序设计实训与考试指导(第二版)
当数据库或表文件不存在时:
删除:REMOVE TABLE [DELETE] 针对于表文件不存在。 删除:FREE TABLE 表名 针对于数据库文件不存在。 数据库文件的删除:
DELETE DATABASE 删除数据库文件,同时使所有的数据库表变为自由表。 DELETE FILE 删除文件,数据库表不会变成自由表(等同于在资源管理器中删 除文件)。
4.掌握永久关系的概念、创建作用和删除。 作用:①用来建立参照完整性(主要作用);②某些场合作为默认的临时关系和连 接条件。
5.掌握库表字段的扩展属性(格式、掩码、标题和注释)及其设置方法。 格式(Format):控制字段的显示方式,如大写、中文日期 (A、K、L、T、!、$)。 掩码(Inputmask):控制字段的输入格式,如只能输入字母或数字(X、9、.、,、A)。 标题(Caption):在浏览窗口的列标题上显示的说明文字,不同于字段名,但字段名可 作为默认的标题(在表设计器中设置标题时,不需要加引号)。 注释(Comment):在项目
管理器中,当选中该字段后,在下面的说明栏中显示(在表 设计器中设置注释时,不需要加引号)。 默认值(Defaultvalue):当新增记录时,字段预先
具有的初值(在表设计器中设置时, 要根据该字段的数据类型来决定表示形式)。
6.掌握字段有效性规则、记录有效性规则、表触发器、库表之间参照完整性概念及其 设置方法,以及 Visual FoxPro 数据完整性概念。
字段有效性规则:一个逻辑表达式,控制该字段的数据的正确性(不能加引号)。 起作用的时间:在设置规则并保存的过程中,对表中已有的数据进行验证。当修改该字 段,光标离开该字段时。 字段规则信息:出错时的说明文字,注意要加引号。 记录有效性
规则:一个逻辑表达式,控制该记录中多个字段之间的数据有效性(不能加 引号)。 起作用的时间:在设置规则并保存的过程中,对表中已有的数据进行验证。当修改
表中
的记录,且光标离开该记录时。 记录规则信息:出错时的说明文字,注意要加引号。 触发
器:绑定在表上的一个逻辑表达式,分为删除、插入、更新。在进行相应操作时, 如果该表达式为真,则允许进行操作,否则禁止。
注意
参照完整性:控制多张表之间的数据一致性。可在同一数据库文件中具有永久关系的两 张表之间设置。
建立在永久关系的基础上;通过触发器设置;代码保存于存储过程中。 目的是为了防止出现孤立记录:在子表中出现,而主表中没有相关记录的记录。
当表达式设置为.F.时,则永远不能进行该操作。
三种规则:①更新规则:(父动)级联、限制、忽略;②删除规则:(父动)级联、限 制、忽略;③插入规则:(子动)限制、忽略。 Visual FoxPro 数据完整性:实体完整性(字段验证规则、记录验证规则)、参照完整 性、用户自定义完整性。
7.掌握临时关系的概念、建立与解除,以及与永久关系的区别和联系。 临时关系:两张打开表之间建立的一种关系,通过它可以使子表的记录指针跟随主 表的记录指针一起发生改变,一旦其中的某张表关闭,则该关系消失(作用:控制记录 的访问)。
临时关系和永久关系之间的区别和联系: 联系:①必须客观存在;②永久关系有时作为默认临时关系。 区别:①建立方式不同;②作用不同;③建立的对象不同、存在的形式不同;④子表所
拥有主表个数不同。 建立方式:在不同工作区中打开子表和主表,设置子表的主控索引,
在主表工作区执行 命令:
SET RELATION TO 关联字段名 INTO 子表表名 解除:SET RELATION TO 或者关闭其中的任何一张表。 2.3.2 习题 3 及参考解答
一、选择题
1.在 Visual FoxPro 系统中,.DBF 文件被称为( )。
A.数据库文件 B.表文件 C.程序文件 D.项目文件 2.表中备注字段的内容存放在( )文件中。 A.DBC B.DBF C.PRG D.FPT
3 .在 Visual FoxPro 的数据类型中,用于存放图像、声音等多媒体对象的类型是 ( )。
A.逻辑型 B.浮点型 C.通用型 D.字符型
4.在表结构中,逻辑型、日期型、备注型字段的宽度是固定的,它们分别是( )。 A.4,8,10 B.1,8,10 C.1,8,4 D.4,8,1 5.要求一个表的数值型字段具有 5 位小数,那么该字段的宽度最少应当定义成( )。 A.5 位 B.6 位 C.7 位 D.8 位
6.在输入记录后,按( )组合键存盘退出。 A.Ctrl+W B.Ctrl+Home C.Ctrl+Q D.Ctrl+N 7.下列操作中,能够用 MODIFY STRUCTURE 命令实现的是( )。 A.增加一条记录 B.修改一条记录的内容
第二部分 《Visual FoxPro 程序设计(第二版)》复习提要与学习指导、习题及参考解答 101
102 Visual FoxPro 程序设计实训与考试指导(第二版)
C.修改某个字段的宽度 C.建立两个表之间的关联 8.用 USE 命令打开一个表文件后,其记录指针指向( )。 A.第一条记录 B.任意一条记录 C.最后一条记录 D.最后一条记录后面的空记录 9.在表中相对移动记录和绝对移动记录指针的命令分别为( )。 A.LOCATE 和 SKIP B.LOCATE 和 GO C.SKIP 和 GO D.LOCATE 和 FIND 10.若 jsda 表包含 50 条记录,在执行 GO TOP 命令后,( )命令不能显示所有 记录。
A.LIST ALL B.LIST REST C.LIST NEXT 50 D.LIST RECORD 50 11.若打开非空 xsda 表再执行 SKIP -1 后,下列显示值为.F.的命令是( )。
A.?BOF() B.?EOF() C.?.T. D.? RECNO()=1 12.在 FoxPro 中,设数据表已经打开,要将数组中的数据复制到当前记录的各个字段 中,应当使用命令( )。
A.SCATTER TO B.DIMESION C.APPEND FROM D.GATHER FROM 13.在表中插入一条记录的命令是( )。
A.INSERT B.EDIT C.BROWSE D.DELETE 14.自动替换某一字段值的命令为( )。
A.EDIT B.BROWSE C.CHANGE D.REPLACE 15.物理删除一条记录可用两条命令实现,这两步的命令分别为( )。
A.PACK 和 ZAP B.PACK 和 RECALL C.DELETE 和 PACK D.DELETE 和 RECALL
16.对 GZ.DBF 表文件按工资字段由小到大排序,工资字段值相同的,按出生年月字段 由大到小排序,排序的文件名为 gzpx.dbf,正确的命令是( )。
A.SORT TO GZPX.DBF ON 工资/D, 出生年月/A B.SORT TO GZPX.DBF ON 工资/A, 出生年月/D C.SORT TO GZPX.DBF ON 出生年月/A, 工资/D D.SORT TO GZPX.DBF ON 出生年月/D, 工资/A 17.在对表的操作中,建立索引的命令是( )。
A.SORT B.STORE C.INDEX D.JOIN 18.建立索引时,( )字段不能作为索引字段。
A.字符型 B.数值型 C.备注型 D.日期型
19.对于表的索引描述中,( )说法是错误的。
A.复合索引文件的扩展名为 CDX B.结构复合索引文件在表打开的同时自动打开 C.当前显示的顺序为主控索引的大小顺序 D.每张表只能创建一个主索引和一个候选索引