VFP 第三章 数据库的创建和使用

合集下载

第3章 数据库的基本操作(1)

第3章 数据库的基本操作(1)

■若在文件名前指定了驱动器标识符,则文件建立在指定的 驱动器上,否则建立在当前驱动器上。 ■不指定文件扩展名时,缺省扩展名为.DBF。 ■若磁盘上存在这个文件或文件重名,系统显示一个警告对 话框,提示是否要改写表。如果需要改写,则选择【是】, 否则选择【否】。 ■不要用A-J单个字母作为表文件名,因为它们是专门用于工 作区别名的。
记录的总字节数=各个字段的宽度+ 1
LIST STRU和DISP STRU命令的区别:
DISP STRU:在每显示一屏信息后暂停,等待用户按任 意一键后继续显示; LIST STRU:显示信息时没有周期性暂停,而是连续 向下显示,直到显示完毕。
二. 显示表中的记录
格式:LIST ︱ DISPLAY
• 逻辑型字段:只允许输入下列字母中的一个: y, Y, t, T, n, N, f, F
• 日期型字段:mm-dd-yy mm取值范围01~12 dd取值范围01~31
• 备注型字段的输入:
Ctrl+PgDn: 弹出字段编辑窗口
Ctrl+W: 保存该字段内容到备注文件中。 输入数据后,该字段栏显示为Memo
指针定位就是将记录指针移到指定的记录上,记录指针指向的记 录称为当前记录。VFP提供了绝对定位和相对定位两类命令。
(1)记录指针的绝对定位
格式: GOTO [RECORD <数值表达式> ]∣TOP∣BOTTOM 功能:将记录指针直接定位到指定的记录上。
钮,所改变的设置仅在本次系统运行期间有效,退出系统 后,所做的修改将丢失。
二. 建立表前的准备
在建立表结构以前,首先应该根据用户的需求,明确所要创建 的表中应该包含哪些字段,每个字段的名称、类型和宽度。

VFP第3章数据库与表的创建及使用PPT课件

VFP第3章数据库与表的创建及使用PPT课件
◦ 在数据工作期中关闭
命令方式
◦ USE [IN 别名|工作区]
关闭所有的表
◦ CLOSE TABLES ALL ◦ CLOSE DATABASE ALL ◦ CLOSE ALL
【注】在退出Visual FoxPro系统时,所有的表都将 被关闭。
2021/2/10
23
5. 表的独占与共享
设置独占与共享打开表的默认状态 ①工具→选项→数据 ②SET EXCLUSIVE ON→默认“共享”打开 SET EXCLUSIVE OFF→默认“独占”打开
在VFP中,表使用前必须打开。表的打开可以是 显式打开,也可以是隐式打开。
显示打开 用菜单等界面操作方法或USE命令直接 打开表
隐式打开 指在执行某些操作时系统会自动打开 相应的表。如在项目管理器窗口中选择一个表后 单击“修改”或“浏览”按钮时,会自动打开表 ;在执行SELECT-SQL语句进行查询时,也会自 动打开数据源表等。
常删除,这样才能删除数据库中所包含的表的链接信 息,数据库表将自动变成自由表。否则,只能用命令 FREE TABLE 强行解除数据库与表间的链接,将表变 成自由表。
2021/2/10
12
VFP中的表(Table)是指存放在磁盘文件中的一张 二维表,通常用来描述一个实体。
表中的一列称为字段(Field),字段规定了数据的特 征。
新建的数据库,保存后自动以独占方式打开;
打开数据库中的表,系统会自动打开相应的数据库;
在项目管理器中选择一个数据库并单击“修改”按钮 ;
OPEN DATABASE [DatabaseName] [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE]
打开多个数据库可重复进行数据库打开操作即可,系 统默认最后一个打开的数据库为当前数据库。

VFP基础教程-数据库的创建和使用

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数据库与表的创建及使用

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]

VF第三章:数据库操作

VF第三章:数据库操作
replace all 性别 with “男”for 性别=“女”
5.
显示记录命令:
LIST \DISPLAY [ [FIELDS] fieldlist] [FOR lExpressionl] [OFF] [ TO PRINTER [PROMPT]] TO FILE filename] 其中参数:
第三章:visual Foxpro数据库及其操作
三、修改数据库
在VFP中一般用数据库设计器修改数据库,数据库设计器可 以用如下的几种方式打开.
1.在项目管理器中打开
2.在打开对话框中打开数据库
3.使用命令打开 MODIFY DATABASE [ databasename |? ]
[NOWAIT] [NOEDIT]
4、项目管理器的使用 A、建立文件 “新建”按钮 B、添加文件 “添加”按钮 C、修改文件 “修改”按钮 D、移去文件 “移去”按钮 E、删除文件 “移去”按钮 F、其他按钮 “浏览”、“打开”、“关闭”、“预览”、“运行”、 “连编”
5、定制项目管理器 A、移动、缩放、折叠、拆分项目管理器 移动:鼠标操作 缩放:鼠标操作 折叠: 、 按钮 拆分: 图钉图标按钮 B、停放“项目管理器”窗口 将项目管理器拖到Visual FoxPro主窗口的顶部 就可以使象其他工具栏一样显示在主窗口的顶部。 注意:创建项目可以使用命令 格式:CREATE PROJECT
3. 使用命令打开数据库
OPEN DATABASE [filename | ?] [EXCLUSIVE |SHARED] [NOUPDATE] [VALIDATE ] 参数说明:EXCLUSIVE以独占方式打开,SHARED以 共享方式打开。NOUPDATE以只读方式打开,VALIDATE检 查数据库中引用的对象是否合法。 4.设置当前数据库:SET DATABASE TO [databasename]

第3章VFP数据库及其操作2

第3章VFP数据库及其操作2

修改数据库
前两种方式打开同时,自动进入修改状态(数据库设计器)。 命令方式打开数据库设计器方法是: Modify database [数据库文件名 | ? ] (缺省则为当前数据库 3 )
将数据库添加到项目中
在项目管理器/数据选项卡/选定数据库/添加
删除数据库
从项目管理器中删除数据库(点击移去按钮,弹出对话框)。 移去:从项目管理器中移出,但不做物理删除(磁盘上保留) 删除:完全删除(磁盘上也不保留) 注:这样删除是不能删除数据库中包含的表、视图等文件。 命令方式删除数据库: Close database (不加参数,关闭当前数据库) Close database all (关闭所有打开的数据库) 注:使用命令方式删除数据库之前,要先关闭它才行! Delete database [数据库文件名 | ? ] (删除数据库) 两个参数举例: Delete database 订货管理 deletetables 同时删除所含表文件 Delete database 订货管理 recycle 不做彻底删除,放入回收站
12
3.3表的基本操作
3.3.1使用浏览器操作表 界面方式:项目管理器/数据库/表/浏览 命令方式:用use命令打开表后,键入browse命令 3.3.6记录指针的定位: 记录指针:VFP数据库的表是由行和列组成的,每一行称 为一条记录。每一条记录根据输入的先后顺序,有一个物理 记录号。VFP为每张表都保存一个记录指针,它指向当前操 作的记录,通过其记录号来标识。 VFP对单行记录操作时,一定是对记录指针指向的当前记 录做操作,不会影响其他记录。所以一定要时刻注意记录指 针的位臵,以便准确的对目标记录进行操作。
使用(打开)数据库
在项目管理器中打开数据库: 从“打开”对话框中打开数据库: 命令方式打开数据库: Open Database [数据库文件名 | ? ] 说明: 只读方式打开:不允许对数据库进行修改。 独占方式打开:不允许其他联网用户同时使用该数据库。

VFP 第三章 数据库的创建和使用

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 三. 在关闭主表或子表时,临时关系也即自动解除。

VF数据库及其操作

VF数据库及其操作

3.3.6 删除记录 1.逻辑删除 (1)菜单方式:浏览表-表-删除记录. (2)命令方式:DELETE [<范围>][FOR<条件>][WHILE<条件>] (3)鼠标方式:浏览表,单击记录首部空白栏,使其颜色变黑 2.恢复逻辑删除的记录 (1)菜单方式:浏览表-表-恢复记录. (2)命令方式:RECALL[<范围>][FOR<条件>][WHILE<条件>] (3)鼠标方式:浏览表,单击记录首部删除标记栏. 3.物理删除 (1)菜单方式:浏览表-表-彻底删除. (2)命令方式:PACK 4.一次性删除记录:ZAP
3.2 创建数据表 1.数据库表:数据表属于某个数据库. 2.自由表:数据表与数据库无关、单独存在的. 3.2.1 定义表结构 1.字段个数,每个字段的字段名、类型、宽度和小数位数. 2.创建自由表 (1)项目方式:数据-自由表-新建-新建表-表名-保存 (2)菜单方式建表:文件-新建-表-新建表-表名-保存 (3)命令方式:CREATE <表文件名>
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]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程表
学生表
教师 任课表
学习 成绩表
专业表
数据库中概念的结构图
自由表 记录 库表
数据 世界
记录 „ „ 记录
字段
„„
字段
数 据 库
„ „
库表
现实 世界 相关联的实 体集的组合
实体集
实体
属性
3.2 设计数据库的过程
确定数据库的目的 确定需要的表 确定所需字段
确定表之间的关系
改进设计
3.2.4 确定表之间的关系
二、库表之间的永久关系
1、概念
永久关系是永久保存在数据库中的库表之间的 一种关系。永久关系靠索引建立。
2、永久关系的作用
在“查询设计器”和“视图设计器”中,自 动作为默认联接条件。 作为表单和报表的默认的临时关系,在“数 据环境设计器”中显示。 用来存储参照完整性信息。
二、库表之间的永久关系
数据字典可以创建和指定以下内容:
主关键字和候选索引关键字; 表单中使用的默认控件类; 数据库表之间的永久性关系; 字段的输入掩码和显示格式; 长表名和表中的长字段名; 字段级和记录级有效性规则; 表中字段的标题和注释; 存储过程; 表中字段的默认值; 插入、更新和删除事件的触发器。
何时检查字段级规则 – 字段值改变时。 – 进行字段级检查的情况有:
3.6 库表的表属性
长表名 记录的有效性规则 表的触发器 标题 注释
长表名的命名
命名规则 – 第一字符必须是字母、下划线或汉字
表长度规定 – 自由表----------最长10个字符 – 数据库表-------最长128个字符
3.5 库表字段的扩展属性
字段的显示格式 输入掩码 默认值 标题 注释 字段的验证规则
设置字段级规则
规则的作用: – 用来控制用户输入到字段中的信息类型,或 检查其他字段值的字段数据。 – 实现数据库数据的完整性和固有的商业规则。 – 用“有效性说明”作为出错信息。 何时实施约束
Trigger是建立在表上的表达式,当表中的任 何记录被指定的操作命令修改时发生。
“触发器”的设置 – 表设计器------―表属性”
• INSERT触发器 • UPDATA触发器 • DELETE触发器
3.6.4 库表的约束机制及其激活时机
实施机制
NULL 有效性 字段级规则 记录级规则 侯选/主索引 VALID 子句 触发器
3、永久关系的建立
确定两个具有一对多或一对一关系的表; 建立主表的主索引或候选索引; 如果是一对多关系,则在子表中以主表的外 关键字建立普通索引;如果是一对一关系, 则在子表中以与主表相同的关键字建立主索 引或候选索引。 从主表的主索引或候选索引到子表相关的索 引建立永久关系。
4、删除表间的永久关系
使用函数DBUSED(数据库名) 如果已打开,则函数返回值为.T.;否则函数返回值 为.F.
3.8 使用多个数据库
使用数据库中的表 关闭数据库
1、在项目管理器中关闭 2、用CLOSE DATABASES 命令关闭
(1)CLOSE DATABASES 关闭当前数据库和表。若没有当前数据库,则关闭 所有工作区内所有打开的自由表、索引和格式文 件,并选择工作区 1。 (2)CLOSE DATABASES ALL 关闭:所有打开的数据库和其中的表。 所有打开的自由表。 所有工作区内所有索引和格式文件。
选择主表工作区,使用如下命令解除临时关系:
SELECT XS SET RELATION TO 或者 SET RELATION OFF 三. 在关闭主表或子表时,临时关系也即 自动解除
3.3 创建数据库
3.3.1 创建方法
界面方式 命令方式 CREATE DATABASE [数据库名|?]
3.3.2数据库的组成
库表
库表之间的永久关系 视图(View) 存储过程
一、库表
数据库与数据库表之间的双向链接包括前链和
ห้องสมุดไป่ตู้
后链 库表的创建 库表的添加 库表的移去 方法一:界面方式 方法二:命令CREATE TABLE,ADD TABLE , REMOVE TABLE 删除后链:FREE TABLE 表文件名
数据不一致将造成子表产生孤立记录 即子表的某些记录的外部关键字的值在主表中 没有对应的值。
3.7.2 设置相关表的参照完整性
相关表之间的参照完整性规则是建立在
永久关系基础上的。 参照完整性规则被设置在主表或子表的 触发器中。 规则的代码保存在数据库的存储过程中。 使用“参照完整性”生成器来建立。
cType——指定cName的类型,是否为当前数
据库,或者当前数据库中的一个字段、表 或视图。下表列出了 cType 的允许值:
Ctype DATABASE FIELD TABLE VIEW 说明 cName cName cName cName 是当前数据库。 是当前数据库中的一个字段。 是当前数据库中的一个表。 是当前数据库中的一个视图。
约束,有效地实现了数据的完整性和一 致性。方便和简化了用户的数据维护。
3.8 使用多个数据库
打开多个数据库(与打开多个表的情况不一样)
设置当前数据库 1. 在常用工具栏中设置 2. 使用命令SET DATABASE TO 库文件名 测试当前数据库的文件名
使用函数DBC()
测试指定的数据库是否打开
临时关系: 主表的记录——>子表的主控索引 建立临时关系的方法: 1、在“数据工作期”窗口中建立 2、使用 SET RELATION 命令建立: SET RELATION TO 关系表达式 INTO 区号|别名
3.10.3 解除表之间的临时关系
一. 在“数据工作期”窗口中解除
二. 使用命令解除
临时关系与永久关系的联系:
无论建立临时关系还是永久关系,都必须
明确建立关系的两个表之间确实在客观上 存在着一种关系(一对多或一对一关系)。 永久关系在许多场合可以用来作为默认的 临时关系。
3.10.2 建立表之间的临时关系
建立临时关系要明确几个要素: 主表、子表、子表的主控索引以及关系表达式。
3.9.1 DBGETPROP()函数
CProperty—指定属性名称,DBGETPROP( ) 函数返回该属性的信息。(参见教材P.71 表3-15)
3.9.2 DBSETPROP()函数
作用:设置当前数据库或者当前数据库中字 段、表或视图的属性。 语法: DBSETPROP(cName, cType,cProperty, eValue) 参数: eValue—指定 cProperty 的设定值, eValue 的数据类型必须和属性的数据类型相同。。
1:m
2、多对多关系
如果甲表中的任意一个记录在乙表中都有几个
记录与之对应,而乙表中的每个记录在甲表中 也有多个记录与之对应,则称甲乙两个表之间 存在多对多关系。
N:m
3、一对一关系
甲表的一个记录在乙表中只能对应一个记
录,而乙表中的一个记录在甲表中也只能 有一个记录与之对应。
1:1
教师表 一对多 任课表
临时关系与永久关系的区别:
临时关系是用来临时地控制相关表之间记录的
访问;而永久关系主要是用来存储相关表之间 的参照完整性。附带地可以作为默认的临时关 系或查询中默认的联接条件。 临时关系在表打开之后使用 SET RELATION 命 令创建,随表的关闭而解除;永久关系永久地 保存在数据库中而不必在每次使用表时重新创 建。 临时关系可以在自由表之间、库表之间或自由 表与库表之间建立;而永久关系只能建立在库 表之间。
课程表 一对多 一对多 成绩表 一对多
学生表 一对多 专业表
二、关系的存在方式
1、永久关系(persistent relationship)
永久关系是永久保存在数据库中的库表之间的 一种关系。
2、临时关系(temporary relationship)
临时关系是在打开的表之间用SET RELATION命 令建立的临时性关联。
第三章
数据库的创建和使用
3.1 VFP数据库
3.1.1 数据库的概念
定义: 数据库是一个包容器,用来组织和联 系表,它提供了存储数据的一种结构。 文件类型:DBC/DCT/DCX 内容: –表 – 表之间的永久关系 – 视图(本地、远程) – 存储过程
一个教学数据库管理系统的例子
教师表
3.9 查看或修改数据库的属性
3.9.1 DBGETPROP()函数
作用:返回当前数据库或者当前数据库中字 段、表或视图的属性。 语法: DBGETPROP(cName, cType, cProperty) 参数: cName——指定数据库、字段、表或视图的 名称。
3.9.1 DBGETPROP()函数
3.10 表之间的临时关系
3.10.1 临时关系
临时关系(temporary relationship)
是在打开的表之间用SET RELATION命令 建立的临时性关联。 建立了临时关系后,就会使得一个表 (子表)的记录指针自动随另一个表 (父表)的记录指针移动而移动。这样, 便允许当在关系中“一”方(或父表) 选择一个记录时,会自动去访问关系中 “多”方(或子表)的相关记录。
3.7.2 设置相关表的参照完整性
更新规则 删除规则 插入规则 当父表中的关键字 当父表中记录被删 当在子表中插入 值被修改时 除时 或更新记录时 级 联 限 制 忽 略 用新的关键字值 删除子表中所有相 更新子表中的所有 关记录 相关记录 若父表中不存在 若子表中有相关记 若子表中有相关记 匹配的关键字 录则禁止更新 录则禁止删除 值,则禁止插入 允许更新,不管子 允许删除,不管子 允许插入 表中的相关记录 表中的相关记录
相关文档
最新文档