第三部分VF数据库的基本操作一.docx
- 文档编号:24139412
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:17
- 大小:79.58KB
第三部分VF数据库的基本操作一.docx
《第三部分VF数据库的基本操作一.docx》由会员分享,可在线阅读,更多相关《第三部分VF数据库的基本操作一.docx(17页珍藏版)》请在冰豆网上搜索。
第三部分VF数据库的基本操作一
三、VisualFoxPro数据库的基本操作
(一)
1.数据库和表的建立、修改与有效性检验:
(1)表结构的建立与修改。
(2)表记录的浏览、增加、删除与修改。
(3)创建数据库,向数据库添加或从数据库删除表。
(4)设定字段级规则和记录级规则。
(5)表的索引:
主索引、候选索引、普通索引、唯一索引。
2.多表操作:
(1)选择工作区。
(2)建立表之间的关联:
一对一关联、一对多关联。
(3)设置参照的完整性。
(4)表的联接JOIN:
内部联接
外部连接:
左联接、右联接、完全联接。
(5)建立表间临时关系。
3.建立视图与数据查询:
(1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
综合知识:
①文件类型
②各种设计器和向导。
3工作方式:
交互方式(命令方式、可视化操作)和程序运行方式。
讲解:
(一)文件类型
1、数据库文件
(1)数据库容器文件(数据库文件)
.DBC
数据库容器的主文件扩展名
.DCT
数据库容器的备注文件扩展名
.DCX
数据库容器的索引文件扩展名
(2)表文件
.DBF
表的主文件扩展名
.FPT
表的备注文件扩展名
(3)索引文件
.CDX
复合索引文件扩展名
.IDX
单一索引文件扩展名
2、文档文件
(1)表单文件
.SCX
表单的主文件扩展名
.SCT
表单的备注文件扩展名
(2)报表文件(.FRX和.FRT)
(3)菜单文件(.MNX和.MNT)
(4)项目文件
.PJX
项目的主文件扩展名
.PJT
项目的备注文件扩展名
3、程序文件
(1)源程序文件
.PRG
VFP默认源程序文件扩展名
.MPR
VFP菜单源程序文件扩展名
.QPR
VFP查询源程序文件扩展名
(2)编译后的程序文件
源程序文件扩展名
编译后的程序文件扩展名
.PRG程序
.FXP编译后的程序
.MPR菜单
.MPX编译后的菜单程序
.QPR生成的查询程序
.QPX编译后的查询程序
(3)应用程序文件
.APP
需要在VFP环境下运行
.EXE
操作系统环境下直接运行
(二)各种设计器和向导。
(参考P69)
1.向导:
是一种快捷设计工具。
2.设计器:
设计器一般比向导具有更强的功能。
3.生成器:
它的主要功能是,在VFP应用程序的构件中生成并加入某类控件。
(三)VFP6.0的工作方式
交互方式(命令方式、可视化操作)和程序运行方式。
1、菜单操作方式
根据所需的操作从菜单中选择相应的命令(与WORD类似)。
每执行一次菜单命令,命令窗口中一般都会显示出与菜单对应的命令内容。
利用工具菜单中的向导可以很方便地完成常规任务。
2、命令交互方式
根据所要进行的各项操作,采用人机对话方式在命令窗口中按格式要求逐条输入所需命令,按回车后,机器逐条执行。
3、程序执行方式
先在程序编辑窗口中编完程序,再从程序菜单中选择执行,或从命令窗口中输入DO命令,让机器执行。
(四)设置工作环境?
如何保存所作的修改
1、步骤如下:
⑴从“工具”菜单选择“选项”
⑵在“选项”对话框中选择适当的选项卡
⑶在指定的选项卡中选择需要设置的选项
⑷最后单击“确定”按钮
2、使用SET命令(设置临时工作环境)
SETDEFAULTTO[Path]:
设置默认的工作目录
SETDATETO:
设置日期格式
一、表的建立、修改:
1.表的概念
表(数据表):
是指存放在磁盘文件中的一张二维表。
自由表:
不属于任何数据库的表。
数据库表:
包含在一个数据库中的表。
表文件名:
表名可以由字母、数字或下划线组成,系统自动给出的扩展名为.DBF。
备注文件名:
当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、
扩展名为:
.FPT的文件名。
表结构:
存储表记录的公共结构。
(就是指一张表的表头结构,即字段的属性)。
记录:
表中的一行。
它是多个字段的集合,同一张表的每个记录都有相同的字段。
字段:
表中的一列。
它规定了数据的特征。
关系型数据表的特点:
(1)每一个字段不可再分解,也不能有名字相同的字段;
(2)每一列中的数据都有相同的数据类型;
(3)表中没有内容完全相同的行(记录)。
2.字段的基本属性
字段的属性:
包括:
字段名、数据类型、字段宽度、小数位数、空值支持
字段名:
即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,
字母大、小写无区别,但其中不许有空格或其它字符。
自由表的字段名最多由10个字符组成,
数据库表的字段名支持长名,最多可达128个字符。
(如果从数据库中移去一个表,那么此表的长字段名将被截短成10个字符。
)
数据类型:
指该字段的数据特征。
字段宽度:
指该字段所能容纳数据的的最大字节数。
小数位数:
指数值型数据将保留几位小数。
此时的字段宽度=整数位数+1+小数位数。
NULL值(空值):
无明确的值。
NULL值不等同于零或空格。
一个NULL值不能认为比某个值(包括另一个NULL值)大或小,相等或不同。
VFP6.0表中字段的数据类型
(1)字符型(C)
字母、汉字和数字型文本每个字符为1个字节,
最多可有254个字符学生的学号或姓名,"8199101"或'李立'
(2)货币型(Y)
货币单位8个字节工资,$1246.89
(3)日期型(D)
包含有年、月和日的数据8个字节出生日期,{^1980/07/08}
(4)日期时间型(T)
包含有年、月、日、时、分、秒的数据8个字节上班时间,
{^2005/02/209:
15:
15AM}
(5)逻辑型(L)
“真”或“假”的布尔值1个字节课程是否为必修课,.T.或.F.
(6)数值型(N)
整数或小数在内存中占8个字节;在表中占1至20个字节考试成绩,83.5
(7)双精度型(B)
双精度浮点数8个字节实验要求的高精度数据
(8)浮点型(F)
与数值型一样
(9)整型(I)
不带小数点的数值4个字节学生的数量
(10)通用型(G)
OLE对象在表中占4个字节图片或声音
(11)备注型(M)
不定长度的一段文字在表中占4个字节学生简历
3.表的基本操作
表的创建:
设计表名和表结构、输入记录、建立索引
数据维护:
增加记录、修改记录、删除记录
创建表的主要步骤:
设计表结构→输入记录→建立索引→数据维护
4.关于表操作的几个基本命令
命令格式
功能
CREATE表文件名创建一个新的自由表的结构
USE表文件名打开指定的表文件
CLOSETABLE关闭当前表文件
LISTALL显示当前表的全部记录内容(类似于DOS命令中的dir)
DISPLAYALL分屏式地显示当前表的全部记录内容(类似于DOS中的dir/p)
DISPLAYSTRUCTURE显示当前表的结构(分屏显示)
LISTSTRUCTURE显示当前表的结构(不分屏显示)
MODIFYSTRUCTURE调出表设计器,修改当前表的结构。
CLEAR清除主窗口中的所有内容
注意:
(1)必须先打开所需的数据表才可进行以上操作;
(2)当带有命令子句时,只对指定的记录进行操作;
(3)LIST命令的默认范围是所有记录,DISPLAY命令的默认范围是当前记录。
3、表结构的创建和修改
(1).表结构的创建
创建表结构其实就是设计字段的基本属性。
可以使用表设计器、表向导或SQL命令来创建表结构。
1)使用表设计器创建表
步骤:
从文件菜单中单击新建→在新建对话框中选择表并单击新文件→在创建对话框中给出文件名并确定所需的保存位置→在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定。
2)使用表向导创建表
步骤:
从文件菜单中单击新建→在新建对话框中选择表并单击向导→在表向导中做第1步:
选取字段,完成后单击下一步→在表向导中做第1a步:
选择数据库,完成后单击下一步→在表向导中做第2步:
修改字段设置,完成后单击下一步→在表向导中做第3步:
为表建索引,完成后单击下一步→在表向导中做第4步:
完成,选择表的保存方法,完成后单击完成→在另存为对话框中给出文件名并确定所需的保存位置。
注意:
先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。
3)使用CREATETABLE-SQL命令
该命令的一般格式为:
CREATETABLE|dbf<表文件名>(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)
例:
CREATETABLExscj(xhc(8),xmc(6),xbc
(2),;cjn(5,1),ksrqd)
说明:
表后面要用一个括号;字段之间用逗号隔开;字段与类型之间用空格隔开
(2).表结构的修改
1)用表设计器修改
用菜单调出表设计器:
打开所需的表文件→单击显示菜单中的表设计器→在表设计器对话框中对字段进行修改→修改完毕单击确定并在消息框中选择是。
用命令调出表设计器:
USE<表文件名>
MODIFYSTRUCTURE
AlterTable表名Alter字段名1类型(长度)Alter字段名2类型(长度)…
注意:
Alter语句只能修改字段的类型和长度,不能增加、删除和更改字段名。
2)使用ALTERTABLE-SQL命令
功能
命令格式示例
添加字段:
AlterTable表名RenameColumn原字段名To新字段名…
ALTERTABLExscjADDCOLUMNkcmcC(14)
重命名字段:
AlterTable表名RenameColumn原字段名To新字段名…
ALTERTABLExscjRENAMECOLUMNkcmcTOkc
删除字段:
AlterTable表名Drop字段名1Drop字段名2…
ALTERTABLExscjDROPCOLUMNkc
4、表记录的处理
(1).记录的输入(用菜单可以有“浏览”和“编辑”两种方法来)
1)立即输入方式:
设计好表的结构后,系统会提示是否直接进入数据输入状态。
若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。
需输入备注型或通用型字段的数据时,双击“memo”或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口,此时字段中的“memo”或“gen”变成“Memo”或“Gen”。
2)追加方式:
若设计好表的结构后并没有及时输入数据,则可以用追加方式:
从文件菜单中(或从命令窗口中输入:
USE表文件名)打开所需表文件→从显示菜单中选择浏览→再从显示菜单中选择追加方式→在浏览窗口中输入所需记录。
APPEND[BLANK]
在当前表的末尾自动添加一个或多个新记录。
相当于显示菜单中的追加方式。
有BLANK时添加一个空记录,相当于表菜单中的追加新记录。
APPENDFROM表文件名[FIELDS字段名1,字段名2…][FOR条件]
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据
表的尾部。
相当于表菜单中的追加记录…。
APPENDFROM文本文件名SDF
将符合要求的文本文件全部追加在当前数据表的尾部。
注意:
文本内容要与表中的字段结构相适应。
文件菜单中的导入
将其它类型的文件转换成一个完整的VFP数据表。
3)命令方式:
Insertinto表名(字段名1,字段名2,…)Values(表达式1,表达式2,…)
(2).浏览记录:
Browselast或Listlast或Display
举例:
列出rcda表中58年出生的所有记录
Listallforyear(出生日期)=1958
记录的定位:
记录号从1开始
Gotop:
确定第一个记录为当前记录
GoButton:
确定最后一个记录为当前记录
Go记录号:
直接指定记录号为当前记录
Skip表达式值:
将当前的记录指针相对移动若干个记录,如是值为正则指针往下移,如是值为负则指针往上移
如:
当前的记录为2条记录,执行skip+2后当前的记录号是?
当前的记录为2条记录,执行skip+2后当前的记录号是?
Locate:
用来定位满足某个条件范围内的第一条记录
Continue:
将满足Locate条件的下一个记录为当前的记录,
Continue命令只能与Locate命令一同使用
(3).记录的其他操作
1、更新记录:
Update表名Set字段名1=表达式1,字段名2=表达式2,…
2、删除记录
(1)逻辑删除表中的记录
Delete范围for<条件表达式>
(2)恢复已经逻辑删除的记录
Recallall
(3)物理删除所有逻辑删除的记录,对没有逻辑删除的记录不能删除
Pack
(4)物理删除表中所有的记录。
Zap
注意:
1)数据表中的数据暂时不用时,一般进行逻辑删除,而不物理删除。
2)物理删除表中的部分数据时,要先对这些记录进行逻辑删除,才能物理删除
物理删除表中的所有记录,就可以直接用zap命令来实现。
5、表的使用
(1).工作区
工作区:
指用来标识一张打开的表的区域。
一个工作区在某一时刻只能打开一张表,
但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。
每个工作区都有一个编号。
表的别名:
在工作区中打开表时为该表所定义的名称。
可以自定义别名,否则系统默认
就以表名作为别名。
若一张表在多个工作区中被打开,系统默认在表名后依
次加_a、_b…。
自定义别名的格式:
USE<表名>ALIAS<别名>
当前工作区:
正在使用的工作区。
可以通过“数据工作期窗口”或用SELECT命令把任何一
个工作区设置为当前工作区。
SELECT命令格式:
SELECT<工作区号>|<别名>
(2).表的打开和关闭
表的打开
文件菜单中的打开、工具栏上的打开、
use表名exclusive指按独占方式打开,可以修改表的结构和记录
use表名shared指只读打开,不能修改表的结构和记录
表的关闭
closeall
closetables
closetablesall
CLOSEALL
USE<表名>IN<工作区号>
USE<表名>AGAIN
CLOSETABLE
USE<表名>ALIAS<别名>
退出VFP系统,则关闭所有的表(QUIT)
6、表的索引
(1).基本概念
记录的顺序:
物理顺序:
即表中记录的存储顺序。
用记录号表示。
逻辑顺序:
表打开后被使用时记录的处理顺序。
索引:
指按表文件中某个关键字段或表达式建立记录的逻辑顺序。
它是由一系列记录号组成的一个列表,提供对数据的快速访问。
索引不改变表中记录的物理顺序。
表文件中的记录被修改或删除时,索引文件可自动更新。
(2).类型
索引类型:
主索引、候选索引、普通索引、唯一索引。
主索引:
组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。
主索引只适用于数据库表的结构复合索引中。
自由表中不可以建立主索引;
数据库中的每个表可以且只能建立一个主索引。
(只能在数据表中才可建立。
值是唯一的,且一个数据表只能建立一个主索引。
)
候选索引:
在指定的关键字段或表达式中不允许有重复值的索引。
在数据库表和自由表中均可为每个表建立多个候选索引。
(值也是唯一的,如果一个数据表已经建立了主索引,其它只能建立候选索引)
普通索引:
也可以决定记录的处理顺序,但是允许字段中出现重复值。
在一个表中可以加入多个普通索引。
(值可以重复的。
)
唯一索引:
参加索引的关键字段或表达式在表中可以有重复值,
但在索引对照表中,具有重复值的记录仅存储其中的第一个。
(值可以重复的,如果重复则只存储第一个表达式的值。
)
(3).创建索引
建立索引的依据是:
索引表达式
索引关键字(索引表达式):
用来建立索引的一个字段或字段表达式。
注意:
1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;
2)不同类型字段构成一个表达式时,必须转换数据类型。
索引标识(索引名):
即索引关键字的名称。
必须以下划线、字母或汉字开头,且不可超过10个字。
1、可以在表设计器设计
2、用命令方式:
一般都是建立复合索引。
Indexon索引关键字 to单索引文件名
Indexon索引关键字 tag索引标识名
建立时产生的文件名和表文件名相同
索引的扩展名:
复合索引:
CDX单索引:
IDX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三部分 VF数据库的基本操作一 第三 部分 VF 数据库 基本 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)