vfp第三章 数据库与表的操作复习要点.docx
- 文档编号:4448175
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:29.29KB
vfp第三章 数据库与表的操作复习要点.docx
《vfp第三章 数据库与表的操作复习要点.docx》由会员分享,可在线阅读,更多相关《vfp第三章 数据库与表的操作复习要点.docx(21页珍藏版)》请在冰豆网上搜索。
vfp第三章数据库与表的操作复习要点
第三章数据库与表的操作(复习要点)
第三章数据库与表的操作
3.1数据库设计P59-62
1.数据库的设计过程
1)明确建立数据库的目的和使用方式
2)确定所需的数据表,确定表结构(包括表结构、字段和记录)
3)建立表之间的关系
4)设计的优化
3.3数据库的组成P64-66
1.数据库的基本组成
数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。
视图(view):
一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。
(第四章详述,P125)
存储过程(storedprocedure):
是保存在数据库中的一个过程。
该过程能包含一个用户自定义函数中的任何命令和函数。
3.2数据库的创建P62---
数据库的创建过程中一般会涉及下面一些常用操作:
熟练操作
1)创建新表→用表设计器(设置字段属性和表属性)
2)添加表→用数据库设计器按钮或数据库菜单
3)创建视图→用视图向导、视图设计器
4)建立关系→用鼠标将父表的索引拖到子表的相关索引上
5)编辑关系→用数据库菜单或快捷菜单→参照完整性生成器
6)移去关系→用快捷菜单或按delete键
7)修改表→用表设计器
8)删除表或视图→用数据库设计器按钮或数据库菜单
1.数据库文件后缀P62
创建数据库时系统自动生成3个文件:
数据库文件:
扩展名为.DBC
数据库备注文件:
扩展名为.DCT
数据库索引文件:
扩展名为.DCX
2.数据库的新建:
P62-64
从文件菜单中单击新建→在新建对话框中选择数据库并单击新文件→在创建对话框中给出库文件名和保存位置→在数据库设计器中建立所需的数据库。
或从命令窗口中输入命令:
createdatabase数据库名
3.4数据库的使用P66-70
数据库的打开、关闭、删除
1.打开数据库:
从文件菜单中单击打开→在打开对话框中给出库文件名和保存位置并确定之。
或从命令窗口中输入命令:
opendatabase数据库名
2.关闭数据库:
从命令窗口中输入命令:
closedatabase&&关闭当前数据库
或closeall&&关闭所有被打开的数据库
注意:
1)关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;
2)用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。
3.删除数据库界面方式/命令方式deletedatabase数据库名
4.检查数据库的有效性validatedatabase
3.5表的创建与修改
1.表的概念P70-
表(数据表):
是指存放在磁盘文件中的一张二维表。
自由表:
不属于任何数据库的表。
数据库表:
包含在一个数据库中的表。
表文件名:
表名可以由字母、数字或下划线组成,系统自动给出的扩展名为.DBF。
备注文件名:
当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:
.FPT的文件名。
表结构:
存储表记录的公共结构。
(就是指一张表的表头结构,即字段的属性)。
记录:
表中的一行。
它是多个字段的集合,同一张表的每个记录都有相同的字段。
字段:
表中的一列。
它规定了数据的特征。
关系型数据表的特点:
(1)每一个字段不可再分解,也不能有名字相同的字段;
(2)每一列中的数据都有相同的数据类型;
(3)表中没有内容完全相同的行(记录)。
2.字段的基本属性
字段的属性:
包括:
字段名、数据类型、字段宽度、小数位数、空值支持
字段名:
即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。
自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。
如果从数据库中移去一个表,那么此表的长字段名将被截短成10个字符。
VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
数据类型:
指该字段的数据特征。
字段宽度:
指该字段所能容纳数据的的最大字节数。
小数位数:
指数值型数据将保留几位小数。
此时的字段宽度=整数位数+1+小数位数。
NULL值(空值):
不确定的值。
NULL值不等同于零或空格。
一个NULL值不能认为比某个值(包括另一个NULL值)大或小,相等或不同。
字段的数据类型P71表3.2(重要,必须背)
字段类型
代号
说明
字段宽度
使用示例
字符型
C
字母、汉字和数字型文本
每个字符为1个字节,最多可有254个字符
学生的学号或姓名,"8199101"或'李立'
货币型
Y
货币单位
8个字节
工资,$1246.89
日期型
D
包含有年、月和日的数据
8个字节
出生日期,
{^1980/07/08}
日期时间型
T
包含有年、月、日、时、分、秒的数据
8个字节
上班时间,
{^2005/02/209:
15:
15AM}
逻辑型
L
“真”或“假”的布尔值
1个字节
课程是否为必修课,
.T.或.F.
数值型
N
整数或小数
在内存中占8个字节;在表中占1至20个字节
考试成绩,83.5
双精度型
B
双精度浮点数
8个字节
实验要求的高精度数据
浮点型
F
与数值型一样
整型
I
不带小数点的数值
4个字节
学生的数量
通用型
G
OLE对象
在表中占4个字节
图片或声音
备注型
M
不定长度的一段文字
在表中占4个字节
学生简历
字符型(二进制)
C
任意不经过代码页修改而维护的字符数据
每个字符用1个字节,最多可有254个字符
备注型(二进制)
M
任意不经过代码页修改而维护的备注数据
在表中占4个字节
3.建表、修改表P72-76
1).建表操作:
创建表结构其实就是设计字段的基本属性。
可以使用表设计器、表向导或SQL命令来创建表结构。
(1)使用表设计器创建表
步骤略
(2)使用表向导创建表
步骤略
(3)使用CREATETABLE-SQL命令
该命令的一般格式为:
CREATETABLE|dbf<表文件名>(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)
例:
CREATETABLExscj(xhc(8),xmc(6),xbc
(2),cjn(5,1),ksrqd)
2).表结构的修改
(1)用表设计器修改
步骤略
或者,用命令调出表设计器:
USE<表文件名>
MODIFYSTRUCTURE
(2)使用ALTERTABLE-SQL命令
功能
命令格式示例
添加字段
ALTERTABLExscjADDCOLUMNkcmcC(14)
重命名字段
ALTERTABLExscjRENAMECOLUMNkcmcTOkc
删除字段
ALTERTABLExscjDROPCOLUMNkc
注意:
数据库表的表设计器中内容比自由表的多,增加了字段属性和表属性的设置。
设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。
3)数据库表的扩展属性(表设计器中,数据库表比自由表多的那一片区域)P102---
属性类别
属性名称
作用
字
段
属
性
字段显示属性
格式
确定字段内容在被显示时的样式
输入掩码
指定字段中输入数据的格式(即所输入的任何内容均显示成此符号)
标题
在浏览表时用此名称代替意义不够直观的字段名
字段验证规则
规则
使所输数据符合设定的条件
信息
当所输数据违反规则时,系统提示错在哪里
默认值
减少输入重复性数据时的工作量
字段注释
使字段具有更好的可读性
表
属
性
长表名
与表文件名不同,设置了长表名可以一目了然
记录验证规则
规则
使所输记录符合设定的条件
信息
当所输记录违反规则时,系统提示错在哪里
触发器
插入触发器
当所插记录符合此规则时,才可以插入到表中
更新触发器
当修改后的记录符合此规则时,才可以进行修改
删除触发器
当待删记录符合此规则时,才可以被删除掉
表注释
使表具有更好的可读性
字段有效性规则:
一种与字段相关的有效性规则,在插入或修改字段值时被激活,多用于数据输入正确性的检验。
P103-105
为字段设置验证规则的方法:
.在表设计器中选定要建立规则的字段名。
.在“规则”方框旁边选择“…”按钮。
.在表达式生成器中设置有效性表达式,并选择“确定”。
.在“信息”框中,键入用引号括起的错误信息。
.在“默认值”框中,键入合理的初值。
.注意不同类型数据的表示方法。
.选择“确定”
记录有效性规则:
一种与记录相关(包括多个字段)的有效性规则,当插入或修改记录时激活,常用来检验数据输入和正确性。
记录被删除时不使用有效性规则。
记录级规则在字段级规则之后和触发器之前激活,在缓冲更新时工作。
P106
触发器:
在一个插入、更新或删除操作之后运行的记录级事件代码。
不同的事件可以对应不同的动作。
它们常用于保证表中数据的完整性。
P106-107
3.6数据库表与自由表P76
1.联系与区别
2.在数据库中添加表P77
方法1:
从数据库菜单中选择添加表,从打开对话框中选择所需的表并确定之。
方法2:
右击数据库设计器窗口,从快捷菜单中选择添加表。
方法3:
单击数据库设计器工具栏的添加按钮。
注意:
一个数据表在同一时间内只能属于一个数据库,已隶属于其它数据库的表不能直接被添加进来,需先将其移出数据库还原成自由表。
Freetable命令,释放表
3.在数据库中移去表P77
使用项目管理器移去
使用removetable命令移去
3.7表的使用P78
1.表的基本操作
表的创建:
设计表名和表结构、输入记录、建立索引
数据维护:
增加记录、修改记录、删除记录
创建表的主要步骤:
设计表结构→输入记录→建立索引→数据维护
2.工作区P78
定义,区号的概念,select命令,数据工作区窗口。
工作区:
指用来标识一张打开的表的区域。
一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。
每个工作区都有一个编号。
表的别名:
在工作区中打开表时为该表所定义的名称。
可以自定义别名,否则系统默认就以表名作为别名。
若一张表在多个工作区中被打开,系统默认在表名后依次加_a、_b…。
自定义别名的格式:
USE<表名>ALIAS<别名>
当前工作区:
正在使用的工作区。
可以通过“数据工作期窗口”或用SELECT命令把任何一个工作区设置为当前工作区。
SELECT命令格式:
SELECT<工作区号>|<别名>
要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。
命令格式:
IN<工作区号>|<别名>
ALIAS([工作区号])函数:
测试指定工作区中的表的别名,无参数时指当前工作区表的别名。
SELECT([别名])函数:
测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。
3.表的打开和关闭P79-80
1).方式
打开表的途径
关闭表的途径
文件菜单中的打开
工具栏上的打开
数据工作期窗口中关闭
USE
数据工作期窗口中打开
USE<表名>
USEIN<别名>|<工作区号>
CLOSEALL
USE<表名>IN<工作区号>
USE<表名>AGAIN
CLOSEDATABASE
CLOSETABLE
USE<表名>ALIAS<别名>
退出VFP系统,则关闭所有的表
2).表的独占与共享使用
独占使用:
一张表只能被一个用户打开。
VFP6.0在默认状态以独占方式打开。
共享使用:
一张表可以被多个用户同时打开。
系统的默认打开方式可以通过工具菜单中的选项…来设置,或用命令:
SETEXCLUSIVEOFF&&默认打开方式为共享
SETEXCLUSIVEON&&默认打开方式为独占
或强行打开:
USEcjSHARED&&以共享方式打开cj表
USEcjEXCLUSIVE&&以独占方式打开cj表
4.表记录的处理P80---94
1).记录的输入P80-83
(1)立即输入方式:
设计好表的结构后,系统会提示是否直接进入数据输入状态。
若选是,则进入编辑窗口,输完后单击编辑界面右上角的“X”按钮退出,系统自动存盘。
需输入备注型或通用型字段的数据时,双击“memo”或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口,此时字段中的“memo”或“gen”变成“Memo”或“Gen”。
(2)追加方式:
若设计好表的结构后并没有及时输入数据,则可以用追加方式:
从文件菜单中(或从命令窗口中输入:
USE表文件名)打开所需表文件→从显示菜单中选择浏览→再从显示菜单中选择追加方式→在浏览窗口中输入所需记录。
不同追加方式适用的场合
追加记录的方式
适用的场合
显示菜单中的追加方式
在现有数据表的尾部添加一个或多个新记录
表菜单中的追加新记录
在现有数据表的尾部添加一个新记录
表菜单中的追加记录…
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部
APPEND[BLANK]
在当前表的末尾自动添加一个或多个新记录。
相当于显示菜单中的追加方式。
有BLANK时添加一个空记录,相当于表菜单中的追加新记录。
APPENDFROM表文件名[FIELDS字段名1,字段名2…][FOR条件]
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部。
相当于表菜单中的追加记录…。
APPENDFROM文本文件名SDF
将符合要求的文本文件全部追加在当前数据表的尾部。
注意:
文本内容要与表中的字段结构相适应。
文件菜单中的导入
将其它类型的文件转换成一个完整的VFP数据表。
(3)使用INSERT-SQL命令
该命令的一般格式为:
INSERTINTO<表名>[(字段名1[,字段名2…])]VALUES(表达式1[,表达式2…])
例:
INSERTINTOxscj(xh,xm,cj)VALUES("81991001","张良",85.5)
2).记录的浏览P83
(1)通过浏览窗口
(2)通过BROWSE命令
BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。
VFP命令中的常用子句(很多命令中都会用到这些子句,brow,repl,dele等等,必须熟记)
1)范围子句
子句格式
功能
ALL
表示对表文件的全部记录进行操作
NEXTn
表示对从当前记录开始的共n个记录进行操作,n为正整数
RECORDn
指明操作对象是表文件的第n号记录
REST
对从当前记录起到文件结尾的全部记录进行操作
2)FOR子句
用于指明进行操作的条件。
格式:
FOR<条件>
指明只对指定范围中那些符合给定条件的进行当前操作。
例如:
listNEXT6FORcj<85
3)WHILE子句
也用于指明进行操作的条件。
格式:
WHILE<条件>
例如:
listNEXT6WHILEcj<85
4)FIELDS子句
用于指明当前的操作涉及到表文件的哪些字段。
格式:
BROWSE[FIELDS字段名1,字段名2……]
例如:
BROWSEFIELDSxh,xm,cj
3).筛选记录和字段P84-86
(1)用菜单方式
(2)用命令方式
命令格式:
SETFILTERTO条件表达式,筛选若干行(记录)
例:
SETFILTERTOxb='男'
命令格式:
SETFIELDTO条件表达式,筛选若干列(字段)
例:
SETFIELDTOxh,xm,xb
注意:
SQL命令对记录的访问不受此筛选命令的限制。
4).记录的定位P86-90
(1)系统对记录的三个控制标志
记录开始标志:
位于第一个记录之前(表的顶部)。
其值用函数BOF()进行测试。
记录指针标志:
指向当前记录。
其值用函数RECNO()进行测试。
记录结束标志:
位于最后一个记录之后(表的尾部)。
其值用函数EOF()进行测试。
记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数+1。
刚打开表时记录指针的情况
表中记录情况
BOF()的值
RECNO()的值
EOF()的值
无记录
.T.
1
.T.
有记录
.F.
1
.F.
(2)记录的定位方式
绝对定位:
是指把指针移到指定的位置。
相对定位:
是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。
条件定位:
是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。
通过菜单进行定位P86
通过命令进行定位P87-89
记录的定位
命令格式
功能
备注
绝对定位
GOTOP
将记录指针定位到表文件之首
或GOTOTOP
GOBOTTOM
将记录指针定位到表文件之尾
或GOTOBOTTOM
GO
将记录指针定位到指定的n号记录
相对定位
SKIP
将记录指针从当前记录向上或向下移动n行
n为正值则向下移动n行
n为负值则向上移动n行
无n即n=1,向下移动1行
条件定位
LOCATEFOR<条件>[范围]
按顺序搜索表,直到找到满足指定条件的第一个记录
默认范围是所有记录
5).记录的修改和删除P90
一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。
(1)菜单方式
修改记录:
从表菜单中选择替换字段…→在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件→替换。
删除记录:
从表菜单中选择删除记录→在删除对话框中选择删除范围和删除条件→单击删除按钮→从表菜单中选择彻底删除→在消息框中单击是。
删除记录包括两步:
标记要删除的记录和彻底删除带删除标记的记录
恢复带删除标记的记录:
从表菜单中选择恢复记录→在恢复记录对话框中选择作用范围和条件→单击恢复记录按钮。
(2)SQL命令方式(表事先可以不打开,适用于编程工作方式)
修改记录:
用UPDATE-SQL命令。
P91
命令格式:
UPDATE<表名>SET字段1=表达式1[,字段2=表达式2…];
WHERE条件表达式
例:
UPDATExscjSETcj=cj*1.05WHEREcj>80
删除记录:
用DELETE-SQL命令。
P92
命令格式:
DELETEFROM<表名>[WHERE条件表达式]
例:
DELETEFROMxscjWHEREcj<60
(3)在命令窗口中用VFP命令:
命令格式
功能
备注
插入
INSERT[BLANK][BEFORE]
在当前表的指定位置上插入一个空记录或若干新记录
BLANK:
在当前记录后插入一个空记录
BEFORE:
在当前记录之前插入若干新记录
修改
CHANGE[FIELDS字段名1,…][FOR条件][LEDIT][REDIT]
在编辑窗口显示要修改的字段
LEDIT:
调出编辑窗口
REDIT:
调出浏览窗口
替换
REPLACE字段名1WITH表达式1[ADDITIVE][,字段名2WITH表达式2[ADDITIVE]…][范围][FOR条件]
把字段值用指定的表达式进行替换。
如:
工资单中给某些人长工资
默认范围是当前记录
ADDITIVE:
把备注字段的替换内容添加在原备注内容的后面
删除
DELETE[范围][FOR条件]
对当前表中指定范围内满足条件的记录加上删除标记*
默认范围是当前记录
PACK[MEMO][DBF]
将所有带删除标记的记录从表中抹去(不能再恢复)
DBF:
不影响备注文件
MEMO:
从备注文件中删除未使用空间
ZAP
删除当前表中所有记录,只留下表的结构
相当于
DELETEALL+PACK
恢复
RECALL[范围][FOR条件]
取消当前表中指定记录上的删除标记
默认范围是当前记录
复制:
copyto命令P93
统计与汇总:
count、sum、average等命令P94
3.8表的索引P94---99
1.基本概念
记录的顺序:
物理顺序:
即表中记录的存储顺序。
用记录号表示。
逻辑顺序:
表打开后被使用时记录的处理顺序。
索引:
指按表文件中某个关键字段或表达式建立记录的逻辑顺序。
它是由一系列记录号组成的一个列表,提供对数据的快速访问。
索引不改变表中记录的物理顺序。
表文件中的记录被修改或删除时,索引文件可自动更新。
索引关键字(索引表达式):
用来建立索引的一个字段或字段表达式。
注意:
1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;
2)不同类型字段构成一个表达式时,必须转换数据类型。
索引标识(索引名):
即索引关键字的名称。
必须以下划线、字母或汉字开头,且不可超过10个字。
索引类型:
主索引、候选索引、普通索引、唯一索引。
主索引:
组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。
主索引只适用于数据库表的结构复合索引中。
自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
候选索引:
在指定的关键字段或表达式中不允许有重复值的索引。
在数据库表和自由表中均可为每个表建立多个候选索引。
普通索引:
也可以决定记录的处理顺序,但是允许字段中出现重复值。
在一个表中可以加入多个普通索引。
唯一索引:
参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。
2.索引的作用
用途
采用的索引类型
排序记录,以便显示、查询或打印
使用普通索引、候选索引或主索引
在字段中控制重复值的输入并对记录排序
对数据库表使用主索引或候选索引,对自由表使用候选索引
准备设置表关系
依据表在关系中所起的作用,使用普通索引、主索引或候选索引
3.索引文件的种类
索引文件种类
特征
关键字数目
限制
结构复合索引文件
.CDX
使用和表文件名相同的基本名,随表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp第三章 数据库与表的操作复习要点 vfp 第三 数据库 操作 复习 要点
![提示](https://static.bdocx.com/images/bang_tan.gif)