第三章 VF数据库建立和操作Word格式.docx
《第三章 VF数据库建立和操作Word格式.docx》由会员分享,可在线阅读,更多相关《第三章 VF数据库建立和操作Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
/不跟数据库文件名(功能是:
弹出一个创建对话框`等待用户输入数据库文件名)
3.1.3使用数据库
(1)项目管理器中打开数据库:
(2)文件菜单下打开
(3)打开数据库命令:
OPENDATABASE数据库名
OPENDATABASE?
/不跟数据库文件名(功能是:
弹出一个打开对话框`供用户选择数据库)
EXCLUSIVE以独占的方式打开数据库
NOUPDATE指定数据库以只读方式打开
说明:
VF中同一个时刻可以打开多个数据库`但在同一时刻只有一个当前数据库`
(4)指定当前数据库
方法一:
常用格式工具栏上列表框中
SETDATABASETO数据库名
3.1.4修改数据库:
用户可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作
命令:
MODIFYDATABASE数据库名/?
MODIFYDATABASE(功能是:
对当前数据库进行修改)
OPENDATABASE成绩管理
MODIFYDATABASE
MODIFYDATABASE设备管理
3.1.5删除数据库
(1)移去:
从项目管理器中删除数据库,但并不从磁盘上删除相应的数据库文件(DBC,DCT,DCX)
(2)删除:
从项目管理器中删除数据库`同时对应的数据库文件从磁盘上删除
删除命令:
DELETEDATABASE数据库名.
DELETEDATABASE数据库名RECYCLE(功能是:
将数据库的磁盘文件删除并放到回收站`)
删除数据库时``如果数据库里面有表``只删除数据库文件``数据库表变成自由表``
DELETEDATABASE数据库名DELETETABLES
(功能是:
删除数据库的同时删除里面的表文件)
关闭数据库命令:
CLOSEDATABASE(功能是:
当前打开数据库进行关闭·
)
CloseALL关闭VF中所有打开的文件
3.2建立数据库表:
3.2.1在数据库中建立表
在关系数据库中将关系称作为表·
一个数据库中的数据就是由表的集合构成·
·
表文件的后缀名:
.DBF
数据库表设计器:
•字段
•字段的类型和宽度
•空值
•字段有效性组框
•显示组框
•字段注释
(1)字段名:
关系中属性名(列的方向)
(2)类型:
日常生活当中一种表现形式(字符型C货币性Y数值型N日期型D
整型I逻辑型L)
(3)空值(NULL):
表示一个没有确定的值·
不等价于零值、空格·
(注意:
主关键字段不能为空值,空值的定界符是.NULL.)
宽度:
一个汉字占两个宽度·
一个符号或者字母,数字分别占一个宽度·
在表中建立通用型和备注型字段是·
要产生一个与表同名的.FPT文件
表的建立:
(1)命令:
CREATE表名
3.2.2修改表结构(表的设计器)
表的结构:
可以修改字段、添加字段、删除字段、修改字段的类型和宽度,建立和修改有效性规则,建立索引和删除索引等等
命令:
USE表名(打开一个表)
MODIFYSTRUCTURE(功能是:
对当前打开的表进行修改结构)
USE关闭表
CLOSEALL关闭所有
3.3表的基本操作:
浏览、追加记录、修改记录、查询定位记录、显示记录、删除记录·
3.3.1使用浏览器操作表
(1)在项目管理器中
(2)在数据库里面直接浏览
(3)命令:
USE表名
BROWSE(浏览当前表)
总结:
CLOSEDATABASE,MODIFYSTRUCTURE,BROWSE三个命令后不用加名称。
3.3.2增加记录的命令
1.追加记录:
快捷方式:
CTRL+Y
2.命令:
APPEND在表的尾部追加一条记录
APPENDBLANK在尾部追加一条空白记录
1.命令:
INSERT相对表的指针往后插入一条记录
INSERTBLANK相对表的指针往后插入一条空白记录
INSERTBEFORE相对当前表的指针往前插入一条新记录
3.3.3删除记录
1.VF中删除记录分为逻辑删除和物理删除。
(1)逻辑删除:
只是在记录的左边作一个删除标记
(2)物理删除:
是建立在逻辑删除的基础上,是将有逻辑标记的记录彻底删除·
不能再恢复·
逻辑删除命令:
DELETE(功能是:
对当前打开表中指针所指向的记录进行删除)
DELETEALL(功能:
逻辑删除当前表的记录)
MODIFYDATABASE成绩管理
use学生
DELETEALL
BROWSE
DELTEFoR条件表达式(功能:
逻辑删除满足条件的记录)
逻辑删除男党员的学生的信息?
DELETEFOR性别="
男"
AND政治面貌=[党员]
VF中所有的符号必须在英文状态下书写
2.恢复记录的命令:
RECALL(功能:
恢复指针指向的记录)
RECALLfor条件表达式
3.物理删除命令:
PACK
ZAP表示清空表记录
等价于DELETEALL和pack命令的使用
3.3.4修改记录
1.以交互修改的方式EDIT和CHANGE(编辑状态)
use成绩
EDIT
USE课程
CHANGE
2.用命令直接修改REPLACE(替换)
语法格式:
USE表名
REPLACE字段名WITH新的值(功能是:
对当前指针指向的记录的值进行替换)
REPLACEALL字段名WITH新的值(功能:
对指定字段的值进行全部替换)
REPLACEALL字段名WITH新的值FOR条件表达式(功能是:
将满足条件的字段值进行修改)
REPLACE(ALL)字段名WITH新的值FOR字段名=值,新的值和值都必须注意类型
REPLACE字段名WITH字段名+新的值
REPLACE分数WITH分数+15
Use学生
REPLACE电话号码WITH"
"
REPLACEALL电话号码WITH"
将家在上海居住的学生电话号码更新为
FOR地址="
上海"
课堂练习:
请将学号为的学生的地址更新为上海?
REPLACE地址WITH"
FOR学号="
REPLACEALL地址WITH"
北京"
将学号为的学生的成绩在原来的基础上增加10%
REPLACE分数WITH分数*(1+0.1)FOR学号="
将男党员的学生的补贴增加10元?
REPLACEALL补贴WITH补贴+10FOR性别="
AND政治面貌="
党员"
3.3.5显示记录
LIST(将当前表的记录全部显示到工作区)
DISPLAY(将当前指针指向的记录显示到工作区).
LISTFOR条件表达式(对满足条件的记录显示到工作区)
DISPLAY字段名1,字段名2,………
3.3.6查询定位
问号?
表示输出
函数:
RECNO()测试当前表的指针位置
FOUND()检测是否找到满足条件的内容
(1)绝对定位:
将指针指向一条记录上·
TOP表头
BOTTOM表尾
GO数值表达式等价于GOTO数值表达式
GO+数值/TOP/BOTTOM,或直接用数字
USE学生
?
RECNO()
GO3
GOTO4
GOTOP
GOBOTTOM
(2)相对定位:
表示相对当前指针往上或者往下跳转多少条记录
SKIP数值表达式
数值表达式有正负之分·
当为正数就往下跳转``反之往上·
如果SKIP没有带数值表达式·
默认往下跳1步
(3)条件定位:
将指针指向满足条件的记录上·
LOCATEFoR条件表达式
3.4索引
VF索引是由指针构成的文件,指针按照逻辑上的关键字的值进行排序(升序/降序)不改变表中记录的物理顺序·
在一个表中创建索引·
会产生一个表同名的索引文件(.CDX)
VF中索引分为:
主索引、候选索引、惟一索引、普通索引·
1.主索引:
建立在其值能够惟一标识一个元组(主关键字)一个表中最多建立一个主索引·
2.候选索引:
虽然不是主索引·
但其值也能够惟一标识一个元组·
3.惟一索引:
用于一些特殊的程序设计(一个表中可以创建多个惟一索引)
4.普通索引:
在表中任何字段都可以建立·
(可以提高表的查询速度)
注意:
只有数据库中的表才能建立主索引,不能用命令
3.4.2在表设计器建立索引(表的结构)
1.表中可以创建多个索引·
都保存在一个CDX文件中·
2.可以提高查询速度·
索引不是越多越好·
根据用户的需要来建立·
索引太多·
会影响对表的操作·
3.一个表中的主索引和另外一个表中的普通索引·
可以建立表与表之间的永久性关联·