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

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论