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

下载本文档

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

文档简介

Visual FoxPro Visual FoxPro 讲授 钟 丹 江苏省普通高校计算机等级考试教程 第 三 章 数据库的创建和使用数据库的创建和使用 一、数据库的基本概念 l 数据库的概念:数据库是一个容器,是许多相关的数 据库表及其关系的集合 l 数据库设计的一般步骤:*需求分析;*分解问题,确 定表;*确定表中字段;*确定表之间关系;*改进优 化 l 数据库的功能:存储一系列表,在表间建立关系,设 置属性和数据有效性规则使相关联的表协同工作。 l 库文件类型:每创建一个新的数据库都将产生三个文 件:数据库文件.dbc,关联的数据库备注文件.dct,关 联的数据库索引文件.dcx 设计一个完善、高效和结构优化的数据库,是创建以数据 库为基础的信息系统中必不可少的重要环节,VFP的主要 操作对象就是数据库(库表) l VFP数据库的组成 数据库表:从属于某个数据库的表,与自由表 相比具有许多扩展功能和管理特性 v注:库表与库之间的相关性是通过库表文件( .dbf)和库文件(.dbc)之间的双向链接来实现的, 双向链接包括前链和后链;前链保存在库中,后链 保存在表中 P71 视图(view):把分散在相关表中的数据通过 联接条件将它们收集到一起,构成一张虚表,视图 就是这样一种虚表类型。 连接(connection) 存储过程 二、数据库的创建 l 数据库的创建: 界面方式:1、 在“项目管理器”中创建,创建的库在 项目中 2 、通过“新建”按钮或“文件”“新建 ”来创建, 创建的库不在项目中 命令方式:用create database databasename|? l 打开一个库: 界面方式: 新建一个数据库,保存后会自动打开 在打开一个数据库表时,系统也会自动的打开相 应的库 在“项目管理器”中用“打开”或“修改”按钮 命令方式: Open database databaseNameexclusive|sharednoupdatevalidate 三、数据库的使用 l设置当前数据库 在“常用”工具栏“数据库下拉列表”中选择 利用set database to databaseName命令来进行设 置 l检查数据库的有效性:p75 若用户移动了数据库文件(.dbc,.dct,.dcx)或与数据库 相关联的表文件,则这些文件的相对路径会改变,那么 有可能破坏VFP关联库和表的双向链接,就需要重建链 接或检查有效性,使用命令: Validata database recoverto printer|to file filename l关闭库:“项目管理器”“关闭”按钮 p75 close database all命令 l 删除库:“项目管理器”“移去”按钮;delete database l 概念:数据字典是指存储在数据库中,用于描述所 管理的表和对象的数据;存储在数据字典中的信息称 之为元数据(Metadata),换言之,其记录的是关于 数据的数据。 l 数据字典的功能:创建和指定以下内容 表中字段的标题、注释、默认值、输入掩码和 显示格式,以及表单中的默认控件 表的主索引关键字 长表名和表注释 字段级和记录级有效性规则 存储过程 插入、更新和删除事件触发器 四、VFP数据字典概述 五、数据库表 l 库表的创建 : v界面方式: 选中“项目管理器”“数据库”“表”,新建按钮 “数据库设计器”“数据库设计器工具栏”“新建 表” 在数据库打开时,“文件”“新建”或“新建”按钮 v命令方式:p101,注意name与free子句 在数据库打开时,利用create table-SQL语句来创 建表,此时若在命令中不使用free子句,则创建的为库表 注意:在利用命令创建库表时,可以使用name子 句定义长 表名(表名长度可超过128个字符) 数据库表具有自由表的所有功能,对自由表适用的所有 操作也同样适用于数据库表,库表还另外扩展了数据管 理和控制等功能 l 库表的字段扩展属性 :P7880,例 v字段显示属性:只要求会根据给出的条件进行 设置 字段格式:用于指定字段显示时的格式,包括浏 览窗口、表单和报表中显示时的大小写和样式等,可用的 格式字母代号见 P79 表3-2 输入掩码:用于指定字段中输入数据的格式,可 用的掩码字符见P79 表3-3 字段的标题和注释:标题和注释是为了使表具有 更好的可读性和可理解性,不是必需的;在“项目管理器” 中选中字段,窗口下部的状态栏会显示字段注释 数据库表除了具有自由表的属性之外,还可以设置一些 扩展属性;这些属性在“表设计器”中设置,并作为数据 字典保存在数据库中 v 字段级验证:用来限定字段的取值及取值范围,包括 有效性规则,有效性信息以及默认值 字段有效性规则:用来控制输入到字段中的数据的取值 范围,是一个逻辑表达式,且当前字段包含在表达式当中;当 输入数据时,系统根据表达式进行验证,若结果为.t.,则接收 输入的值;否则,拒绝输入的值,并且显示一个提示框 字段有效性信息:它是有效性规则的说明,是一个字符 表达式,是在拒绝输入值时显示的提示框中的说明信息 默认值:向一张数据库表中添加新记录时所指定的最初 的值称为该字段的默认值,它必须是一个与字段类型相同的表 达式,适当的设置默认值可以减少输入的工作量 v字段的默认控件类型:作用是指定在使用“表单向导” 生成表单或从数据环境中将字段拖放到表单上时,与 字段相对应的控件类 v 还可以利用命令来进行扩展属性的设置:P101102 Create table 表名 (字段名 类型(宽度) default 表达式check 表达式error 提示信息 ) Alter table 表名 alter column 字段名 set defa 表达式set check 表达式error 提示信息 P103 例子阅读,请读懂 上机操作:为CJ表的CJ字段设置扩展属性:XH的默认 值为“980000”,要求CJ必须在0100之间,若不是在 此范围请给出提示信息:成绩必须在0100之间 l 库表的表属性 :P8182,例 v长表名和表注释 长表名:创建表时,若不做任何规定则表文件名就 是表名;若设置了长表名属性,则该数据库在任何场合均以 长表名代替表文件名使用 在“表设计器”“表”卡片“表名”中设置,也 可在使用create table命令创建库表时用Name子句来设置( 如前述) 表注释:表的说明信息,在“表设计器”“表”卡片 中进行设置;设置后在“项目管理器”中选中相应的表,可在 窗口的下部状态栏中看到表的注释 数据库表不仅可以设置字段的扩展属性,还可以为表设 置一些属性,如长表名、记录级验证、触发器等,这些 属性在“表设计器”中设置,也保存在数据字典中 v 记录级验证:用于定义记录级校验规则,包括了记录 的有效性规则和有效性信息 注意比较字段级验证和记录级验证的区别 记录有效性规则和信息的设置类似于字段有效性规则和 信息的设置,也可在create table时利用check子句来进行设置 或在alter table时利用set check子句来进行设置 注意比较利用命令进行字段验证设置和记录验证设置的 区别 v表触发器:是绑定在表上的逻辑表达式,是表在进行 插入、更新或删除记录是的检验规则 触发器分为三种:插入、更新、删除 触发器的返回值为.t.或.f.,若为.t.,则允许该操作执行 ;否则,就,不允许该操作执行 触发器可在“表设计器”“表”卡片中设置,也可通过 create trigger on来设置触发器,通过delete trigger on来删除 触发器 l 库表的约束机制及其激活时机综述: P82 表3-5 l 库表的索引:前述有关自由表索引的一切内容 均适用于库表,但库表多出一个主索引 v设置主索引时必须注意: 主索引必须是一个候选索引,即记录的值 必须唯一 主索引对每张库表都只有一个 l 库表的添加和移去:向库中添加表是指将自由表添 加到库中,使自由表成为数据库表,本质上是建立了 库表和库之间的双向链接;而从库中移去表,则是删 除了库表和库之间的双向链接 v添加: “项目管理器”“添加” “数据库设计器”“工具栏”“添加”按钮 在数据库打开并为当前库时,用add table 表名 来 添加 注意:一张表只能添加到一个库中去 v移去: “项目管理器”中选中表“移去” “库设计器”中选中表“工具栏”“移去”按钮 在数据库打开并为当前库时,用remove table 表名 来移去 l 有关库和库表的几点说明: v尽可能使用数据库表,因它存在这一些约束条件 v可以使用!来指定数据库(在打开多个库时) v移动和复制库文件时要考虑到相应库表的位置, 以防出现前、后链的错误 v不要轻易的从库中移去表 v做过多次修改库结构、库表结构的操作后,要进 行“数据库清理”,以防出现错误和数据的冗余 v在删除库后,应该有一个FREE tablename库表的 命令 v若多次移动、删除了库或库表,应使用 validate database recover命令重建双向联接 六、永久关系和参照完整性 l 表之间的关系:三种关系 v一对一关系:甲表的每一个记录在乙表中只能 对应一个记录,而乙表中的每一个记录在甲表中也 只能有一个记录与之对应 v一对多关系:设有甲乙两张表,如果甲表中的 任意一个记录在乙表中可以有几个记录与之对应, 而乙表中的每个记录在甲表中就有一个记录与之对 应,则称甲乙两张表之间存在一对多关系,并称甲 表为“父表”,乙表为“子表” v多对多关系:若甲表的一个记录在乙表中可以 对应多个记录,而乙表中的一个记录在甲表中也可 以对应多个记录,则称这两张表具有多对多关系 数据库中,用户可以为存在一对多关系的两张表创建永 久性关系,且基于永久性关系可以创建这两张表之间的 数据完整性规则 v纽带表:在使用中,多对多关系不能直接被使 用;遇到多对多的情况,必须建立第三张表,把一 个多对多关系分解为两个一对多关系;这第三张表 就称为纽带表,纽带表中要存储两张父表的主关键 字 v分析并确定表之间的关系: 分析每张表,并确定它们之间的关系,必要 时可以在表中添加字段或者创建一张新表来明确关 系;要求会根据给出的条件判定表之间的关系,特 别是要能够找出纽带表 l 表之间的永久性关系: v永久性关系:是在数据库表之间的一种关系, 这种关系不仅在运行时存在,而且一直保留;拥有 永久性关系的表必须在数据库中;永久性关系是根 据表的索引来建立的 v补充:临时关系:是在打开的表之间在“数据 工作期”窗口中设置,还可以用set relation命令建 立临时性关系,它不保存,运行结束时就结束。 v永久性关系的作用: 在“查询/视图设计器”中,自动作为默认联接条件 作为表单和报表的默认关系,在“数据环境设计器 ”中显示出来 用来存储参照完整性信息 v创建永久性关系的操作: 确定两张具有一对多/一对一关系的表 建立主表的主索引或候选索引 若为一对多关系,则在子表中以主表的主 关键字作为该表的外部关键字建立普通索引;若 为一对一关系,则在子表中以与主表相同的关键 字建立主索引或候选索引 在“库设计器”中,将主表的主索引或候选 索引标识拖放到子表相同的索引标识上,则完成 了永久关系的设置 v在“库设计器”中,可以建立、删除或编辑库表 之间的永久关系:删除单击连线,DEL 编辑双击连线 l 参照完整性: v定义:用来控制数据的一致性,尤其是控制数 据库相关表之间的主关键字和外部关键字之间数据 一致性的规则 v参照完整性的一般要求:三个规则 子表中的每一个记录在对应的主表中必须有一个 父记录 在子表中插入记录时,其外部关键字必须是父表 主关键字值中的一个 在父表中删除记录时,与该记录相关的子表中的 记录必须全部删除 v设置参照完整性: 双击连线单击“参照完整性”按钮 右击连线“编辑参照完整性” v参照完整性规则:P105 表3-7 一般我们使用“更新”、“删除”级联,“插入 ”限制,但要会根据给出的条件对照规则表设置参 照完整性。 l VFP完整性综述:主要使用前两类,系统自动 v实体完整性:字段级和记录级有效性验证 v参照完整性:表之间数据的一致性 v用户自定义完整性:用户通过编写代码来控制 数据 的完整性 l 数据库操作常用函数:P10610

温馨提示

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

评论

0/150

提交评论