文档库 最新最全的文档下载
当前位置:文档库 › 第三章 VF数据库建立和操作

第三章 VF数据库建立和操作

第三章数据库的建立和操作

3.1VF数据库的建立

3.1.2建立数据库:

项目管理器:是一个工作平台·是数据,对象和文档的结合·

1、建立项目管理器:后缀名.PJX,PJT是备注文件

方法一:

方法二命令:CREATE PROJECT 项目文件名

EG:create project 教务系统

crea PROJ 教师系统

说明:VF中命令不区分大小写,每个命令只能占一行·代码中每个单词可以缩写为前四个字母·

2、建立数据库的方法:后缀名.DBC,DCT是备注文件,DCX是索

引文件

(1)项目管理器中的数据选项卡下建立

(2)在文件菜单下新建

(3)用命令的方式建立:

CREATE DATABASE 数据库文件名

CREATE DATABASE ?/不跟数据库文件名(功能是:弹

出一个创建对话框`等待用户输入数据库文件名)

3.1.3使用数据库

(1)项目管理器中打开数据库:

(2)文件菜单下打开

(3)打开数据库命令:

OPEN DATABASE 数据库名

OPEN DATABASE ? /不跟数据库文件名(功能是:弹出一个打开对话框`供用户选择数据库)

说明:EXCLUSIVE以独占的方式打开数据库

NOUPDATE 指定数据库以只读方式打开

说明:VF中同一个时刻可以打开多个数据库`但在同一时刻只有一个当前数据库`

(4)指定当前数据库

方法一:常用格式工具栏上列表框中

方法二命令:SET DATABASE TO 数据库名

3.1.4 修改数据库:用户可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作

命令:MODIFY DATABASE 数据库名/?

MODIFY DATABASE (功能是:对当前数据库进行修改) EG:OPEN DATABASE 成绩管理

MODIFY DATABASE

MODIFY DATABASE 设备管理

3.1.5删除数据库

(1)移去:从项目管理器中删除数据库,但并不从磁盘上删除相应的数据库文件(DBC,DCT,DCX)

(2)删除:从项目管理器中删除数据库`同时对应的数据库文件从磁盘上删除

删除命令:

DELETE DATABASE 数据库名.

DELETE DATABASE 数据库名RECYCLE (功能是:将数据库的磁盘文件删除并放到回收站`)

说明:删除数据库时``如果数据库里面有表``只删除数据库文件``数据库表变成自由表``

DELETE DATABASE 数据库名DELETETABLES

(功能是:删除数据库的同时删除里面的表文件)

关闭数据库命令:CLOSE DATABASE (功能是:当前打开数据库进行关闭·)

命令:Close ALL 关闭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 表名(打开一个表)

MODIFY STRUCTURE (功能是:对当前打开的表进行修改结构)

USE 关闭表

CLOSE ALL 关闭所有

3.3表的基本操作:浏览、追加记录、修改记录、查询定位记录、显示记录、删除记录··

3.3.1使用浏览器操作表

(1)在项目管理器中

(2)在数据库里面直接浏览

(3)命令:USE 表名

BROWSE (浏览当前表)

总结:CLOSE DATABASE, MODIFY STRUCTURE, BROWSE三个命令后不用加名称。

3.3.2增加记录的命令

1.追加记录:

快捷方式:CTRL+Y

2.命令:APPEND 在表的尾部追加一条记录

APPEND BLANK 在尾部追加一条空白记录

1.命令:INSERT 相对表的指针往后插入一条记录

INSERT BLANK 相对表的指针往后插入一条空白记录INSERT BEFORE 相对当前表的指针往前插入一条新记录

3.3.3删除记录

1.VF中删除记录分为逻辑删除和物理删除。

(1)逻辑删除:只是在记录的左边作一个删除标记

(2)物理删除:是建立在逻辑删除的基础上,是将有逻辑标记的记录彻底删除·不能再恢复·

逻辑删除命令:DELETE (功能是:对当前打开表中指针所指向的记录进行删除)

DELETE ALL (功能:逻辑删除当前表的记录)

EG:

MODIFY DATABASE 成绩管理

use 学生

DELETE ALL

BROWSE

DELTE FoR 条件表达式(功能:逻辑删除满足条件的记录)EG:逻辑删除男党员的学生的信息?

DELETE FOR 性别="男" AND 政治面貌=[党员]

说明:VF中所有的符号必须在英文状态下书写

2.恢复记录的命令:

RECALL (功能:恢复指针指向的记录)

RECALL for 条件表达式

3.物理删除命令:PACK

命令:ZAP 表示清空表记录

等价于DELETE ALL 和pack 命令的使用

3.3.4修改记录

1.以交互修改的方式EDIT和CHANGE(编辑状态)

EG:

use 成绩

EDIT

USE 课程

CHANGE

2.用命令直接修改REPLACE(替换)

语法格式:

USE 表名

REPLACE 字段名WITH 新的值(功能是:对当前指针指向的记录的值进行替换)

REPLACE ALL字段名WITH 新的值(功能:对指定字段的值进行全部替换)

REPLACE ALL字段名WITH 新的值FOR 条件表达式(功能是:将满足条件的字段值进行修改)

REPLACE (ALL)字段名WITH 新的值FOR 字段名=值,新的值和值都必须注意类型

REPLACE 字段名WITH 字段名+新的值

REPLACE 分数WITH 分数+15

EG:

Use 学生

REPLACE 电话号码WITH "0851*******"

REPLACE ALL 电话号码WITH "135********"

将家在上海居住的学生电话号码更新为135********

REPLACE ALL 电话号码WITH "135********" FOR 地址="上海" 课堂练习:

请将学号为09080102的学生的地址更新为上海?

REPLACE 地址WITH "上海" FOR 学号="09080102"

REPLACE ALL 地址WITH "北京" FOR 学号="09080102"

将学号为09080102的学生的成绩在原来的基础上增加10% REPLACE 分数WITH 分数*(1+0.1) FOR 学号="09080102"

将男党员的学生的补贴增加10元?

REPLACE ALL 补贴WITH 补贴+10 FOR 性别="男" AND 政治面貌="党员"

3.3.5显示记录

命令:LIST (将当前表的记录全部显示到工作区)

DISPLAY (将当前指针指向的记录显示到工作区).

LIST FOR 条件表达式(对满足条件的记录显示到工作区)

DISPLAY 字段名1,字段名2,………

3.3.6查询定位

问号? 表示输出

函数:RECNO( ) 测试当前表的指针位置

FOUND()检测是否找到满足条件的内容

(1)绝对定位:将指针指向一条记录上··TOP 表头

BOTTOM 表尾

命令:GO 数值表达式等价于GOTO 数值表达式

GO+数值/TOP/BOTTOM,或直接用数字

EG:

USE 学生

?RECNO()

GO 3

?RECNO()

BROWSE

GOTO 4

GO TOP

GO BOTTOM

(2)相对定位:表示相对当前指针往上或者往下跳转多少条记录

命令:SKIP 数值表达式

说明:数值表达式有正负之分··当为正数就往下跳转``反之往上··

如果SKIP没有带数值表达式··默认往下跳1步

(3)条件定位:将指针指向满足条件的记录上·

命令:LOCATE FoR 条件表达式

3.4索引

VF索引是由指针构成的文件,指针按照逻辑上的关键字的值进行排序

(升序/降序)不改变表中记录的物理顺序·

说明:在一个表中创建索引·会产生一个表同名的索引文件(.CDX)

VF中索引分为:主索引、候选索引、惟一索引、普通索引·

1.主索引:建立在其值能够惟一标识一个元组(主关键字)一个表中最多建立一个主索引··

2.候选索引:虽然不是主索引··但其值也能够惟一标识一个元组··

3.惟一索引:用于一些特殊的程序设计(一个表中可以创建多个惟一索引)

4.普通索引:在表中任何字段都可以建立·(可以提高表的查询速度)注意:只有数据库中的表才能建立主索引,不能用命令

3.4.2在表设计器建立索引(表的结构)

说明:1.表中可以创建多个索引·都保存在一个CDX文件中·

2.可以提高查询速度··索引不是越多越好··根据用户的需要来建立··索引太多·会影响对表的操作·

3.一个表中的主索引和另外一个表中的普通索引·可以建立表与表之间的永久性关联··

相关文档
相关文档 最新文档