VFP基础教程-数据库的创建和使用
第3章 VFP数据库基本操作
2. 修改数据表结构
(1) 修改已有字段的字段名、类型、宽度等。 (2) 增加新字段 将鼠标移动到原有字段后,单击“插入”按钮, 然后添加字段的字段名、类型、宽度等信息。 (3) 删除原字段 若要删除某个字段,先把鼠标定位在要删除的字 段上,然后单击“删除”按钮。 (4) 变动字段位置
设计表结构的说明:
创建一个VFP数据库的方法:先创建一个新 数据库,再向其中加入要处理的表格并定义 表间关系。 我们可以在项目管理器中创建库,也可以创 建一个独立于项目之外的数据库。
1. 通过菜单方式创建数据库:
主选单“文件”——“新建”,选“数据库”, 按“新建文件”,在弹出的对话框中输入文件名, 保存即可。 也可以在项目管理器的“数据”选项卡中新建数 据库。
3.3.5 删除和恢复记录
1. 逻辑删除记录
方法一:菜单方式 方法二:命令方式 格式:DELETE [<范围>] [FOR <条件表达式 > ] [WHILE <条件>] 功能:逻辑删除满足条件的记录。
2. 恢复逻辑删除记录
恢复逻辑删除是将被逻辑删除的记录恢复为正常 记录,即去掉删除标志。 方法一:菜单方式 方法二:命令方式 格式:RECALL [<范围>][FOR <逻辑表达式>] [WHILE <逻辑表达式>] 功能:将当前数据表中指定范围内满主条件的已 被逻辑删除的记录恢复,使之成为正常记录。
3.3.2 浏览和显示记录
1. 用菜单方式浏览 VFP提供了两种显示方式:编辑、浏览 浏览是默认的显示方式,—“编辑”
2.命令方式浏览记录
格式:LIST|DISPLAY [<范围>] [FIELDS<字 段名列表>] [FOR<条件>] [TO PRINTER] [OFF] [TO FILE<文件名>] 功能:显示当前表中的记录内容。
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个字节
VF数据库及其操作
3.3.4 添加记录 1.在表尾追加记录 (1)菜单方式:浏览表-显示-追加方式、浏览表-表-追加新记录 (2)命令方式:APPEND [BLANK] 2.插入记录:INSERT [BEFORE][BLANK] 3.从其它文件中追加记录 (1)菜单方式:浏览表-表-追加记录-追加来源 (2)命令方式:APPEND FROM<源数据表>[FIELDS<字段名列表>]
3.5 创建数据库 3.5.1 数据库的创建 1.项目方式:数据-数据库-新建-新建文件-文件名-保存. 2.菜单方式:文件-新建-数据库-新建文件-文件名-保存. 3.命令方式:CREATE DATABASE[<数据库文件名>]
3.5.2 数据库的基本操作 1.打开数据库 (1)项目方式:双击数据库/选中据库-修改. (2)菜单方式:文件-打开-数据库文件. (3)命令方式:OPEN DATABASE [<数据库文件名>] 2.关闭数据库 (1)项目方式:选中数据库-关闭. (2)命令方式:CLOSE DATABASE [ALL] 3.删除数据库 (1)项目方式:选中数据库-移去-删除/移去. (2)命令方式:DELETE DATABASE<数据库文件>[DELETETABLES]
主文件名与表同名,扩展名为.FPT的备注文件. 5.备注文件不可随意删除.
3.3 数据表的基本操作与维护 3.3.1 数据表的打开与浏览 1.数据表的打开 (1)菜单方式:文件-打开-表-确定 (2)命令方式:USE [<表文件名>][EXCLUSIVE][SHARED] 2.表结构的浏览 (1)菜单方式:打开表-显示-表设计器 (2)命令方式:LIST|DISPLAY STRUCTURE 总计总宽度比各字段的宽度之和多1,用于存储逻辑删除.
VFP基础教程-数据库的创建和使用
4.1 VFP数据库1. 数据库的基本组成数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。
视图(view):一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。
存储过程(stored procedure):是保存在数据库中的一个过程。
该过程能包含一个用户自定义函数中的任何命令和函数。
创建数据库时系统自动生成3个文件:数据库文件: 扩展名为.DBC数据库备注文件: 扩展名为.DCT数据库索引文件: 扩展名为.DCX2. 数据库的设计过程1)明确建立数据库的目的和使用方式2)设计所需的数据表(包括表结构和表记录)3)建立表之间的关系4)改进设计4.2 数据库的创建1. 数据库的创建过程数据库的创建过程中一般会涉及下面一些常用操作:1)创建新表→用表设计器(设置字段属性和表属性)2)添加表→用数据库设计器按钮或数据库菜单3)创建视图→用视图向导、视图设计器4)建立关系→用鼠标将父表的索引拖到子表的相关索引上5)编辑关系→用数据库菜单或快捷菜单→参照完整性生成器6)移去关系→用快捷菜单或按delete键7)修改表→用表设计器8)删除表或视图→用数据库设计器按钮或数据库菜单2. 数据库的新建、打开、关闭(1)新建数据库:从文件菜单中单击新建→在新建对话框中选择数据库并单击新文件→在创建对话框中给出库文件名和保存位置→在数据库设计器中建立所需的数据库。
或从命令窗口中输入命令:create database 数据库名(2)打开数据库:从文件菜单中单击打开→在打开对话框中给出库文件名和保存位置并确定之。
或从命令窗口中输入命令:open database 数据库名(3)关闭数据库:从命令窗口中输入命令:close database&& 关闭当前数据库或close all&& 关闭所有被打开的数据库注意:1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。
vfp数据库与表的创建及使用
2021/8/18
第3章 数据库与表的创建及使用
22
3.2.2 数据库的打开与关闭
方法一:
所有打开的数据库
方法二: SET DATABASE TO sjk
当前数据库
2021/8/18
第3章 数据库与表的创建及使用
23
3.2.2 数据库的打开与关闭
2、检查数据库的有效性
▪ 如果用户移动了数据库文件与数据库关联的表文 件,则这些文件的相对路径会改变,从而可能破 坏用于关联数据库和表的双向链接。链接破坏后, 可通过重建链接来更新相对路径信息,以反映文 件的新位置。
2、字段的数据类型:说明字段是什么类型的数据。
▪ 不同数据类型的表示和运算的方法不一样。
2021/8/18
第3章 数据库与表的创建及使用
30
3.3.1 表结构概述
数据类型
字母 表示
说明
示例
字符型 (Character)
C 字母、汉字符号和数字型文本
XH、XM
货币型 (Currency)
Y 货币单位
▪ 使用“项目管理器” ▪ 使用“文件”菜单中的“新建”命令 ▪ 使用CREATE DATABASE命令
2021/8/18
第3章 数据库与表的创建及使用
19
3.2.2 数据库的打开与关闭
1、打开数据库
▪ 数据库的打开有多种方式
➢新建的数据库,保存后自动以独占方式打开
➢打开数据库中的表,系统会自动打开相应的数据库
➢在项目管理器中选择一个数据库,并单击“修改” 按钮,可打开该数据库,并出现数据库设计器窗口。
只读方式打开 ➢可以使用命令打开
打开方式:独占/共享
OPEN DATABASE [DatabaseName] [EXCLUSIVE|SHARED]
VFP第四章 数据库的创建和使用
4、关闭数据库 从“项目管理器”窗口中,选定要关闭
的数据库并选择“关闭”按钮。
使用命令 CLOSE DATABASE:关闭当前数据库 CLOSE DATABASE ALL:关闭所有数据库 CLOSE ALL:关闭所有数据库、表、索引
5、删除数据库 删除数据库意味着将删除存储在该数据库中的一切信息。如:存储过
使用项目管理器创建数据表
使用数据库设计器创建数据表
表设计器
• 通过命令创建
• 当有数据库打开时,利用CREATE TABLE-SQL命令创建的
表,如果不使用FREE关键字,则该表是属于当前数据库
的数据库表。 •
当前数据库jxsj中 的表
数据库表的扩展属 性
•
OPEN DATABASE jxsj
当输入的“数据库名” 的数据库已经存在时,显 示“操作提示”对话框, 单击“是(Y)”按钮, 改写原有的数据库。
若将系统环境参数 SAFETY的值设置为OFF ,系统就不会提示用户确 认,直接改写原有的数据 库。
4.2.2 VFP数据库的组成
➢ 数据库表 ➢ 视图 ➢ 连接 ➢ 存储过程
1、数据库表 数据库表与数据库之间的相关性是通 过它们之间的双向链接实现的。
第四章 数据库的创建和使用
4.1 数据库概述
• 数据库是一个容器,是许多相关的数据库表及其 关系的集合。
• 例如,一个教学管理信息系统中将涉及到教师、 课程、任课、学生、成绩、系以及专业等实体, 可分别用二维表来表示(如图所示)。
• 数据库中的表并不是彼此独立的,借助于一个公 共的字段可以将两张表联系起来,这就建立了一 种“关系”。
•
CREATE TABLE xsb NAME 学生表之二 (xh
vfp第三章Visual FoxPro数据库及其操作
默认值
默认值
添加新记录时,为字段指定的最初的值 默认值必须是一个与字段类型相同的表达式
– “字符”、数值、.逻辑.、{月/日/年}
3.4.3用命令建立索引
INDEX ON eExpression TO IDXFileName |TAG TagName [ OF CDXFileName] [FOR lExpression ] [COMPACT] [ASCENDING | DESCENDING] [UNIQUE|CANDIDATE] [ADDITIVE]
sjk数据库中表和表之间关系示意图
数据库文件并不在物理上包含任何附属对象(表或字段 等),在数据库文件中仅存储了指向表文件的路径指针
3.1.2建立数据库
CREATE DATABASE [DatabaseName|?]
例: 新建数据 库abc
3.1.3使用数据库
OPEN DATABASE [FileName|?] SET DATABASE TO [DatabaseName]
在订货管理数据库中,新建仓库(仓库号 C(5),城市 C(10),面积 I(4))
3.2.2修改表结构
打开表:USE tablename 修改表结构:MODIFY STRUCTURE
字段的标题和注释
标题(Caption)
所设置的标题作为字段列标题 先选择相应的字段再设置 不需要字符定界符
DELETETABLES 删库表 RECYLE 放入回收站 Set safety on 时,VFP会提示是否要删除数据库, 否则不出现提示直接删除。
VFP第三章数据库的创建和使用
3.4 使用数据字典
数据字典是包含数据库中所有表信息的 一个表。每个数据库带有一个数据库字 典。 在数据库中的表可以享受到数据字典的 各种功能。 使用数据字典,可以创建字段级规则和 记录级规则,保证主关键字字段内容的 唯一性。
数据字典可以创建和指定以下内容:
主关键字和候选索引关键字; 表单中使用的默认控件类; 数据库表之间的永久性关系; 字段的输入掩码和显示格式; 长表名和表中的长字段名; 字段级和记录级有效性规则; 表中字段的标题和注释; 存储过程; 表中字段的默认值; 插入、更新和删除事件的触发器。
所有打开的自由表。 所有工作区内所有索引和格式文件。
3.9 查看或修改数据库的属性
3.9.1 DBGETPROP()函数
作用:返回当前数据库或者当前数据库中字 段、表或视图的属性。
语法:
DBGETPROP(cName, cType, cProperty)
参数:
cName——指定数据库、字段、表或视图的
发生记录更新时。
移动记录时。
在 INSERT、UPDATA 或 DELETE 事 件中,表中值改变时。
3.7 相关表之间的参照完整性
3.7.1 参照完整性概念
参照完整性(RI)是用来控制数据库相关 表之间的主关键字和外部关键字之间数 据一致性的规则。-属于表间规则。 参照完整性是建立在库表之间永久性关 系基础之上的规则。 子表的孤立记录:
3.6 库表的表属性
长表名 记录的有效性规则 表的触发器 标题 注释
长表名的命名
命名规则
– 第一字符必须是字母、下划线或汉字
表长度规定
– 自由表----------最长10个字符 – 数据库表-------最长128个字符
VFP 第三章 数据库的创建和使用
临时关系与永久关系的区别:临时关系是用来临时地控制相关表之间记录的访问;而永久关系主要是用来存储相关表之间的参照完整性。
附带地可以作为默认的临时关系或查询中默认的联接条件。
临时关系在表打开之后使用 SET RELATION 命令创建,随表的关闭而解除;永久关系永久地保存在数据库中而不必在每次使用表时重新创建。
临时关系可以在自由表之间、库表之间或自由表与库表之间建立;而永久关系只能建立在库表之间。
临时关系与永久关系的联系:无论建立临时关系还是永久关系,都必须明确建立关系的两个表之间确实在客观上存在着一种关系(一对多或一对一关系)。
永久关系在许多场合可以用来作为默认的临时关系。
3.10.2 建立表之间的临时关系建立临时关系要明确几个要素:主表、子表、子表的主控索引以及关系表达式。
临时关系:主表的记录——>子表的主控索引建立临时关系的方法: 1、在“数据工作期”窗口中建立 2、使用 SET RELATION 命令建立: SET RELATION TO 关系表达式 INTO 区号|别名
3.10.3 解除表之间的临时关系一. 在“数据工作期”窗口中解除二. 使用命令解除选择主表工作区,使用如下命令解除临时关系: SELECT XS SET RELATION TO 或者 SET RELATION OFF 三. 在关闭主表或子表时,临时关系也即自动解除。
第三章、VFP数据库及其操作
3.5.3
参照完整性与表之间的关联
1、 “参照完整性” 的概念
参照完整性是用于控制数据库表之间的主关键字和外部关 键字之间数据一致性的规则。 1)子表中的每一个记录在对应的主表中必须只有一个父记 录; 2)在主表中修改了主关键字的值,子表中的外部关键字的 值必须同时被修改; 3)在主表中删除记录时,子表中与该记录相关的所有记录 也将被删除。
15.6.4 4
3.1.5 删除数据库
1、从项目管理器删除数据库 2、删除数据库命令
格式:Delete Database <数据库文件名> | ? [Deletetables] [Recycle] 说明: • Deletetables:删除数据库文件的同时删除该数据库所包含的 所有数据库表(.dbf)。若省略该可选项,仅删除指定数据库, 数据库表成为自由表。 • Recycle:将数据库文件和数据表文件放入回收站,以便需 要时还原它们。
15.6.4
17
3.4.2
在表设计器中建立索引
“字段”选项卡 :建立单字段的普通索引 。 “索引”选项卡 :指定索引名、类型、索引顺序(升序或降 序),建立索引表达式。
3.4.3 使用索引命令建立索引 格式:Index On <索引表达式> To <索引文件名>
[Ascending | Descending] [Unique | Candidate] [Additive] 1、Ascending | Descending:指定按索引表达式的升序或降序 索引 ,默认升序。 2、Unique | Candidate:建立唯一索引或候选索引。 3、Additive:省略该可选项,指关闭以前的索引。
15.6.4
数据库的创建和使用
发器 除了以上这些表的功能扩展,使用数据库还能访问与远 程数据源的连接,并可创建本地表和远程表的视图。
表 之 间 的 关 系(3)
3. 一对一关系 一对一关系是这样一种关系:甲表的一个记录在 乙表中只能对应一个记录,而乙表中的一个记录在甲 表中也只能有一个记录与之对应。这种关系不经常使 用。因为在许多情况下,两个表的信息可以简单地合 并成一个表。出于一些原因(如字段项太多),不能 合并的,可以建立一对一关系,只要把一个主关键字 同时放到两个表中,并以此建立一对一关系。
表 之 间 的 关 系(2)
2. 多对多关系 遇到“多对多”的情况时,必须建立第三个表, 把多对多的关系分解成两个一对多关系。这第三个 表就称作“纽带表”(Junction Table)。 因为它在 两表之间起着纽带的作用。可以把两个表的主关键 字都放在这个纽带表中。 对于纽带表,除了包含两个外部关键字:即来 自于学生表的主关键字Xh(学号)和课程表的主关 键字Kcdh(课程代号)外,还可以有其他字段,如 Cj(成绩)字段。但允许没有单个字段的主关键字, 主关键字可以由两个外部关键字组成。
字段验证规则
字段验证规则(ruleexpression) 字段验证信息(ruleexpressiontext) 字段默认值(defaultvalue) 命令方法实现字段验证规则
在数据库中查看字段的扩展属性
在使用命令create table-sql创建表文件 时,可以利用check子句、error子句和 default子句设置字段的有效性规则、有效性 信息和默认值;在使用alter table-sql命令修 改表的结构时,可以通过set check子句、set default子句设置字段的有效性规则、有效性 信息和默认值。删除字段的有效性规则时, 可以利用带drop check子句的alter table-sql 命令;删除字段的默认值时,可以利用带 drop default 子句的alter table-sql命令。
vfp数据库的创建和使用
§4.10 查看和设置数据库的属性
一、DBGETPROP()函数
返回当前库的属性或当前库中表、字段的属性
语法:DBGETPROP(cName,cType,cProperty)
例:获取CJ表中CJ字段的显示标题: ? DBGETPROP(“cj.cj”, “field”, “Caption”) 例:获取XS表中XB字段的默认值: ? DBGETPROP(“xs.xb”, “field”, “default”)
ADD TABLE 自由表文件名 CREA TABLE REMOVE TABLE 表名 [DELETE]
四、数据库的打开和关闭
Open data 数据库名 Close database Close all &&关闭项目管理器及数据库
五、数据库与库表之间的双向链接
前链 数据库表 后链 表数据库
2、默认值:
例如:仅招收来自“乌鲁木齐”的学生。
3、字段级规则
用于控制或检查用户输入到字段中的信息。 例如:性别只能是“男”或“女”。
§ 4.6 数据库表的表属性
一、长表名
库表的最大长度为128个字符。
二、表记录的验证规则
通常是比较同一记录中两个以上字段的值。
例:如何设置JS表中不允许招收18周岁以下的职工?
&&返回当前打开的数据库的文件名
DBUSED()
&&测试指定的数据库文件是否
已经打开,返回值为.t.或.f.
3、使用数据库中的表
格式: USE 库名!表名 例: use sjk!xs
练习(03秋)
1. 为xs表设置删除触发器:只有学号开头两 位是“00” 的记录允许删除,否则不允许删除。
计算机vfp教程第5章 数据库及其操作
5.5.3 视图与数据更新
为了能够通过视图更新源数据表中的 数据,需要在“视图设计器”下部窗格的 “更新条件”选项卡中,选中左下角的 “发送SQL更新”复选框。
在“更新条件”选项卡中的操作包括: (1)指定可更新的表 (2)指定可更新的字段 (3)设置“SQL WHERE子句包括”框 (4)设置“使用更新”框
5.3 表间关系与参照完整性
5.3.1 建立关系前的准备
数据库表之间的永久关系可分为两种: 一对一关系和一对多关系。在创建永久关 系之前,要建立关系的两个表需要有一些 公共字段以及依据这些字段建立的有关索 引。
Visual FoxPro规定:如果要建立一对 一的关系,发出关联的主表和被关联的子 表的相同字段都必须建立主索引或者候选 索引;如果要建立一对多的关系,则发出 关联的主表(一方)必须建立主索引或者 候选索引,而被关联的子表(多方)必须 建立普通索引或者唯一索引。
1.在数据库中建立新表
在数据库打开的情况下,用各种方式新建 的数据表均将自动成为当前数据库中的数 据表。
2.向数据库中添加表
(1)用命令方式向数据库中添加表 (2)用菜单方式向数据库中添加表
3.从数据库中移去表
(1)用命令方式从数据库中移去表 (2)用菜单界面方式从数据库中移去表
5.2 数据库表的设置
第5章 数据库及其操作
5.1
数据库的创建与维护 数据库表的设置
5.2
5.3
表间关系与参照完整性
查询的建立与运行
5.4
5.5
视图的建立与维护
5.1 数据库的创建与维护
5.1.1 数据库的创建
1.菜单方式创建数据库
执行“文件/新建/数据库/新建文件”菜单命令。
chap04 数据库的创建和使用
控制表间数据的一致性,尤其是不同表的主关键字和 外部关键字之间数据的一致性。
如何编辑参照完整性:
右击表之间的纽带连线; 选择“编辑参照完整性”命令,系统提示要求“清理
数据库” ; “数据库”菜单→“清理数据库”命令 ; 重新选择“编辑参照完整性”命令,打开“编辑参照
完整性”对话框。
标题:控制字段输出时显示的字段名称。
9
数据库表的字段扩展属性
字段验证规则
一种与字段相关的有效性规则,主要控制某个 字段输入数据是否合理合法。
规则:输入有效数据的表达式 信息:输入数据返回规则或者输入数据不合法时的
提示信息,必须要加双引号
默认值:系统给某个字段输入的一个初始值, 如果是字符数据也必须加双引号。
19
参照完整性规则
更新规则(主表记录被修改时触发):
级联:子表同步更新 限制:禁止主表更新,不允许主表更新 忽略:允许主表更新,子表保持不变
删除规则(主表记录被删除时触发) :
级联:子表同步删除
主表物理删除,子表逻辑删除;主表逻辑删除,子表逻辑 删除
限制:禁止主表删除,不允许主表删除 忽略:允许主表删除,子表保持原样
通过“新建”对话框新建:
保存后,自动打开数据库设计器,但数据库没有包含在项目 中,而是需要用户自己把新建的数据库添加到项目管理器中。
命令方式:
命令窗口:create database 数据库名
5
数据库的使用
打开数据库:open database 数据库名 设置当前数据库:set database to 数据库名 关闭数据库:
一对多关系:表之间的一种关系,在这种关系中,主 表中的每一个记录与相关表中的多个记录相关联(每 一个主关键字值在相关表中可出现多次)。
VFP(四章)数据库基本操作
第四章数据库的基本操作要点:表的创建(结构与记录)、显示、追加、修改与删除等操作。
1.数据库与表的概念1)表:文件名.DBF,由行(记录)和列(字段)组成的二维表。
分为:自由表:单独使用,字段名最大值:10数据库表:包含在数据库中,字段名最大值:1282)数据库:文件名.DBC(DataBase Container),提供一种数据环境(容器),包括系统中若干相关联的表、视图、表之间关系及存储过程等。
2.表的基本操作1)建立表结构常用三种方式(自由表):(1)菜单:文件/新建/表/新建文件/取名/保存(2)项目管理器:数据/自由表/新建/新建表/取名/保存(3)命令窗口:CREA TE <表文件名>说明:(1)以上命令进入.DBF文件的表设计器(演示):(2)键盘输入字段名,鼠标选择类型和宽度,NULL为空值,不是空格和0。
(3)击“确定”或^W存盘。
(4)换行用鼠标,不用回车。
(5)数据库表比以上自由表的设计器多内容。
2)录入记录方法1:新建结构存盘后问“现在录入数据记录吗?”,“是”方法2:USE <表文件名>APPEND记录录入窗口(演示):说明:(1)录完一个字段值和一条记录击回车继续。
(2)插入点在memo处,^PageDn(或双击)进入.FRT录入大段文本字符,“×”退回.DBF。
(3)每录入一条记录,系统会自动产生下一个记录号。
(4)录入完所有记录^W存盘。
3)表的显示和修改(1)表的打开命令:USE <表文件名> [SHARED][ EXCLUSIVE]菜单:文件/打开/表/选文件名/确定说明:(1)对表进行任何操作之前须打开(调入内存)(2)打开第二个表,先打开的自动关闭。
(3)[SHARED]为多用户共享打开,不能修改结构、删除记录,[ EXCLUSIVE]为独占,可修改。
(4)USE 回车关闭表。
(2)表结构显示命令:LIST/DIPLAY STRUCTURE [TO PRINT]说明:(1)[TO PRINT]缺省,只在屏幕显示(2)总字节数比各字段字节之和多1(存放删除标记)。
VFP第3章 数据库与表的创建及使用
3.3 表的创建与使用
3.3.1 表.3.3 字段属性与表属性 3.3.4 表的打开与关闭 3.3.5 记录的处理 3.3.6 索引的创建与使用
3.3.7 自由表
3.3.8 利用命令创建和修改表结构
表的概念(一)
VFP中,表分为两种类型:
数据库表 和 自由表 VFP中的表(Table)是指存放在磁盘文件中 的一张二维表。 一张表保存为一个表文件(.DBF)。
举例
指出下面表中的超关键字: 姓名 赵阳 林虎 赵阳 年龄 20岁 21岁 21岁 院系 仪表 仪表 信息管理 班级 984 984 976
候选关键字
如果一个超关键字,去掉其中任何一个字段 后不再能唯一确定记录,则称它为‚候选关键字‛ (candidate key)。 候选关键字既能唯一确定一条记录,它包含的字 段又是最精练的。 一个二维表中总存在超关键字,因而也必存在候 选关键字。
存储过程
存储过程是保存在数据库中的过程代码,它由一 系列函数组成。 利用存储过程可以提高数据库的性能。 存储过程保存在.dbc文件中。
3.1.3 数据字典
数据字典是指存储在数据库中用于描述所管理 的表和对象的数据,即关于数据的数据。这些数 据称为元数据。
每个数据库带有一个数据字典,其数据存储在 数据库文件中。 数据字典扩展了对数据的描述,从而增强了数 据管理和控制功能。 数据库中的表可以享受到数据字典的各种功能。 数据字典使得对数据库的设计和修改更加灵活。
表与数据库之间的双向链接
数据库文件 前链 前链 前链 前链
后 表文件 链
后 表文件 链
后 表文件 链
后 表文件 链
视图
视图是一张‚虚表‛,其数据来源于一张或多张 表。
最新VFP第3章数据库与表的创建及使用
[EXCLUSIVE|SHARED][NOUPDATE][VALIDATE]
打开多个数据库可重复进行数据库打开操作即可,系 统默认最后一个打开的数据库为当前数据库。
根据需要可用SET DATABASE TO命令将另一个被打 开的数据库设为当前数据库或在“常用”工具栏“数
据库”下拉列表中选择一个已打开的数据库作为当前
FILE FileName]
【注】 ①RECOVER用于说明更新链接,缺省时仅检查数据库的有效性 ②TO FILE用于说明检查结果信息的去向,缺省时在VFP主窗口 显示; ③VALIDATE DATABASE命令只能处理以独占方式打开的当前 数据库。
2020/10/24
9
3.关闭数据库
在项目管理器中选择要关闭的数据库后单击“关 闭”按钮;
主题,每个主题都将是数据库中的一个表。 确定所需字段,也就是将在表中保存的信息。 确定表之间的关系,形象而又直观地反映现实世
界中各实体间的真正关系。 改进设计、优化设计。
数据库的逻辑设计
2020/10/24
3
3.1 数据库概述
3.1.2 数据库的组成
1. 表(Table) 属于某一数据库的表称为“数据库表”。与自由
数据库设计器与“数据库”菜单
2020/10/24
7
3.2.2 数据库的打开与关闭
1. 打开数据库 →使用数据库前必须打开数据库
新建的数据库,保存后自动以独占方式打开;
打开数据库中的表,系统会自动打开相应的数据库;
在项目管理器中选择一个数据库并单击“修改”按钮 ;
OPEN DATABASE [DatabaseName]
VFP第3章数据库与表的创建及 使用
本章要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 VFP数据库1. 数据库的基本组成数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。
视图(view):一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。
存储过程(stored procedure):是保存在数据库中的一个过程。
该过程能包含一个用户自定义函数中的任何命令和函数。
创建数据库时系统自动生成3个文件:数据库文件: 扩展名为.DBC数据库备注文件: 扩展名为.DCT数据库索引文件: 扩展名为.DCX2. 数据库的设计过程1)明确建立数据库的目的和使用方式2)设计所需的数据表(包括表结构和表记录)3)建立表之间的关系4)改进设计4.2 数据库的创建1. 数据库的创建过程数据库的创建过程中一般会涉及下面一些常用操作:1)创建新表→用表设计器(设置字段属性和表属性)2)添加表→用数据库设计器按钮或数据库菜单3)创建视图→用视图向导、视图设计器4)建立关系→用鼠标将父表的索引拖到子表的相关索引上5)编辑关系→用数据库菜单或快捷菜单→参照完整性生成器6)移去关系→用快捷菜单或按delete键7)修改表→用表设计器8)删除表或视图→用数据库设计器按钮或数据库菜单2. 数据库的新建、打开、关闭(1)新建数据库:从文件菜单中单击新建→在新建对话框中选择数据库并单击新文件→在创建对话框中给出库文件名和保存位置→在数据库设计器中建立所需的数据库。
或从命令窗口中输入命令:create database 数据库名(2)打开数据库:从文件菜单中单击打开→在打开对话框中给出库文件名和保存位置并确定之。
或从命令窗口中输入命令:open database 数据库名(3)关闭数据库:从命令窗口中输入命令:close database&& 关闭当前数据库或close all&& 关闭所有被打开的数据库注意:1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。
3. 用数据库设计器设计数据库(1)调出表设计器,建立一个新数据表方法1:从数据库菜单中选择新表。
方法2:右击数据库设计器窗口,从快捷菜单中选择新表。
方法3:单击数据库设计器工具栏的新表按钮。
方法4:从文件菜单中单击新建,在对话框中选择表。
注意:数据库表的表设计器中内容比自由表的多,增加了字段属性和表属性的设置。
设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。
(2)数据库表的高级属性属性类别属性名称作用字段属性字段显示属性格式确定字段内容在被显示时的样式输入掩码指定字段中输入数据的格式(即所输入的任何内容均显示成此符号)标题在浏览表时用此名称代替意义不够直观的字段名字段验证规则规则使所输数据符合设定的条件信息当所输数据违反规则时,系统提示错在哪里默认值减少输入重复性数据时的工作量字段注释使字段具有更好的可读性表属性长表名与表文件名不同,设置了长表名可以一目了然记录验证规则规则使所输记录符合设定的条件信息当所输记录违反规则时,系统提示错在哪里触发器插入触发器当所插记录符合此规则时,才可以插入到表中更新触发器当修改后的记录符合此规则时,才可以进行修改删除触发器当待删记录符合此规则时,才可以被删除掉表注释使表具有更好的可读性字段级规则:一种与字段相关的有效性规则,在插入或修改字段值时被激活,多用于数据输入正确性的检验。
为字段设置验证规则的方法:.在表设计器中选定要建立规则的字段名。
.在“规则”方框旁边选择“…”按钮。
.在表达式生成器中设置有效性表达式,并选择“确定”。
.在“信息”框中,键入用引号括起的错误信息。
.在“默认值”框中,键入合理的初值。
.注意不同类型数据的表示方法。
.选择“确定”记录级规则:一种与记录相关的有效性规则,当插入或修改记录时激活,常用来检验数据输入和正确性。
记录被删除时不使用有效性规则。
记录级规则在字段级规则之后和触发器之前激活,在缓冲更新时工作。
触发器:在一个插入、更新或删除操作之后运行的记录级事件代码。
不同的事件可以对应不同的动作。
它们常用于交叉表的完整性。
(3)在数据库中添加表方法1:从数据库菜单中选择添加表,从打开对话框中选择所需的表并确定之。
方法2:右击数据库设计器窗口,从快捷菜单中选择添加表。
方法3:单击数据库设计器工具栏的添加按钮。
注意:一个数据表在同一时间内只能属于一个数据库,已隶属于其它数据库的表不能直接被添加进来,需先将其移出数据库还原成自由表。
(4)创建并添加视图视图用于显示一个或多个表中的记录,并能够更新源表中的数据,视图只有在数据库中才能存在。
方法1:从数据库菜单中选择新远程视图或新本地视图方法2:右击数据库设计器窗口,从快捷菜单中选择新远程视图或新本地视图方法3:单击数据库设计器工具栏的新远程视图或新本地视图按钮(5) 在数据库中操作表和视图可以利用数据库设计器工具栏很方便地进行下列操作:浏览:在浏览窗口中显示表或视图的内容。
修改:调出表设计器或视图设计器对表或视图进行修改。
移去:使表从数据库中还原成自由表。
对视图移去相当于删除。
删除:从磁盘上彻底删除数据表和视图,并且无法回收。
(6) 在表之间建立永久性关系永久关系:是数据库表之间的一种关系,不仅运行时存在,而且一直保留。
表之间的永久关系是通过索引建立的。
一对多关系:表之间的一种关系,在这种关系中,主表中的每一个记录与相关表中的多个记录相关联(每一个主关键字值在相关表中可出现多次)。
一对一关系:表之间的一种关系,在这种关系中,主表中的每一个记录只与相关表中的一个记录相关联。
创建表间的永久关系:在数据库设计器中,选择想要关联的索引名,然后把它拖到相关表的索引名上,所拖动的父表索引必须是一个主索引或候选索引。
建立好关系后,这种关系在数据库设计器中会显示为一条连接两个表的直线。
注意:需先建立索引然后才能建立关系。
删除表间的永久关系:在数据库设计器中,单击两表间的关系线。
关系线变粗,表明已选择了该关系,按下delet e 键。
编辑关系:单击所需关系线,右击鼠标,从快捷菜单中选择编辑关系,在编辑关系对话框中改选其它相关表索引名或修改参照完整性规则。
参照完整性(RI):控制数据一致性,尤其是不同表的主关键字和外部关键字之间关系的规则。
Visual FoxPro 使用用户自定义的字段级和记录级规则完成参照完成性规则。
(7)在表之间建立临时关系临时关系:是在打开的数据表之间用set relation命令建立的临时关系,或是在数据工作期窗口建立。
建立了临时关系后,子表的指针会随主表记录指针的移动。
表被关闭后,关系自动解除。
临时关系与永久关系的联系与区别:联系:(1)都必须明确建立关系的两张表之间确实在客观上存在着一种关系(一对多或一对一关系)。
(2)永久关系在许多场合可以作为默认的临时关系。
区别:(1)临时关系是用来在打开的两张表之间控制相关表之间记录的访问;而永久关系主要是用来存储相关表之间的参照完整性,附带地可以作为默认的临时关系或查询中默认的联接条件。
(2)临时关系在表打开之后使用set relation命令建立,随表的关闭而解除;永久关系永久地保存在数据库中而不必在每次使用表时重新创建。
(3)临时关系可以在自由表之间、库表之间或自由表与库表之间建立,而永久关系只能在库表之间建立。
(4)临时关系中一张表不能有两张主表(除非这两张主表是通过子表的同一个主控索引建立的临时关系),永久关系则不然。
4. 用命令方式操作数据库常用命令一览表命令格式功能create database库文件名创建新的数据库文件open database库文件名打开指定的库文件close database关闭当前的数据库和数据表close all 关闭所有的数据库和数据表,并把工作区1置为当前工作区,同时还关闭一些窗口modify database修改当前库文件结构delete database 库文件名删除指定的库文件open database 库文件名add table表名在数据库中添加表open database库文件名remove table表名将表从数据库中移去open database库文件名remove table表文件名delete将表从数据库中移去并从盘上删除use库文件名!表名browse“!”表示引用一个不在当前数据库中的表Set relation to关系表达式into区号| 别名建立表之间的临时关系Set relation to 删除表之间的临时关系alter table子表名add foreign key索引关键字tag索引标识references创建永久关系父表名[tag 索引标识]alter table 子表名drop foreign key tag索引标识删除永久关系5.用CREATE TABLE-SQL 命令创建数据库表命令一般格式:Create table表名1 [free] (字段名1字段类型代号[ (字段宽度[,小数位数] ) ][null| not null] [check字段规则1 [error “信息1” ] ] [default 默认值][primary key| unique] [referen ces表名2 [tag索引标识1 ] ][, 字段名2字段类型代号[ (字段宽度[, 小数位数]) ] [null | not null] ][check字段规则2 [error “信息2”] ] [default默认值])| from array数组名使用示例:creat data xscjgl&& 创建学生成绩管理数据库create table xs (;xh c(4) default "1201" primary key,;xm c(6), ;xb c(2) check xb="男" or xb="女" error"性别只能是男或女" default "女",;nl n(2) null;)&& 创建学生表create table kc (;kch c(3) unique, ;kcm c(10),;xf n(3,1),;bxk l;)&& 创建课程表create table cj(;xh c(4) default "1201" reference xs tag xh, ;kch c(8),;ksrq d,;cj n(5,1);)&& 创建成绩表modi dataalter table cj add primary key xh+kch+str(cj,4,1) tag dh&& 为成绩表添加一个主索引6. 查看和设置数据库的属性(1)用dbgetprop()函数查看数据库属性:命令格式:dbgetprop(cName,cType,cProperty)(2)用dbsetprop()函数设置数据库属性:命令格式:dbsetprop(cName,cType,cProperty,ePropertyValue)(3)用dbsetprop() 函数给表中字段添加标题和说明一般格式:dbsetprop('表名.字段名',’field’,’caption|comment’,’标题|说明’)例:dbsetprop(’xs.xh’,’field’,’caption’,’学号’)dbsetprop('cj.xh','field','comment','本表学号应与学生表中的学号对应')7. 数据库表的约束机制约束机制级别激活时机NULL值字段当从浏览中离开字段,或执行INSERT或REPLEASE更改字段值时字段级规则字段当从浏览中离开字段,或执行INSERT或REPLEASE更改字段值时主索引/候选索引记录发生记录更新时记录级规则记录发生记录更新时触发器表在INSERT、UPDATE或DELETE事件中,表中值改变时VALID子句表单移出记录时如有侵权请联系告知删除,感谢你们的配合!如有侵权请联系告知删除,感谢你们的配合!。