用户名: 密码: 验证码: gdcode 注册

VFP基础教程第三章表的创建和使用

时间:2007-06-15 来源: 作者: 【字体: 减小 增大点击: 收藏 | 投稿
  
3.1VFP6.0表 财,管家园,fs119.net

1.表的概念 财 软联盟 fs119.net

表(数据表)

财管家园,fs119.net

是指存放在磁盘文件中的一张二维表。(相当FoxPro2.x版本中的数据库财管家.园.fs119.net

自由表:不属于任何数据库的表。 财,管家园,fs119.net

数据库表:包含在一个数据库中的表。

财管家 园 fs119.net

表文件名

财 软联盟 fs119.net

表名可以由字母、数字或下划线组成,系统自动给出的扩展名为.DBF

财管.家园.fs119.net

备注文件名

财 管家园 fs119.net

当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。

财软.联盟.fs119.net

表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。

财软联 盟 fs119.net

记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。

财.管家园.fs119.net

字段:表中的一列。它规定了数据的特征。 财 管家园 fs119.net

关系型数据表的特点财,软联盟,fs119.net

(1)每一个字段不可再分解,也不能有名字相同的字段;

财管家,园,fs119.net

(2)每一列中的数据都有相同的数据类型;

财管.家园.fs119.net

(3)表中没有内容完全相同的行(记录)。 财,软联盟,fs119.net

2.字段的基本属性 财管家.园.fs119.net

字段的属性: 财管家,园,fs119.net

包括:字段名、数据类型、字段宽度、小数位数、空值支持 财,管家园,fs119.net

字段名

财软联盟.fs119.net

即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成10个字符。 财软联.盟.fs119.net

VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。

财管家 园 fs119.net

数据类型:指该字段的数据特征。

财软 联盟 fs119.net

字段宽度:指该字段所能容纳数据的的最大字节数。 财管家园 fs119.net

小数位数:指数值型数据将保留几位小数。此时的字段宽度=整数位数1小数位数。

财 管家园 fs119.net

NULL值(空值)财管,家园,fs119.net

无明确的值。NULL值不等同于零或空格。一个NULL值不能认为比某个值(包括另一个NULL值)大或小,相等或不同。 财管家,园,fs119.net

VFP6.0表中字段的数据类型
财管家园,fs119.net

字段类型 财,管家园,fs119.net

代号 说明 财软,联盟,fs119.net

字段宽度

财软联盟,fs119.net

使用示例

财管,家园,fs119.net

字符型 C
财.软联盟.fs119.net

字母、汉字和数字型文本 每个字符为1个字节,最多可有254个字符 学生的学号或姓名,"8199101"或'李立' 货币型 Y

财软.联盟.fs119.net

货币单位 8个字节 工资,$1246.89 日期型 D 财管家 园 fs119.net

包含有年、月和日的数据 8个字节 出生日期,

{^1980/07/08} 财软联盟,fs119.net

日期时间型 T 财 管家园 fs119.net

包含有年、月、日、时、分、秒的数据 8个字节 上班时间,

{^2005/02/209:15:15AM}

财软联 盟 fs119.net

逻辑型 L 财管家园 fs119.net

“真”或“假”的布尔值 1个字节 课程是否为必修课,

.T.或.F. 财软联.盟.fs119.net

数值型 N 财软联.盟.fs119.net

整数或小数 在内存中占8个字节;在表中占1至20个字节 考试成绩,83.5 双精度型 B
财软.联盟.fs119.net

双精度浮点数 8个字节 实验要求的高精度数据 浮点型 F
财,管家园,fs119.net

与数值型一样     整型 I

财软 联盟 fs119.net

不带小数点的数值 4个字节 学生的数量 通用型 G
财.软联盟.fs119.net

OLE对象 在表中占4个字节 图片或声音 备注型 M

财管.家园.fs119.net

不定长度的一段文字 在表中占4个字节 学生简历 字符型(二进制) C
财管家园 fs119.net

任意不经过代码页修改而维护的字符数据 每个字符用1个字节,最多可有254个字符   备注型(二进制) M 财管.家园.fs119.net

任意不经过代码页修改而维护的备注数据 在表中占4个字节  

3.表的基本操作 财软联盟,fs119.net

表的创建:设计表名和表结构、输入记录建立索引

财软联盟 fs119.net

数据维护:增加记录、修改记录、删除记录 财管家,园,fs119.net

创建表的主要步骤:设计表结构→输入记录→建立索引→数据维护 财.管家园.fs119.net

4.关于表操作的几个基本命令

财软联盟,fs119.net

命令格式 财管家 园 fs119.net

功能 财软.联盟.fs119.net

CREATE表文件名 创建一个新的自由表的结构 USE表文件名 打开指定的表文件 USE 关闭当前表文件 LISTALL 显示当前表的全部记录内容(类似于DOS命令中的dir) DISPLAYALL 分屏式地显示当前表的全部记录内容(类似于DOS中的dir/p) DISPLAYSTRUCTURE 显示当前表的结构(分屏显示) LISTSTRUCTURE 显示当前表的结构(不分屏显示) MODIFYSTRUCTURE 调出表设计器,修改当前表的结构。 CLEAR 清除主窗口中的所有内容

注意:

财软.联盟.fs119.net

(1)必须先打开所需的数据表才可进行以上操作;

财,软联盟,fs119.net

(2)当带有命令子句时,只对指定的记录进行操作; 财管.家园.fs119.net

(3)LIST命令的默认范围是所有记录,DISPLAY命令的默认范围是当前记录。 

财管,家园,fs119.net

 
财软 联盟 fs119.net

财,软联盟,fs119.net

财.软联盟.fs119.net

财管家园 fs119.net


财软联,盟,fs119.net

财软,联盟,fs119.net

3.2表结构的创建和修改 财 管家园 fs119.net

1.表结构的创建

财管家园 fs119.net

创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。

财软联盟.fs119.net

(1)使用表设计器创建表
财管家.园.fs119.net

步骤:

财软,联盟,fs119.net

文件菜单中单击新建→在新建对话框中选择并单击新文件→在创建对话框中给出文件名并确定所需的保存位置→在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定

财管家,园,fs119.net

(2)使用表向导创建表

财管家园,fs119.net

步骤:

财管家.园.fs119.net

文件菜单中单击新建→在新建对话框中选择并单击向导→在表向导中做第1步:选取字段,完成后单击下一步→在表向导中做第1a步:选择数据库,完成后单击下一步→在表向导中做第2步:修改字段设置,完成后单击下一步→在表向导中做第3步:为表建索引,完成后单击下一步→在表向导中做第4步:完成,选择表的保存方法,完成后单击完成→在另存为对话框中给出文件名并确定所需的保存位置

财管家.园.fs119.net

注意

财,管家园,fs119.net

先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。 财,管家园,fs119.net

(3)使用CREATETABLE-SQL命令 财软,联盟,fs119.net

该命令的一般格式为:

财软联 盟 fs119.net

CREATETABLE|dbf<表文件名>(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)

财软 联盟 fs119.net

CREATETABLExscj(xhc(8),xmc(6),xbc(2),;cjn(5,1),ksrqd)

财软联盟 fs119.net

2.表结构的修改

财软联,盟,fs119.net

(1)用表设计器修改 财管家园.fs119.net

    用菜单调出表设计器财管家园 fs119.net

     打开所需的表文件→单击显示菜单中的表设计器→在表设计器对话框中对字段进行修改→修改完毕单击确定并在消息框中选择

    财软联盟,fs119.net

    用命令调出表设计器:

    财软.联盟.fs119.net

USE<表文件名> 财软.联盟.fs119.net

MODIFYSTRUCTURE 财.软联盟.fs119.net

(2)使用ALTERTABLE-SQL命令 财.管家园.fs119.net

功能
财管家园.fs119.net

命令格式示例

财管家园,fs119.net

添加字段 财软联盟 fs119.net

ALTERTABLExscjADDCOLUMNkcmcC(14) 重命名字段 ALTERTABLExscjRENAMECOLUMNkcmcTOkc 删除字段 ALTERTABLExscjDROPCOLUMNkc   

财管 家园 fs119.net

财,管家园,fs119.net

财.软联盟.fs119.net


财管家,园,fs119.net

财软联盟 fs119.net

3.3表记录的处理 财管家 园 fs119.net

1.记录的输入

财软联 盟 fs119.net

(1)立即输入方式财软联.盟.fs119.net

设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo”或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口,此时字段中的“memo”或“gen”变成“Memo”或“Gen”。

财管家园,fs119.net

(2)追加方式

财管家.园.fs119.net

若设计好表的结构后并没有及时输入数据,则可以用追加方式:

财 软联盟 fs119.net

文件菜单中(或从命令窗口中输入:USE表文件名)打开所需表文件→从显示菜单中选择浏览→再从显示菜单中选择追加方式→在浏览窗口中输入所需记录。 财软.联盟.fs119.net

不同追加方式适用的场合
财.管家园.fs119.net

追加记录的方式 财 软联盟 fs119.net

适用的场合 财软联 盟 fs119.net

显示菜单中的追加方式
在现有数据表的尾部添加一个或多个新记录
菜单中的追加新记录
在现有数据表的尾部添加一个新记录
菜单中的追加记录…
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部 APPEND[BLANK] 在当前表的末尾自动添加一个或多个新记录。相当于显示菜单中的追加方式。有BLANK时添加一个空记录,相当于表菜单中的追加新记录。 APPENDFROM表文件名[FIELDS字段名1,字段名2…][FOR条件] 从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部。相当于表菜单中的追加记录…。 APPENDFROM文本文件名SDF 将符合要求的文本文件全部追加在当前数据表的尾部。 财.软联盟.fs119.net
注意:文本内容要与表中的字段结构相适应。 文件菜单中的导入 将其它类型的文件转换成一个完整的VFP数据表。

(3)使用INSERT-SQL命令

财软联 盟 fs119.net

该命令的一般格式为: 财管.家园.fs119.net

INSERTINTO<表名>[(字段名1[,字段名2…])]VALUES(表达式1[,表达式2…]) 财软联,盟,fs119.net

INSERTINTOxscj(xh,xm,cj)VALUES("81991001","张良",85.5)

财,管家园,fs119.net

2.记录的浏览

财管.家园.fs119.net

(1)通过浏览窗口 财管,家园,fs119.net

(2)通过BROWSE命令

财 管家园 fs119.net

BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。 财管家.园.fs119.net

VFP命令中的常用子句

财软联,盟,fs119.net

1)范围子句 财,管家园,fs119.net

子句格式 财管家,园,fs119.net

功能

财管家.园.fs119.net

ALL 表示对表文件的全部记录进行操作 NEXTn 表示对从当前记录开始的共n个记录进行操作,n为正整数 RECORDn 指明操作对象是表文件的第n号记录 REST 对从当前记录起到文件结尾的全部记录进行操作

2)FOR子句 财管.家园.fs119.net

用于指明进行操作的条件。 财管家.园.fs119.net

格式:FOR<条件> 财软 联盟 fs119.net

指明只对指定范围中那些符合给定条件的进行当前操作。 财管家 园 fs119.net

例如:listNEXT6FORcj<85 财管家园 fs119.net

3)WHILE子句 财软 联盟 fs119.net

也用于指明进行操作的条件。 财软联,盟,fs119.net

格式:WHILE<条件>

财.软联盟.fs119.net

例如:listNEXT6WHILEcj<85

财软 联盟 fs119.net

4)FIELDS子句

财软,联盟,fs119.net

用于指明当前的操作涉及到表文件的哪些字段。 财软联盟 fs119.net

格式:BROWSE[FIELDS字段名1,字段名2……] 财管家 园 fs119.net

例如:BROWSEFIELDSxh,xm,cj 财管,家园,fs119.net

3.记录的定位

财.管家园.fs119.net

(1)系统对记录的三个控制标志 财软.联盟.fs119.net

记录开始标志:位于第一个记录之前。其值用函数BOF()进行测试。

财管家,园,fs119.net

记录指针标志:指向当前记录。其值用函数RECNO()进行测试。 财软联.盟.fs119.net

记录结束标志:位于最后一个记录之后。其值用函数EOF()进行测试。 财,软联盟,fs119.net

记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数1。

财管家,园,fs119.net

刚打开表时记录指针的情况 财软 联盟 fs119.net

表中记录情况 财软.联盟.fs119.net

BOF()的值 财管 家园 fs119.net

RECNO()的值
财管,家园,fs119.net

EOF()的值 财软 联盟 fs119.net

无记录

财 管家园 fs119.net

.T.

财,软联盟,fs119.net

1
财管家园.fs119.net

.T. 财软联,盟,fs119.net

有记录

财软联.盟.fs119.net

.F. 财.管家园.fs119.net

1 财软联,盟,fs119.net

.F. 财 软联盟 fs119.net

(2)记录的定位方式

财软联 盟 fs119.net

绝对定位:是指把指针移到指定的位置。 财软联 盟 fs119.net

相对定位:

财,软联盟,fs119.net

是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。

财.软联盟.fs119.net

条件定位:

财软联 盟 fs119.net

    是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。 财管家园 fs119.net

    通过菜单进行定位 财 软联盟 fs119.net

菜单中选择转到记录:记录号——实现绝对定位 财管家 园 fs119.net

定位…——实现条件定位 财软联.盟.fs119.net

    通过命令进行定位

    财 管家园 fs119.net

记录的定位 命令格式

财管 家园 fs119.net

功能

财软联盟,fs119.net

备注 财软联盟.fs119.net

绝对定位 GOTOP 将记录指针定位到表文件之首 或GOTOTOP GOBOTTOM 将记录指针定位到表文件之尾 或GOTOBOTTOM GO<n> 将记录指针定位到指定的n号记录   相对定位 SKIP<n> 将记录指针从当前记录向上或向下移动n个 n为正值则向下移动 n为负值则向上移动 财管家.园.fs119.net

无n向下移动1个
财管 家园 fs119.net

条件定位 LOCATEFOR<条件>[范围] 按顺序搜索表,直到找到满足指定条件的第一个记录 默认范围是所有记录

  财软联盟,fs119.net

4.记录的修改和删除

财软联 盟 fs119.net

一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。 财 软联盟 fs119.net

(1)菜单方式

财 管家园 fs119.net

修改记录: 财管,家园,fs119.net

菜单中选择替换字段…→在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件→替换。 财软,联盟,fs119.net

删除记录: 财软联盟.fs119.net

菜单中选择删除记录→在删除对话框中选择删除范围和删除条件→单击删除按钮→从菜单中选择彻底删除→在消息框中单击财.软联盟.fs119.net

删除记录包括两步:标记要删除的记录和彻底删除带删除标记的记录 财管.家园.fs119.net

恢复带删除标记的记录

财管,家园,fs119.net

菜单中选择恢复记录→在恢复记录对话框中选择作用范围和条件→单击恢复记录按钮。 财.软联盟.fs119.net

(2)SQL命令方式(表事先可以不打开,适用于编程工作方式)

财软,联盟,fs119.net

修改记录:UPDATE-SQL命令。 财软联盟 fs119.net

命令格式:UPDATE<表名>SET字段1=表达式1[,字段2=表达式2…]; 财,软联盟,fs119.net

WHERE条件表达式

财管 家园 fs119.net

例:UPDATExscjSETcj=cj*1.05WHEREcj>80 财.软联盟.fs119.net

删除记录:DELETE-SQL命令。 财管,家园,fs119.net

命令格式:DELETEFROM<表名>[WHERE条件表达式] 财软联盟.fs119.net

例:DELETEFROMxscjWHEREcj<60 财管家 园 fs119.net

(3)在命令窗口中用VFP命令:

财软联盟,fs119.net

命令格式

财管家 园 fs119.net

功能

财.软联盟.fs119.net

备注 财 软联盟 fs119.net

插入 INSERT[BLANK][BEFORE] 在当前表的指定位置上插入一个空记录或若干新记录 BLANK:在当前记录后插入一个空记录 BEFORE:在当前记录之前插入若干新记录 财管家园,fs119.net

修改 CHANGE[FIELDS字段名1,…][FOR条件][LEDIT][REDIT] 在编辑窗口显示要修改的字段 LEDIT:调出编辑窗口 REDIT:调出浏览窗口
财,软联盟,fs119.net

替换 REPLACE字段名1WITH表达式1[ADDITIVE][,字段名2WITH表达式2[ADDITIVE]…][范围][FOR条件] 把字段值用指定的表达式进行替换。如:工资单中给某些人长工资 默认范围是当前记录 ADDITIVE:把备注字段的替换内容添加在原备注内容的后面 财.管家园.fs119.net

删除 DELETE[范围][FOR条件] 对当前表中指定范围内满足条件的记录加上删除标记* 默认范围是当前记录 PACK[MEMO][DBF] 将所有带删除标记的记录从表中抹去(不能再恢复) DBF:不影响备注文件 MEMO:从备注文件中删除未使用空间

财管家,园,fs119.net

ZAP 删除当前表中所有记录,只留下表的结构

相当于

财软联,盟,fs119.net

DELETEALLPACK 财软,联盟,fs119.net

恢复 RECALL[范围][FOR条件] 取消当前表中指定记录上的删除标记 默认范围是当前记录

 5.筛选记录和字段

财管家园,fs119.net

(1)用菜单方式

财软联盟 fs119.net

菜单中选择属性→在工作区属性对话框中单击数据过滤器框后的按钮→在表达式生成器对话框中构造所需的条件表达式并确定→单击字段筛选…按钮→在字段筛选器中选择所需字段并确定→单击选项按钮:字段筛选指定的字段→确定。

财管家园,fs119.net

(2)用命令方式 财 软联盟 fs119.net

命令格式SETFILTERTO条件表达式 财软联 盟 fs119.net

例:SETFILTERTOxb='男'

财软联.盟.fs119.net

注意:SQL命令对记录的访问不受此筛选命令的限制。  财管家园.fs119.net

财,软联盟,fs119.net

财.软联盟.fs119.net

财.软联盟.fs119.net


财软,联盟,fs119.net

财.管家园.fs119.net

3.4表的使用 财,软联盟,fs119.net

1.工作区

财管家园.fs119.net

工作区:

财.管家园.fs119.net

指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。

财软联,盟,fs119.net

表的别名: 财软联.盟.fs119.net

在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a、_b…。 财软.联盟.fs119.net

自定义别名的格式:USE<表名>ALIAS<别名>

财软 联盟 fs119.net

当前工作区:

财管家.园.fs119.net

正在使用的工作区。可以通过“数据工作期窗口”或用SELECT命令把任何一个工作区设置为当前工作区。

财管家园.fs119.net

SELECT命令格式:SELECT<工作区号>|<别名> 财管家园 fs119.net

要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。 财软,联盟,fs119.net

命令格式IN<工作区号>|<别名> 财软联盟,fs119.net

ALIAS([工作区号])函数

财 软联盟 fs119.net

测试指定工作区中的表的别名,无参数时指当前工作区表的别名。 财管家.园.fs119.net

SELECT([别名])函数财管 家园 fs119.net

测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。

财管 家园 fs119.net

2.表的打开和关闭 财.软联盟.fs119.net

打开表的途径
财管.家园.fs119.net

关闭表的途径
财.管家园.fs119.net

文件菜单中的打开 工具栏上的打开 数据工作期窗口中关闭 USE 数据工作期窗口中打开 USE<表名> USEIN<别名>|<工作区号> CLOSEALL USE<表名>IN<工作区号> USE<表名>AGAIN CLOSEDATABASE CLOSETABLE USE<表名>ALIAS<别名> 退出VFP系统,则关闭所有的表

3.表的独占与共享使用

财,软联盟,fs119.net

独占使用:一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。

财软联 盟 fs119.net

共享使用:一张表可以被多个用户同时打开。 财管家.园.fs119.net

系统的默认打开方式可以通过工具菜单中的选项…来设置,或用命令: 财软联 盟 fs119.net

SETEXCLUSIVEOFF&&默认打开方式为共享 财管家园,fs119.net

SETEXCLUSIVEON&&默认打开方式为独占 财,管家园,fs119.net

或强行打开:USEcjSHARED&&以共享方式打开cj表

财,软联盟,fs119.net

USEcjEXCLUSIVE&&以独占方式打开cj表 财软.联盟.fs119.net

4.利用缓冲访问表中的数据

财管,家园,fs119.net

数据缓冲:

财管.家园.fs119.net

先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲区中的数据更新表文件。它是VFP6.0在多用户环境下用来保护对表记录所做的数据更新和数据维护操作的一种技术。 财软联盟 fs119.net

数据缓冲的类型: 财 管家园 fs119.net

记录缓冲

财管家园 fs119.net

当记录指针移动或关闭表时,缓冲区自动更新表中的相应记录。

财管家 园 fs119.net

表缓冲:当发出更新表的命令或关闭表时更新表。

财管家 园 fs119.net

缓冲锁定方式:有两种:开放式和保守式。  财管家园,fs119.net

财软联盟 fs119.net

财软.联盟.fs119.net

财.管家园.fs119.net


财.软联盟.fs119.net

财.管家园.fs119.net

3.5表的索引

财软 联盟 fs119.net

1.基本概念

财软,联盟,fs119.net

记录的顺序: 财软联盟.fs119.net

物理顺序:即表中记录的存储顺序。用记录号表示。

财软联,盟,fs119.net

逻辑顺序:表打开后被使用时记录的处理顺序。 财管家园.fs119.net

索引

财,软联盟,fs119.net

指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。

财管家园.fs119.net

索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。

财软联,盟,fs119.net

注意:1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果; 财软联盟,fs119.net

2)不同类型字段构成一个表达式时,必须转换数据类型。

财管家园 fs119.net

索引标识(索引名)财管,家园,fs119.net

即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。

财.软联盟.fs119.net

索引类型主索引、候选索引、普通索引、唯一索引。

财管,家园,fs119.net

主索引: 财管家园,fs119.net

组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。 财管家园.fs119.net

候选索引: 财软,联盟,fs119.net

在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引

财管,家园,fs119.net

普通索引:

财管.家园.fs119.net

也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。

财管家园 fs119.net

唯一索引: 财软联.盟.fs119.net

参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。

财软联 盟 fs119.net

2.索引的作用 财.软联盟.fs119.net

用途
财软联,盟,fs119.net

采用的索引类型
财软联盟 fs119.net

排序记录,以便显示、查询或打印 使用普通索引、候选索引或主索引 在字段中控制重复值的输入并对记录排序 对数据库表使用主索引或候选索引,对自由表使用候选索引 准备设置表关系 依据表在关系中所起的作用,使用普通索引、主索引或候选索引

财,管家园,fs119.net

3.索引文件的种类

财管,家园,fs119.net

索引文件种类
财软联盟.fs119.net

特征 财软联 盟 fs119.net

关键字数目 财.软联盟.fs119.net

限制 财管家 园 fs119.net

结构复合索引文件

财管家园.fs119.net

.CDX 财软,联盟,fs119.net

使用和表文件名相同的基本名,随表的打开自动打开。可以看成表结构的一部分。 多关键字表达式,称为标识。 有效表达式限制在240个字符之内。 非结构复合索引文件
财管家,园,fs119.net

.CDX 财.管家园.fs119.net

必须明确地打开,使用和表名不同的基本名。其中不能创建主索引 多关键字表达式,称为标识。 有效表达式限制在符之240个字内。 独立索引文件

财.管家园.fs119.net

.IDX

财软联,盟,fs119.net

必须明确地打开,文件的基本名由用户定义。一般作为临时索引文件。 单关键字表达式。 有效表达式限制在100个字符之内。

结构复合索引文件(扩展名为.CDX)的特点:

财软.联盟.fs119.net

    .在创建索引标识时自动创建。
    .在打开表时自动打开。
    .在同一索引文件中能包含多个排序方案,或索引关键字。
    .在添加、更改或删除记录时自动维护。 财软联.盟.fs119.net

4.创建结构复合索引 财软联 盟 fs119.net

VFP中创建索引文件有两种方式表设计器方式和命令方式。

财 管家园 fs119.net

(1)表设计器方式 财管家.园.fs119.net

打开表文件→从显示菜单中选择表设计器→在表设计器中单击索引→输入索引名并选择索引类型→选择索引的方向(按升序或降序排列记录)→在表达式框中输入作为排序依据的索引关键字→在筛选框中输入筛选表达式→单击确定,完毕。

财软联盟,fs119.net

(2)命令方式

财软 联盟 fs119.net

命令
财 软联盟 fs119.net

功能 财,软联盟,fs119.net

INDEXON<索引关键字段>TAG<索引标识>[FOR条件][ASCENDING|DESCENDING][CANDIDATE|UNIQUE] 财软.联盟.fs119.net

用INDEXON命令建立一个索引文件 ALTERTABLE<表名>ADDPRIMARYKEY<关键字段名>TAG<索引标识名> 用SQL命令创建主索引 财 管家园 fs119.net

ALTERTABLE<表名>ADDUNIQUE<关键字段名>TAG<索引标识名> 用SQL命令创建候选索引

财软,联盟,fs119.net

注意:1)备注型字段和通用型字段不能作为索引关键字段; 财管家,园,fs119.net

2)不要建立无用的索引,以免降低系统性能; 财管,家园,fs119.net

3)及时清理已无用索引标识,提高系统效率。

财,管家园,fs119.net

4)在复合索引的多个索引中,某一时刻只有一个索引对表起作用。 财软联盟,fs119.net

5.索引的修改和删除

财管家,园,fs119.net

修改打开表设计器,在索引对话框中进行所需修改;

财管家,园,fs119.net

或用命令重新建立一个相同标识名而索引表达式不同的索引。

财管,家园,fs119.net

删除:打开表设计器,在索引对话框中删除不需要的索引标识即可;

财软,联盟,fs119.net

或用命令:DELETETAGALL|索引标识1[,索引标识2]…

财软 联盟 fs119.net

删除不需要的索引标识,ALL表示全部标识。 财.软联盟.fs119.net

6.索引的使用

财软联.盟.fs119.net

功能 财软联.盟.fs119.net

命令格式

财软联盟,fs119.net

打开表的同时指定主控索引 USE<表名>ORDER<标识名> 为已打开的表确定主控索引 SETORDERTO<标识名>[ASCENDING|DESCENDING]] 搜索某张已建立索引的表 FIND<表达式> 搜索表中首次出现的记录 SEEK<表达式>[<索引标识名>] SEEK<表达式>
财.软联盟.fs119.net

财.软联盟.fs119.net


文章摘自网络,如有侵权,请与我们联系.
数据统计中!!
上一篇:VFP基础教程第四章数据库的创建和使用
下一篇:VFP基础教程第二章VFP语言基础

精品课程推荐



用户名: 密码: 匿名? 注册