第三章 VF数据库建立和操作.docx
《第三章 VF数据库建立和操作.docx》由会员分享,可在线阅读,更多相关《第三章 VF数据库建立和操作.docx(12页珍藏版)》请在冰豆网上搜索。
![第三章 VF数据库建立和操作.docx](https://file1.bdocx.com/fileroot1/2023-2/7/2c407c03-d22d-45d9-8efa-af45482a53f7/2c407c03-d22d-45d9-8efa-af45482a53f71.gif)
第三章VF数据库建立和操作
第三章数据库的建立和操作
3.1VF数据库的建立
3.1.2建立数据库:
项目管理器:
是一个工作平台·是数据,对象和文档的结合·
1、建立项目管理器:
后缀名.PJX,PJT是备注文件
方法一:
方法二命令:
CREATEPROJECT项目文件名
EG:
createproject教务系统
creaPROJ教师系统
说明:
VF中命令不区分大小写,每个命令只能占一行·代码中每个单词可以缩写为前四个字母·
2、建立数据库的方法:
后缀名.DBC,DCT是备注文件,DCX是索引文件
(1)项目管理器中的数据选项卡下建立
(2)在文件菜单下新建
(3)用命令的方式建立:
CREATEDATABASE数据库文件名
CREATEDATABASE?
/不跟数据库文件名(功能是:
弹出一个创建对话框`等待用户输入数据库文件名)
3.1.3使用数据库
(1)项目管理器中打开数据库:
(2)文件菜单下打开
(3)打开数据库命令:
OPENDATABASE数据库名
OPENDATABASE?
/不跟数据库文件名(功能是:
弹出一个打开对话框`供用户选择数据库)
说明:
EXCLUSIVE以独占的方式打开数据库
NOUPDATE指定数据库以只读方式打开
说明:
VF中同一个时刻可以打开多个数据库`但在同一时刻只有一个当前数据库`
(4)指定当前数据库
方法一:
常用格式工具栏上列表框中
方法二命令:
SETDATABASETO数据库名
3.1.4修改数据库:
用户可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作
命令:
MODIFYDATABASE数据库名/?
MODIFYDATABASE(功能是:
对当前数据库进行修改)
EG:
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(功能:
逻辑删除当前表的记录)
EG:
MODIFYDATABASE成绩管理
use学生
DELETEALL
BROWSE
DELTEFoR条件表达式(功能:
逻辑删除满足条件的记录)
EG:
逻辑删除男党员的学生的信息?
DELETEFOR性别="男"AND政治面貌=[党员]
说明:
VF中所有的符号必须在英文状态下书写
2.恢复记录的命令:
RECALL(功能:
恢复指针指向的记录)
RECALLfor条件表达式
3.物理删除命令:
PACK
命令:
ZAP表示清空表记录
等价于DELETEALL和pack命令的使用
3.3.4修改记录
1.以交互修改的方式EDIT和CHANGE(编辑状态)
EG:
use成绩
EDIT
USE课程
CHANGE
2.用命令直接修改REPLACE(替换)
语法格式:
USE表名
REPLACE字段名WITH新的值(功能是:
对当前指针指向的记录的值进行替换)
REPLACEALL字段名WITH新的值(功能:
对指定字段的值进行全部替换)
REPLACEALL字段名WITH新的值FOR条件表达式(功能是:
将满足条件的字段值进行修改)
REPLACE(ALL)字段名WITH新的值FOR字段名=值,新的值和值都必须注意类型
REPLACE字段名WITH字段名+新的值
REPLACE分数WITH分数+15
EG:
Use学生
REPLACE电话号码WITH""
REPLACEALL电话号码WITH""
将家在上海居住的学生电话号码更新为
REPLACEALL电话号码WITH""FOR地址="上海"
课堂练习:
请将学号为的学生的地址更新为上海?
REPLACE地址WITH"上海"FOR学号=""
REPLACEALL地址WITH"北京"FOR学号=""
将学号为的学生的成绩在原来的基础上增加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,或直接用数字
EG:
USE学生
?
RECNO()
GO3
?
RECNO()
BROWSE
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.一个表中的主索引和另外一个表中的普通索引·可以建立表与表之间的永久性关联··