VFP 第三章 数据库的创建和使用.ppt_第1页
VFP 第三章 数据库的创建和使用.ppt_第2页
VFP 第三章 数据库的创建和使用.ppt_第3页
VFP 第三章 数据库的创建和使用.ppt_第4页
VFP 第三章 数据库的创建和使用.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库的创建和使用,第三章,3.1 VFP数据库,3.1.1 数据库的概念,定义:,数据库是一个包容器,用来组织和联系表,它提供了存储数据的一种结构。,文件类型:DBC/DCT/DCX 内容: 表 表之间的永久关系 视图(本地、远程) 存储过程,一个教学数据库管理系统的例子,数据库中概念的结构图,3.2 设计数据库的过程,确定数据库的目的 确定需要的表 确定所需字段 确定表之间的关系 改进设计,3.2.4 确定表之间的关系,一、关系的种类 1、一对多关系; 2、多对多关系; 3、一对一关系。,1、一对多关系,设有甲乙两个表,如果甲表中的任意一个记录在乙表中都有几个记录与之对应,而乙表中的每个记

2、录在甲表中仅有一个记录与之对应,则称甲乙两个表之间存在一对多关系,并称甲表为“一”表(或“主表”),乙表为“多”表(或“子表”)。,1:m,2、多对多关系,如果甲表中的任意一个记录在乙表中都有几个记录与之对应,而乙表中的每个记录在甲表中也有多个记录与之对应,则称甲乙两个表之间存在多对多关系。,N:m,3、一对一关系,甲表的一个记录在乙表中只能对应一个记录,而乙表中的一个记录在甲表中也只能有一个记录与之对应。,1:1,二、关系的存在方式,1、永久关系(persistent relationship) 永久关系是永久保存在数据库中的库表之间的一种关系。 2、临时关系(temporary relat

3、ionship) 临时关系是在打开的表之间用SET RELATION命令建立的临时性关联。,3.3 创建数据库,3.3.1 创建方法 界面方式 命令方式 CREATE DATABASE 数据库名|?,3.3.2数据库的组成,库表 库表之间的永久关系 视图(View) 存储过程,一、库表,数据库与数据库表之间的双向链接包括前链和后链 库表的创建 库表的添加 库表的移去 方法一:界面方式 方法二:命令CREATE TABLE,ADD TABLE ,REMOVE TABLE 删除后链:FREE TABLE 表文件名,二、库表之间的永久关系,1、概念 永久关系是永久保存在数据库中的库表之间的一种关系。

4、永久关系靠索引建立。 2、永久关系的作用 在“查询设计器”和“视图设计器”中,自动作为默认联接条件。 作为表单和报表的默认的临时关系,在“数据环境设计器”中显示。 用来存储参照完整性信息。,二、库表之间的永久关系,3、永久关系的建立 确定两个具有一对多或一对一关系的表; 建立主表的主索引或候选索引; 如果是一对多关系,则在子表中以主表的外关键字建立普通索引;如果是一对一关系,则在子表中以与主表相同的关键字建立主索引或候选索引。 从主表的主索引或候选索引到子表相关的索引建立永久关系。 4、删除表间的永久关系,三、视图,把分散在相关表中的数据通过连接条件把它们收集到一起 是张虚表,四、存储过程,保

5、存用户自定义函数和过程 保存参照完整性代码,3.4 使用数据字典,数据字典是包含数据库中所有表信息的一个表。每个数据库带有一个数据库字典。 在数据库中的表可以享受到数据字典的各种功能。 使用数据字典,可以创建字段级规则和记录级规则,保证主关键字字段内容的唯一性。,数据字典可以创建和指定以下内容:,主关键字和候选索引关键字; 表单中使用的默认控件类; 数据库表之间的永久性关系; 字段的输入掩码和显示格式; 长表名和表中的长字段名; 字段级和记录级有效性规则; 表中字段的标题和注释; 存储过程; 表中字段的默认值; 插入、更新和删除事件的触发器。,3.5 库表字段的扩展属性,字段的显示格式 输入掩

6、码 默认值 标题 注释 字段的验证规则,设置字段级规则,何时检查字段级规则 字段值改变时。 进行字段级检查的情况有:,何时实施约束,规则的作用: 用来控制用户输入到字段中的信息类型,或检查其他字段值的字段数据。 实现数据库数据的完整性和固有的商业规则。 用“有效性说明”作为出错信息。,3.6 库表的表属性,长表名 记录的有效性规则 表的触发器 标题 注释,长表名的命名,命名规则 第一字符必须是字母、下划线或汉字 表长度规定 自由表-最长10个字符 数据库表-最长128个字符,设置表的有效性规则,规则的作用: 用来控制用户输入到记录中的信息类型,通常比较同一记录中的两个或多个字段值。 何时检查规

7、则 在记录指针改变时。 从数据库中移去具有关联规则的表时 所有属于 该表的字段级和记录级规则都会从数据库中删除。因为规则存放在.DBC中。,设置触发器(Trigger),Trigger是建立在表上的表达式,当表中的任何记录被指定的操作命令修改时发生。 “触发器”的设置 表设计器-“表属性” INSERT触发器 UPDATA触发器 DELETE触发器,3.6.4 库表的约束机制及其激活时机,3.7 相关表之间的参照完整性,3.7.1 参照完整性概念,参照完整性(RI)是用来控制数据库相关表之间的主关键字和外部关键字之间数据一致性的规则。-属于表间规则。 参照完整性是建立在库表之间永久性关系基础之

8、上的规则。 子表的孤立记录:,3.7.1 参照完整性概念,相关表之间的数据一致性要求: 1子表中的每一个记录在对应的主表中必须有一个父记录。 2在子表中插入记录时,其外关键字必须是父表主关键字值中的一个。 3在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。 数据不一致将造成子表产生孤立记录 即子表的某些记录的外部关键字的值在主表中没有对应的值。,3.7.2 设置相关表的参照完整性,相关表之间的参照完整性规则是建立在永久关系基础上的。 参照完整性规则被设置在主表或子表的触发器中。 规则的代码保存在数据库的存储过程中。 使用“参照完整性”生成器来建立。,3.7.2 设置相关表的参照完整

9、性,3.7.3 VFP数据完整性综述,VFP5.0引进了关系数据库的三类完整性: 实体完整性;参照完整性;用户自定义完整性 实体完整性包括两级: 字段的数据完整性(由字段的有效性规则加以实施) 记录的数据完整性(由记录的有效性规则加以实施) 参照完整性是指相关表之间的数据一致性。 通过字段级、记录级和表间三级完整性约束,有效地实现了数据的完整性和一致性。方便和简化了用户的数据维护。,3.8 使用多个数据库,打开多个数据库(与打开多个表的情况不一样) 设置当前数据库 1. 在常用工具栏中设置 2. 使用命令SET DATABASE TO 库文件名 测试当前数据库的文件名 使用函数DBC() 测试

10、指定的数据库是否打开 使用函数DBUSED(数据库名) 如果已打开,则函数返回值为.T.;否则函数返回值为.F.,3.8 使用多个数据库,使用数据库中的表 关闭数据库 1、在项目管理器中关闭 2、用CLOSE DATABASES 命令关闭 (1)CLOSE DATABASES 关闭当前数据库和表。若没有当前数据库,则关闭所有工作区内所有打开的自由表、索引和格式文件,并选择工作区 1。 (2)CLOSE DATABASES ALL 关闭:所有打开的数据库和其中的表。 所有打开的自由表。 所有工作区内所有索引和格式文件。,3.9 查看或修改数据库的属性,3.9.1 DBGETPROP()函数,作用

11、:返回当前数据库或者当前数据库中字段、表或视图的属性。 语法: DBGETPROP(cName, cType, cProperty) 参数: cName指定数据库、字段、表或视图的名称。,3.9.1 DBGETPROP()函数,cType指定cName的类型,是否为当前数据库,或者当前数据库中的一个字段、表或视图。下表列出了 cType 的允许值:,3.9.1 DBGETPROP()函数,CProperty指定属性名称,DBGETPROP( ) 函数返回该属性的信息。(参见教材P.71表3-15),3.9.2 DBSETPROP()函数,作用:设置当前数据库或者当前数据库中字段、表或视图的属性

12、。 语法: DBSETPROP(cName, cType,cProperty, eValue) 参数: eValue指定cProperty的设定值,eValue 的数据类型必须和属性的数据类型相同。,3.10 表之间的临时关系,3.10.1 临时关系,临时关系(temporary relationship)是在打开的表之间用SET RELATION命令建立的临时性关联。 建立了临时关系后,就会使得一个表(子表)的记录指针自动随另一个表(父表)的记录指针移动而移动。这样,便允许当在关系中“一”方(或父表)选择一个记录时,会自动去访问关系中“多”方(或子表)的相关记录。,临时关系与永久关系的区别:

13、,临时关系是用来临时地控制相关表之间记录的访问;而永久关系主要是用来存储相关表之间的参照完整性。附带地可以作为默认的临时关系或查询中默认的联接条件。 临时关系在表打开之后使用 SET RELATION 命令创建,随表的关闭而解除;永久关系永久地保存在数据库中而不必在每次使用表时重新创建。 临时关系可以在自由表之间、库表之间或自由表与库表之间建立;而永久关系只能建立在库表之间。,临时关系与永久关系的联系:,无论建立临时关系还是永久关系,都必须明确建立关系的两个表之间确实在客观上存在着一种关系(一对多或一对一关系)。 永久关系在许多场合可以用来作为默认的临时关系。,3.10.2 建立表之间的临时关系,建立临时关系要明确几个要素: 主表、子表、子表的主控索引以及关系表达式。 临时关系: 主表的记录子表的主控索引 建立临时关系的方法: 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论