第四章VisualFoxpro数据库及其操作
第4、5、6章 Visual FoxPro数据库及其操作
化学化工学院Visual FoxPro课程
没有最好,只有更好
4.3.3 数据库表的建立
数据库中的表只能属于一个数据库文件,如果向当前数据库中添加的
表已属于其它数据库,则需要先从其它数据库中移去该数据表,然后才能
将它添加到当前数据库中。 3.从数据库中移去数据表 (1)项目管理器:选中要移去的表,单击“移去”按钮,在提示对话框, 选择“移去”。若选择“删除”,则不仅从数据库中移去该表,同时也从 磁盘上删除了该表。 (2)命令:REMOVE TABLE <数据表文件名>
没有最好,只有更好
4.4.1 数据表的浏览
3. 浏览与显示记录
(1)在浏览窗口中浏览记录
① 项目管理器:选定要浏览的表,单击“浏览”按钮。 对于备注型字段或通用型字段内容,可以在浏览窗口中双击相 应的字段标志(“Memo”或“Gen”),打开编辑窗口浏览。 ② 菜单:选择“文件|打开”命令,打开要浏览的数据表。然后从
表中的数据是如何被标识和保存的。
(1)字段名 组成,不能包含空格。数据库表字段名最长为128个字符,自由表字
段名最长为10个字符。
(2)字段类型 决定了存储在字段中的值的数据类型,有13种: 字符型(C)、货币型(Y)、数值型(N)、浮点型(F)、日期型
(D)、日期时间型(T)、双精度型(B)、整型(I)、逻辑型
没有最好,只有更好
4.2.3 数据库的基本操作
1. 打开数据库
(1)项目管理器:选定要打开的数据库,单击“打开”按钮。
(2)菜单:选择“文件|打开”命令 (3)命令
① 打开数据库文件
OPEN DATABASE [<数据库文件名>]
② 打开数据库文件所对应的数据库设计器
VFP第4章 Visual FoxPro数据库及表的操作_OK
文件
2021/6/30
9
➢ 项目管理器方式 选择【文件】|【打开】命令,在“文件类型” 中选择“项目”,打开数据库所在项目管理器 在项目管理器对话框中选择数据选项卡 在数据选项卡中选择所需数据库,双击鼠标完成打开操作
2021/6/30
10
2. 数据库的关闭
➢ 命令方式
格式:CLOSE [ALL|DATABASE] 功能:关闭当前打开的数据库
该命令在当前表的末尾追加一个新记录。若选用 BLANK选项,则追加一个空记录到表的末尾。 例 在学生表末记录后增加记录。
USE 学生 APPEND
此时,屏幕显示记录输入窗口,用户可通过它连续输入 一个个记录。
2021/6/30
25
4.2.5 数据库表文件的建立
表是组织数据、建立关系数据库的基本元 素。在VFP中,每个表可以有两种存在状态, 根据表是否属于数据库,把表分为自由表或数 据库表。
3.通用型字段数据的输入
通用型字段的显示与备注型字段类似,不同的是对于 通用型字段在编辑窗口中标识是Gen或gen,该字段为空时 为gen,若在其中已经存入对象,则变为Gen。
通用型字段的输入可使用编辑菜单的插入对象命令, 或通过剪贴板粘贴。
2021/6/30
24
4.2.4 用命令方式追加记录 命令格式是: APPEND [BLANK]
2021/6/30
15
字段类型与宽度
类型
字符型
数值型
货币型 日期型
日期时 间型
代 号
说明
字段宽度
范围
C
存放从键盘输入的可显示或打印的汉字和字 符
最多254
1个字符占1个字节, 最多254个字节
Visual FoxPro数据库及其操作
4.1 Visual FoxPro数据库及其建立
4.1.5 删除数据库
通过项目管理器删除数据库时有两种选择: 移去:从项目管理器中删除数据库,但并不从磁盘上删除相 应的数据文件; 删除:从项目管理器中删除数据库,并从磁盘上删除相应的 数据库文件. 要删除数据库同时删除表等对象,需要使用命令删除数据库: DELETE DATABASE DatabaseName|? [DELETETABLES][RECYCLE]
4.1 Visual FoxPro数据库及其建立
4.1.4 修改数据库
在Visual FoxPro中修改数据库实际是打开数据库设计器,用户 可以在数据库设计器中完成各种数据库对象的建立,修改,和删 除等操作.可用以下三种方法打开数据库设计器: (1)在项库设计器; (3)使用命令打开数据库设计器. MODIFY DATABASE [DatabaseName|?] [NOWAIT][NOEDIT]
4.4 索引
2,设置当前索引 【格式】SET ORDER TO [<数值表达式1> | <单索引文件名> | [TAG] <标 识名> [OF <复合索引文件名>] [IN <数值表达式2> | <字符表达式>] [ASCENDING | DESCENDING]] 【功能】重新指定打开的索引文件中的主索引. 【说明】<数值表达式1>的值为指定主索引的编号. 3,使用索引快速定位 4,删除索引 DELETE TAG <标识名1> 删除全部索引 DELETE TAG ALL
4.7 多个表的同时使用
2.选择当前工作区 每一个工作区用工作区号或别名来标识 (1)工作区号 利用数字1~32767来标识32767个不同的工作区 (2)别名 前10工作区用A~J10个字母来标识. 采用该工作区中已打开的数据库的库名来作别名 用户自己定义 【命令格式】 :USE 〈数据库名〉[ALIAS〈别名〉] 【功能】 :打开数据库文件并为该数据库起一个别名. (3)工作区的选择 当系统启动时,1号工作区是当前工作区,若想改变当前工作区,则可使用 SELECT命令来转换当前工作区. 【命令格式】:SELECT<工作区号>/<工作区别名> 【功能】:选择一个工作区作为当前工作区.
04第四章Visual-FoxPro数据库及其操作04
2021/4/6
18
2.选择当前工作区
每一个工作区用工作区号或别名来标识
(1)工作区号 利用数字 1~32767 来标识 32767 个不同的工作区
(2)别名 前10个工作区的系统别名用 A ~J 10个字母来标识,对应
与11 ~ 32767 号工作区,它们的系统别名分别为 W11 ~ W32767 。
订购日期D/8 ,总金额Y/8) 供应商(供应商号C/2 ,供应商名C/20 ,地址C/4 )
2021/4/6
14
2.给各表追加如下记录:
2021/4/6
15
3.建立数据库“仓库管理”,并将刚建立的自由表 加入该数据库内
4.建立如下索引:
在仓库(仓库号)、职工(职工号)、订购 单(订购单号)、供应商(供应商号)上建立主 索引;
参照完整性规则
更新规则 删除规则 插入规则
2021/4/6
7
更新规则:当父表中的关键字段(主关键字)的值
被修改时,如何处理相关的子表中的 记录。 级联:用新的关键字值自动修改子表中的所有相关 记录; 限制:若子表中有相关记录,则禁止修改父表中 的连关键字段的值; 忽略:不做参照完整性检查,可以随意更新父表 中的关键字段的值;
5
2、设置参照完整性约束
注意: 在建立参照完整性之前必须首先清理数据库,
所谓清理数据库就是物理删除数据库各个表中所有 带有删除标志的记录。
清理数据库的方法是: “数据库”——“清理数据库”
或:PACK DATABASE
2021/4/6
6
清理完数据库后,右击表之间的联系——选 择“编辑参照完整性”,即可打开“参照完整性 生成器”对话框 。
第4章 VisualFoxPro数据库操作
阶段1 实体完整性
在Visual
FoxPro 6.0中,实体完整性是保证表中 记录“唯一”的特性,即在一个表中不允许有重 复的记录出现。保证实体完整性的方法是利用主 关键字或候选关键字来保证表中的记录“唯一” 。
在
Visual FoxPro6.0中,将主关键字称为主索 引,将候选关键字称为候选索引,主索引和候 选索引具有相同的作用。若一个字段的值或几 个字段的值能够唯一标识表中的一条记录,则 称为候选关键字。
[EXCLUSIVE|SHARED]
阶段3 修改数据库
数据库的修改操作,是通过【数据库设计器】
来完成的,打开一个数据库会自动打开【数据库 设计器】工具条,通过【数据库设计器】工具条 可以对数据库进行数据对象的建立、修改和删除 等操作。也可以在【数据库设计器】中,单击鼠 标右键进行相关的操作。
用命令打开【数据库设计器】的格式为: MODIFY DATABASE [<数据库文件名 >|?][NOWAIT] [NOEDIT]
阶段1 多工作区的概念
多工作区是为了控制有关系的表之间记录指针
的相互关联,在使用临时联系时,需要临时同时 打开多个表,这种情况下的操作就是多工作区操 作。
选择工作区的命令是:
SELECT <工作区号>|<工作区别名> 其各参数的含义如下: (1)<工作区号>:工作区号的取值范围是 1~32767之间 的正整数。 (2)<工作区别名>:可以是系统定义的别名,即 1~10 号工作区的别名分别为字母A~J;可以将表名作为工作 区的别名;也可以用命令重新定义别名,使用ALIAS命 令实现。
VisualFoxPro数据库操作
第4章 Visual FoxPro数据库操作
VFP课件4-VisualFoxPro数据库及其操作
每个字符为1个字节,最多可有 254 个字符
8 个字节 8 个字节 8 个字节 1 个字节 在内存中占 8 个字节;在表中占1 至20个字 节 8 个字节 在表中占1 至20个字节 4 个字节 在表中占 4 个字节 在表中占 4 个字节 每个字符用1个字节,最多可有 254 个字符 在表中占 4 个字节
4.1.2建立数据库
通过项目管理器创建 通过菜单创建 通过命令窗口创建: CREATE DATABASE [<数据库名>│?]
4.1.3打开数据库
通过项目管理器 通过菜单 通过命令窗口:
OPEN DATABASE [<数据库名> │? ][EXCLUSIVE│SHARED][NOUPDATE]
4.3.1通过浏览器操作表
浏览操作 添加记录 修改记录 删除记录
4.3.2命令方式操作表
添加记录:APPEND [BLANK]在表尾部添加记录 插入记录:INSERT [BEFORE] [BLANK](对未索引的表有效) 删除记录:DELETE [FOR <条件表达式>] 恢复记录:RECALL [FOR <条件表达式>] 物理删除有删除标记的记录:PACK 物理删除表中的全部记录:ZAP 修改记录:REPLACE <字段名1> WITH 表达式1,[<字段名2> WITH 表达式2]…[FOR <条件表达式>] 交互修改记录:EDIT,CHANGE 显示记录:LIST┃DISPLAY [<范围>][FIELDS]<字段名>[FOR <条件1>][TO PRINT ┃TO FILE<文件>] 不使用条件时,LIST显示全部记录,DISPLAY显示当前记录
第四章VisualFoxPro数据库及操作
第四章VisualFoxPro数据库及操作第四章 Visual FoxPro数据库及操作一、选择题1、在打开student表的情况下,将整个表复制到stu表的命令是。
A)copy to stu B)copy all to stuC)copy structure to stu D)copy to stu sdf2、在表中对所有记录作删除标记的命令是。
A)delete all B)pack C)recall allD)zap3、如果exercise数据库已经存在,则命令可以打开该数据库。
A)create database exercise B)modify database exerciseC)open exercise D)modify exercise4、如果VAR2是当前表中的一个字段名,同时也是内存变量名,则执行命令可以显示内存变量值。
A)?VAR2 B)?M.VAR2 C)?FIELD-var2 D)LISTM-VAR25、1个字段名至少需要1个字符,最多不能超过个字符。
A)2 B)5 C)10 D)2556、物理删除当前表中所有记录的命令是。
A)zap B)delete all C)delete tableD)pack7、不能关闭当前表文件的命令是。
A)use B)browse C)close tableD)clear all8、在当前某个表中,如果字段je=djnum,则命令可以自动填写所有记录的je字段:A)browse je=djnum B)replace all je=djnumC)replace all with je=djnum D)list all je=djnum9、可以减少相同数据重复存储的现象。
A)记录B)字段C)文件D)数据库10、在数据库中,产生数据不一致的根本原因是。
A)数据存储量太大B)没有严格保护数据C)未对数据进行完整性控制D)数据冗余11、数据库应用系统包括。
第四章2 Visual FoxPro 数据库及其操作
第四章之二计算机等级考试二级VFP13. 表的索引(1).索引及索引文件的概述索引是以索引文件的形式存在的,它根据指定的索引关键字表达式建立的。
索引文件可以看成索引关键字的值与记录号之间的对照表,关键字可以是一个字段,也可以是几个字段的组合。
在建立索引文件时,把表所有记录的索引关键字表达式的值按指定顺序排序,并把每个索引关键字表达式值与该值在表中所对应的记录对应起来,保存在索引文件中。
索引文件必须与原表一起使用,查询时根据索引关键字表达式的值先在索引文件中找到某字段所在的记录号,然后再到表里直接定位。
这样的查找方式使顺序查找和随机查找都有较高的效率。
打开索引文件时,将改变表中记录的逻辑顺序,但并不改变表中记录的物理顺序。
一个表文件可建立多个索引文件,也可同时打开多个索引文件,但在同一时间内只有一个索引起作用,这个索引称为主控索引。
Visual FoxPro系统中支持两种不同的索引文件类型,即单索引文件和复合索引文件。
单索引文件是根据一个索引关键字建立的索引文件,文件扩展名为.IDX,它可用INDEX命令的各种形式建立。
单索引文件分为标准和压缩两种类型。
复合索引文件是指索引文件中可以包含多个索引标识的扩展名为.CDX。
每个索引标识与单索引文件类似,也可以根据一个索引关键字表达式(或关健字)建立。
每一个索引标识均有一个特殊的标识名(TAG)。
标识名由字母或下划线开头,由字母、数字或下划线组成,长度不超过10个字符。
用户可以利用标识名来使用标识,向复合索引文件中追加标识。
复合文件中标识的数目,仅受内存和磁盘空间的限制。
复合索引文件又有两种:一种是独立复合索引文件;另一种是结构复合索引文件。
结构复合索引文件是由Visual FoxPro自动命名的,与相应的表文件同名,扩展名为.CDX。
当Visual FoxPro打开一个表时,便自动查找一个结构复合索引文件,如果找到便自动打开,该索引文件随表文件同时打开和同时关闭。
04第四章VisualFoxPro数据库及其操作02精品PPT课件
8
如果同时缺省<范围>和 <条件>子句,则仅仅删 除当前的记录。
例、删除学生.DBF中所有男同学的记录。 USE 学生 DELETE FOR 性别="男" LIST
(2)菜单方式 ① 打开表文件,选择“显示”菜单——“浏览” 命令 ②选择“表”*”号
(1)命令方式 【格式】RECALL [<范围>] [FOR <条件>] [WHILE <条件>] 【功能】恢复当前表文件中指定范围内满足条件的已作删除
标记的记录(即去掉删除标记*),使之成为正常记录。 【说明】如果同时缺省<范围>和 <条件>子句,则仅仅恢复当
前记录。 例、恢复学生.DBF中删除的所有记录。
USE 学生
RECALL ALL
(2)菜单方式 ① 打开表文件 ② “显示”——“浏览”命令。 ③ “表”——“恢复记录”命令。
10
3.物理删除记录
物理删除是将当前表文件中被逻辑删除的记录全部清除。
(1)命令方式
【格式】PACK 【功能】将当前表文件中所有带删除标记(*)的记录全部真
3
4
5
1.APPEND命令
【格式】APPEND [BLANK]
【功能】在当前已打开表的末尾追加一条或多条记录。
【说明】BLANK:表示在表末尾追加一条空记录,并自动 返回命令窗口(不弹出编辑窗口)。
例如:在命令窗口输入命令
USE d:\vfp\学生 &&打开表
APPEND
&&或EDIT
VFP_04第四章Visual FoxPro 数据库及其操作
在项目管理器中打开数据库。(选中库后,库自动打 开)
通过“打开”对话框打开数据库。 命令法:OPEN DATABASE 库文件名 [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE] (在工具栏中间显示打开的库名)
二级VFP程序设计教程
CLOSE DATABASE——关闭所有工作区被打 开的表文件
CLOSE ALL ——关闭所有工作区中的所有文件; QUIT——关闭所有文件,且退出系统
窗口菜单法:在“窗口”菜单中选择“数据工作期”, 选择欲关闭的表,单击“关闭”。
现象:突然断电,数据丢失。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
二级VFP程序设计教程
第四章 V FP 数据库及其操作
六、使用浏览窗口操作表
1、打开浏览器窗口 项目管理器:列表中选择表,单击“浏览”。 数据库设计器:选中表,单击“浏览”,或者右击表, 选择“浏览”。 使用命令:打开表以后,Browse。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
浏览器窗口有两种显示方式:编辑方式和浏览方式
二级VFP程序设计教程
第四章 V FP 数据库及其操作
BEFORE:表示在当前记录前插入新记录,否则在当前记录
后插入;
BLANK:表示插入一条空记录,不进入全屏幕输入状态,反
之则进入全屏幕输入状态输入数据。 如:在第5条记录后插入一条记录: GO 5 INSERT 在第10条记录前插入一条空记录: GO 10 INSERT BEFORE BLANK
二级VFP程序设计教程
第四章 V FP 数据库及其操作
VFP 6.0第4章Visual FoxPro数据库及其操作
4.4.2 多表之间的关系 一个数据库中的表既相互独立,又存在联系。 若要在数据库表之间建立表间关系,前提是:建立 关系的表具有相同的字段,每个表都要以该字段建 立索引。 多表之间的关系存在以下几种类型: (1)一对一关系 在主表和子表均应按相同的关 键字建立主索引或候选索引。 (2)一对多关系 主表应建立主索引或候选索引, 子表可以建立普通索引。 (3)多对多关系
2
4.1.2 数据库的建立
数据库也叫“数据库文件”,扩展名为.dbc 1.用菜单方式建立数据库 菜单【文件】→【新建】→打开“新建”对 话框,选定“文件类型”为【数据库】选项按钮→ 单击【新建文件】→打开“创建”对话框,在“数 据库名”文本框中输入所建的数据库名,单击【保 存】按钮→建立数据库,同时打开“数据库设计器” 窗口 。 2.在项目管理器中建立数据库
20
b.当工作区号为0时,即命令“SELECT 0”表示选取 尚未使用的最小号工作区。 c.若切换到另一个工作区,可以直接使用SELECT< 表文件别名>
21
例4.8 选择工作区实例 open database jxgl ?select() use xsqk alias da select 5 use xscj ?select() select 0 ?select() use xskc select da ?select() select xscj ?select()
18
4.4 多表之间的关系
4.4.1 工作区 1.基本概念 (1)工作区号 Visual Foxpro 6.0提供了32767个工作区,编号 从1到32767.每个工作区只允许打开一个表。 (2)别名 前十个工作区除使用1~10为编号外,还可使用 A~J 10个字母来表示,后者称为工作区别名。 通过编号和别名都可以访问相应的工作区。
Visual FoxPro程序设计实用教程第4章 数据库及其操作
② 数据库表可设置字段的标题、格式、掩 码等,而自由表不可以设置。 ③ 数据库表可以设置字段和记录的有效性 规则,以保证数据的有效性和一致性,防 止非法输入,而自由表则不能设置。
④ 数据库表之间可以建立并保持永久关系, 而自由表之间只允许建立临时关系。
2.在数据库中建表
(1)用菜单方式新建表 (2)用命令方式新建表
3.数据库的关闭
格式:CLOSE DATABASE 功能:关闭当前数据库。
说明: ① 若要关闭多个数据库以及相关的数据 表等对象,可使用CLOSE ALL命令。 ② 在“数据库设计器”窗口右上角单击 “关闭”按钮是不能关闭数据库的。
4.1.2 数据库的修改与删除
1.数据库的修改
数据库创建以后会产生*.dbc,*.dct, *.dcx 3个文件,用户不能对这3个文件直接 进行修改。 格式:MODIFY DATABASE [<数据库名 > | ?]
第4章 数据库及其操作
4.1 数据库的建立与操作 4.1.1 数据库的建立、打开与关闭
1.数据库的建立
(1)用菜单法建立数据库
① 单击“文件”菜单,选择“新建”命令,在 对话窗口中选择“数据库”项目,单击“新建 文件”按钮,系统会弹出“创建”对话框,如 图4-1所示。
图4-1 “创建”对话框
② 在“创建”对话框中设置好保存目录和数 据库名后,单击“保存”按钮,系统会弹出 如图4-2所示的“数据库设计器”窗口。 数据库创建成功后,会在磁盘上生成3个 对应的同名文件,如图4-3所示。
图4-2 “数据库设计器”对话框
图4-3 数据库的文件
(2)用命令创建数据库
格式:CREATE DATABASE [<数据库名 > | ?]
第四章 Visual FoxPro数据库及其操作(第四讲)
第四章 Visrla FoxPro数据库及其操作
4.3 表的基本操作
六、增加记录
1. 连续追加多记录
“显示”菜单→ “追加方式”
2. 只追加一个记录 “表”菜单→ “追加新记录”命令
第四章 Visrla FoxPro数据库及其操作
4.3 表的基本操作 加OFF不显
七、显示记录
示记录号
分屏输出,范围缺 省时指当前记录
create database [databasename|?]
第四章 Visrla FoxPro数据库及其操作
项目管理器
二、打开数据库(打开的数据库在”常用”工具栏上会显 示)
方法1. 在项目管理器中打开数据库
方法2. 通过“打开”对话框打开数据库
方法3. 使用命令打开数据库
open database
通用型字段在浏览窗口中显示为gen,要在通 用型字段输入、查看、修改通用型字段数据,双 击 gen 或 将 光 标 移 向 gen 处 按 键 盘 CTRL+PGUP 或 CTRL+PGDN,出现通用型字段的编辑窗口,此时 单击菜单[编辑]→[插入对象],弹出插入对象对 话框,可以选择插入BMP图象,声音文件,视频 剪辑等,编辑结束,按关闭按钮或CTRL+W,保存 修改并返回记录编辑窗口。要放弃修改,按ESC 键或CTRL+Q键。
方法2:set database to 数据库名 close database
第四章 Visrla FoxPro数据库及其操作
4.6建立自由表
一、表的组成
在数据的关系模型中,把一个关系
看作一张二维表,简称表(Table)。 它由行和列组成,如下表所示:
学号 姓名 性别 年龄 总分
04第四章Visual FoxPro数据库及其操作03
(3)唯一索引 系统只在索引文件中保留第一次出现的索引
关键字值。数据库表和自由表都可以建立唯一索 引
(4)普通索引 是一个最简单的索引,允许关键字值的重复
出现,适合用来进行表中记录的排序和查询,也 适合于一对多永久关联中“多”的一边(子表) 的索引。数据库表和自由表都可以建立普通索引。
普通索引和唯一索引可以存储在独立复合索 引文件.CDX和单索引文件.IDX中。
中出现重复值的索引。 它也是在数据库表的永久关联中创建参照完整
性时主表和被引用表使用的索引。 每一个表只能建立一个主索引,只有数据库表
才能建立主索引。
7
(2)侯选索引
侯选索引与主索引具有相同的特性。数据库 表和自由表都可以建立侯选索引,一个表可以建 立多个侯选索引。
主索引和侯选索引都存储在结构复合索引文 件中,不能存储在独立复合索引文件和单索引文 件中,因为主索引和侯选索引都必须与表文件同 时打开和同时关闭。
12
④ 确定好各项后,选择“确定”,关闭表设 计器,同时索引建立完成。
⑤ 同样的方法也可以将以前建立的索引调出, 利用表设计器上的“插入”或“删除”按 钮进行插入或删除。
注意:用表设计器建立的索引都是结构复合 索引文件。
13
4.4.3 用命令建立索引
建立单索引文件的命令方式:
【格式】INDEX ON <索引表达式> TO <索引文件名> [FOR<条件>] [COMPACT] [UNIQUE] [ADDITIVE]
4.4 索引
• 数据库默认的记录顺序是按输入的顺序排列的, 在使用过程中,这种顺序往往不能满足要求,因
此,用户可以按自己的需求进行重新排列记录 的顺序——排序。
VFP第04讲Visual FoxPro 数据库及操作
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
向表中输入记录
如图:
选择“是”, 立即输入记 录
7
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
输入表记录的几点说明
●逻辑型字段宽度为1,只接受T,Y,F,N这4个字母之一 (大小写均可) ●日期型数据必须与系统日期格式相符 SET DATE MDY可将系统日期格式转换为美国日期 格式mm/dd/yy ●备注型与通用型字段的输入与编辑 备注型与通用型字段中已填有memo和gen等内容,等 待输入有关数据。操作如下: 1.把光标定位于“memo”或“gen”。 2.按Ctrl+PgDn,Ctrl+PgUp或Ctrl+Home等组合键之 一或双击鼠标,出现“memo”或“gen”编辑窗口。
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
VFP二级教程
教育部考试中心 编写
1
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
第四章 Visual FoxPro 数据库及操作
分析数据需求 建 立 数 据 库 的 流 程 如 图 :
.尽量避免数据的重复可减少更改数 据是出错的可能性; .对数据合理分类,明确表的个数及 其需存储的信息; .防止删除有用的信息。
收集和规划数据 确定表的结构
.确定字段属性及主关键字
确定表间关系
设计求精
2
.有一对一,一对多,多对多关系 .建立表间关系,即将一个表的主关键 字添加到另一个表。 .考虑:是否遗忘了字段? .是否有的信息未包括进去? .主关键字是否合适? .是否有重复信息? 马驰
第四章 Visual FoxPro数据库及其操作
任务四设计数据库对表进行分类管理【教学目标与要求】通过本章学习,应掌握数据的建立和管理;掌握字段的各种属性和字段的有效性规则;掌握数据完整性的内容和实现方法;掌握多工作区的概念和表之间的关联。
【本章重点、难点及教学安排】重点:数据库表的域完整性设置;结构复合索引的建立和使用;数据完整性的内容和实现;多工作区的概念。
难点:多工作区的操作。
本章内容是Visual FoxPro数据库基础知识。
包括一些重要的基本概念如数据完整性、表之间的永久性联系和临时联系等,还包括一些基本操作如建立数据库建立表之间的联系以及数据完整性等。
掌握本章是学好后续各章的基础。
第六讲 Visual FoxPro数据库设计及其操作子任务一学习数据库的基本概念一、设计原则为了合理组织数据,应遵循以下原则:(1)关系数据库的设计应遵从概念单一化“一事一地”原则(2)避免在表之间出现重复字段;(3)表中的字段必须是原始数据和基本数据元素;(4)用外部关键字保证有关联的表之间的联系;二、设计步骤利用VFP开发数据库应用系统,可以按照以下步骤来设计:(1)需求分析。
(2)确定需要的表。
(3)确定所需字段。
(4)确定联系。
(5)设计求精。
子任务二建立数据库建立数据库有三种方法:●在项目管理器中建立数据库●通过“新建”对话框建立数据库●使用命令交互建立数据库1.在项目管理器中建立数据库在项目管理器中建立数据库的界面如图4.1所示,首先在“数据”选项卡中选择“数据库”,单击“新建”按钮并选择“新建数据库”在弹出的对话框中输入数据库名称,即扩展名为dbc的文件名。
图4.1项目管理器中的“数据”选项卡2.通过“新建”对话框建立数据库单击工具栏上的“新建”按钮或选择“文件/新建”打开如图4.2所示的“新建”对话框。
首先在“文件类型”组框中选择“数据库”,然后单击“新建文件”按钮建立数据库,后面的操作与在项目管理器中建立数据库相同。
图4.2“新建”对话框3.使用命令交互建立数据库建立数据库的命令是:CREATE DATABASE[ DatatabaseName|?]子任务三使用数据库在数据库中建立表或使用数据库中的表时,都必须先打开数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.空值(NULL)
– 空值是用来标识一个字段“没有值”的标志 – 空值表示没有任何值或没有确定值 – 空值不等同于数值0、空字符串或逻辑“假” – 函数EMPTY() 测试空值
–如果允许字段接受NULL值,则应选中该栏所在 框
–表的关键字段不允许为NULL值
字段类型 中文名称 宽度(字节) 说明
如何定制浏览窗口?
• 重新安排列的位置:
– 拖动
• 改变列的宽度:
– 拖动
• 显示或隐藏表格线:
– 显示/网格线
• 分为两个窗格:
– 左下角拖动
6.3.3 记录的定位
1、记录指针标志 记录号(输入顺序) 记录的开始标志
BOF ( ) 记录指针标志 ( 当前记录 )
RECNO ( ) 记录的结束标志
表结构的创建
1、表设计器 (1)打开“表设计器”
项目管理器/自由表/新建/新表/保存 注:
A、也可从菜单或工具栏中直接新建表 B、与在“项目管理器”中新建表不同的是: 这样新建的表将不包含在项目中
(2)在“表设计器”中创建表结构
表设计器/字段/输入/确定
表结构的创建
2、用create table -SQL命令创建表结构
– Character 字符型 254
字母、汉字、数字、文本、符号
– Currency 货币型 8
货币单位
– Numeric 数值型 20
整数或小数
– Float
浮点型 20
同数值型
– Date
日期型 8
年、月、日
– DateTime 日期时间型8
年、月、日、时、分、秒
– Double 双精度型 8
–长度固定为4字节
–用于存储不定长度的文本数据 –当文本数据长度可能大于254,无法使用字
符型存储时,使用备注类型字段 –所有备注型字段的实际内容存储在和表名相
同,扩展名为.FPT的备注文件中
(9)通用型(General)
–通用型用于存储OLE对象数据 –字段宽度固定为4个字节,用于存储一个4个字节的
–如:下列那些合法
不以数字开头
× 3mn
姓名1 mn3
不能含有空格;
×m n
×编 号
不能含有各种运算符; AI*X
× S-N
S_N ×
2.字段类型
• 不同类型的字段来存储不同类型的数据
字符型 浮点型 双精度 备注型
货币型 日期型
整型 通用型
数值型 日期时间型
逻辑型
zpz: 内存变量
(1)字符型(Character)
eof()
use books f
f
1
skip -1
t
f
1
skip -1
Error
f
1
go bott
f
f
848
skip
f
t
849
skip
Error
例2
Use books go 5 skip +2 skip -3 locate for …
RECN() 1 5 7 4
3、记录定位的实现
– 界面方式 (“表”—“转到记录”)
第四章
Visual Foxpro数据库及 其操作
内容
• 介绍数据库、数据表的基本概念 • 数据库和数据表的建立 • 编辑表中的数据、记录修改与删除 • 表的索引等有关操作。
概念
• 数据库(.dbc)
–就是一个关于某一特定主题或目标的信息集合。
• 表(.dbf)
–基本单位,是数据库的基础 –可以说表是关系数据库系统中的基本结构。 –要存数据,为所需记录的信息创建一个表。 –由行和列组成的,一行为一个记录,一列为一个字段。
zpz:
内存变量5.6
(5)日期型(Date)
–用于存储包含有年、月、日的日期数据 –长度为8字节
(6)日期时间型(DateTime)
–用于存储包含有年、月、日、时、分、秒的日期和 时间数据。
(7)双精度型(Double)
–双精度型用于存储精度要求较高、位数固定的数值, 或真正的浮点数值。
(8)备注型(Memo)
公','男',900) 4、从其他表中追加记录
• 命令APPEND – APPEND FROM
记录的浏览 1、浏览窗口
– 进入 : •BROWSE 命令 •use books/显示/浏览 • 项目管理器/选定某个表/单击“浏览”按钮
2、命令 –BROWSE
– LIST / DISPLAY – BROWSE FIELDS 书号,书名,作者 for ...
通常所说的表格
一行为一个记录(Record)
一列为一个字段(Field)
二维表简称表(Table)特征:
(1)若干记录 (2)若干个字段,每记录具有相同结构的字段 (3)不同类型的字段来存储不同类型的数据 (4)字段的顺序与存储的数据无关 (5)记录在的顺序与存储的数据无关。
表的两要素: •表结构(列) •相应记录(行)
646。
(11)逻辑型(Logical)
–.T.或.Y. 为逻辑真 –.F.或.N. 为逻辑假 –长度固定为1字节
(12)字符型(二进)((Character要系统代码页维护的字 符数据
–其他字段特性同字符型字段 –密码(各国)
(13)备注型(二进制)((Memo(Binary))
NULL 否 否 否 否 可 否 否 可 可
表的打开
VFP在使用一个表前必须把表打开 • 打开命令
– USE <文件名>
VFP在结束使用一个表时,必须把表关闭 • 关闭命令
– USE – CLOSE ALL – CLOSE DATABASE/TABLE
修改表结构
1、表设计器
项目管理器/选定表/修改
表结构
表的字段
• 表是由记录组成 • 记录又由字段组成
• 字段的属性(表结构)
–字段名 –字段类型 –字段宽度 –小数位数
1.字段名
• 约定:
–只能使用字母、汉字、下划线和数字
–见名知义
– > < = + / \ | [ ] : ? 空格
–字段名必须以字母或汉字开头,并且长度不能超过 128个字符
4.小数位数
– 有小数的字段:
• 数值型 • 浮点型 • 双精度型
– 字段宽度 = 整数部分宽度 + 小数点1位 + 小数位宽度
– 如小数位数不为0,则小数位数至少要比整 个字段宽度小2
小数位数
• 一个N形变量宽为6,小数位数为3,则这 个变量最大可表示的数为多少?
•__ .___ • 99.999
指针,指向该字段的实际内容 –其内容存储在扩展名为.FPT的文件中。 –OLE对象包括电子表格、字处理文档、图像或其他
多媒体对象等 –OLE对象可以用链接方式存储在表中。 –存储数据的大小,取决于相的OLE服务程序,和磁
盘空间大小的限制。
(10)整型(Integer)
–整型用于存储整数数据 –字段宽度固定为4个字节。 –取值范围从-2 147 483 647 到2 147 483
–最多保留4位小数位数,多则四舍五入至4位
–内存变量用$数值来赋初值
• 如:x=$999 • ? Type(‘x’)
zpz:
内存变量N
(3)数值型(Numeric)
–数值型字段用来存储数值数据。
–它可以包含数字0~9,也可以带正、负号或 小数点
–如:1234
100.89
(4)浮点型(Float)
–浮点型字段在功能上等价于数值型字段。
2、命令
– USE books – MODIFY STRUCTURE
修改表结构
2、命令
– ALTER TABLE-SQL命令 • 添加字段:ADD [ COLUMN ] 子句 例: ALTER TABLE books ADD COLUMN 折扣 n(4,2) • 重命名字段:RENAME COLUMN 子句 例: ALTER TABLE books RENAME COLUMN 折扣 TO zk • 删除字段:DROP [ COLUMN ] 子句 例: ALTER TABLE books DROP COLUMN zk
– create table js(xm c(8),xb c(2),gl n(2,0),csrq d,jbgz n(7,2),jl m)
3、使用Null值 – 表设计器/字段 – create table 中NULL,NOT NULL子句
例: create table books(sh c(6) not null,sm c(40) not
–备注型(二进制)用于存储不需要系统代码页维护的备 注字段数据。其他字段特性同备注型字段。
数据类型(结)
• 数据类型(Type)13种
C-字符型 D-日期型 M-备注型
N-数值形 I- 整 型 G-通用型
F-浮点型 L-逻辑型
Y货币型
3.字段宽度
• 规定宽度
–字符型字段
254
–货币型字段
8
–数值型字段
20
–日期型字段
8
–备注型
4
–逻辑型
1
–日期时间型
8
–通用型字段
4
• 用于存储一个4个字节的指针,指向该字段的实际内容。 整型字段宽度固定为4个字节。
•宽度(Width) (结)
(以下类型宽度固定)
• 货币型、日期型、日期时间型、双精度型:8字节 • 整型、备注型、备注型(二进制)、通用型:4字节 • 逻辑型:1字节
–通常用于存储键盘输入的文本数据。