第7讲自由表与数据库表_第1页
第7讲自由表与数据库表_第2页
第7讲自由表与数据库表_第3页
第7讲自由表与数据库表_第4页
第7讲自由表与数据库表_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第第 7 讲讲 自由表与数据库表自由表与数据库表 VFP 中的数据库是一个逻辑上的概念和手段 是一个容器 通过一组系统文件 统一组织和管理相互关联的数据库表及相关的数据库对象 例如 将扩展名为 DBF 的数据库表文件组织在一起管理 使它们成为相互关联的数据集合 在建立 VFP 数据库时 相应的数据库名称实际是扩展名为 DBC 的文件名 与之 相关的还会自动建立一个扩展名为 DCT 的数据库备注文件和一个扩展名为 DCX 的数 据库索引文件 这三个文件是供 VFP 数据库管理系统管理数据库使用的 用户一般 不能直接使用这些文件 一 数据库的基本操作一 数据库的基本操作 1 建立数据库 1 菜单法 从 文件 菜单选择 新建 命令 在 新建 对话框建立数据库 2 使用命令建立数据库 命令格式是 CREATE DATABASE DatabaseName 2 打开数据库 1 菜单法 从 文件 菜单 打开 命令 2 命令方式 命令格式 OPEN DATABASE 数据库名 EXCLUSIVE SHARED NOUPDATE VALIDATE 独占方式 共享方式 只读方式 检查合法性 说明 此命令不会自动打开数据库设计器 常在程序中使用 打开数据库时 表不会自动打开 数据库不打开时 仍可使用 USE 命令打开表 同一时刻可以打开多个数据库 但在同一时刻只有一个当前数据库 指定当前数据 库的命令是 SET DATABASE TO 也可以用 常用 工具栏中的按钮来选择当前数据库 SET DATABASE TO 使所有打开的数据库都不是当前数据库 3 修改数据库 1 菜单法 从 文件 菜单 打开 命令 自动打开数据库设计器 2 命令方式 自动打开数据库设计器 命令格式 MODIFY DATABASE 数据库名 NOWAIT NOEDIT 4 删除数据库 命令方式 命令格式 DELETE DATABASE 数据库名 DELETETABLES RECYCLE SET SAFETY ON OFF 用于设置在删除时是否给出提示信息 SET SAFETY ON 提示是否删除 系统默认 SET SAFETY OFF 不给出任何提示 直接删除数据库文件 二 建立数据库表二 建立数据库表 1 建立数据库表 1 数据库 菜单 新建表 命令 同时删除包含的表放入回收站 禁止修改程序中使用 2 数据库设计器 工具栏中 新建 按钮 3 快捷菜单 4 文件 菜单 新建 命令 5 命令方式 数据库打开时 命令格式 CREATE 表文件名 DBF 2 自由表 1 数据库表与自由表 自由表不属于数据库中的表就是自由表 自由表可以被移入数据库使之成为数据库 表 数据库表也可以移出数据库成为自由表 自由表无法实现数据完整性 自由表不支持主索引 不能建立字段有效性规则 也不支持在表之间建立永久性联系 2 将自由表添加到数据库 菜单法 数据库 添加表 命令方式 ADD TABLE 表名 NAME 长表名 例如 ADD TABLE TTT NAME 2001 级学生军训表 注意 一个表只能属于一个数据库 3 从数据库中移出表 菜单法 在数据库设计器中选择要移出的表 数据库 移去 命令方式 REMOVE TABLE 表名 DELETE RECYCLE 数据库表比自由表又有以下特征 数据库表可以使用长文件名和长字段名 数据库表中的字段比自由表中的字段多四个特性 数据库表的索引比自由表多了一个索引 数据库表与表之间存在永久性关联 数据库表与表之间存在参照完整性 3 空值 就是缺值或还没有确定值 不能把它理解为任何意义的数据 4 字段有效性规则 字段有效性规则是一种对字段取值的约束 它包括 规则 信息 和 默认 值 规则 是一个与字段有关的逻辑表达式 通过这个表达式对用户输入的值加以 限制 信息是一个字符串表达式 用来给出错的提示信息 默认值是与字段类型一 致的数据 字段有效性规则提供数据完整性检验 域完整性检验 5 显示组框 1 格式 输出格式 2 输入掩码 输入格式 3 标题 为字段加标题 用于显示 浏览等 4 注释 为相应字段加说明文字 必须掌握 会将自由表添加到数据库表 建立表的索引和多表之间的联系 会将数据库表移出成为自由表 掌握如何设置数据库表的字段有效性规则 会设置数据的参照完整性规则 多个数据库表 三 索引三 索引 4 2 44 2 4索引索引 索引如同书的目录 通过目录 读者可以快速找到所需要的内容 索引可以使 用户快速找到表中的数据 VFP 提供四种类型的索引 1 索引的种类 1 主索引 在指定字段或表达式中不允许出现重复值的索引 主索引主要用于主 表或 被引用 表 用来在一个永久关系中建立参照完整性 只有数据库表 可以创建主索引 一个表只能创建一个主索引 通常用表的主关键字作为主 索引关键字 2 候选索引 候选索引同主索引一样要求索引关键字或表达式不能有重复值 数据库 表和自由表都可以建立候选索引 并且可以建立多个候选索引 3 唯一索引 为了与前期版本兼容而保留的一种索引 一个表中可以建立多个惟一索 引 并且不要求索引字段值惟一 4 普通索引 普通索引可用来对记录排序和搜索记录 它不要求索引字段或表达式的 值惟一 此外 普通索引还可作为一对多永久关系中的 多方 索引的目的是为了提高查询数据的速度 但同时降低了更新数据的速度 因 此 并不是建立的越多越好 要根据需要建立索引 索引文件有两种类型 结 构复合索引 非结构复合索引 2 建立索引 1 在表设计器中建立索引 2 用命令建立索引 INDEX ON 索引表达式 TO 文件名 TAG OF 文件名 CDX FOR COMPACT ASCENDING DESCENDING UNIQUE CANDIDATE ADDITIVE INDEX ON 职工号 TO ZGIN ADDITIVE IDX INDEX ON 职工号 TAG ZG CDX 说明 项 它可以是字段名 或包含字段的表达式 TO 文件名 项 建立一个单独的索引 扩展名为 IDX 的文件 TAG 索引标识符 中的 索引标识符 给出索引名 多个索引可以创建在 一个索引文件中 这种索引称做结构复合索引 其文件名与相关的表同名 并具有 CDX 扩展名 COMPACT 选项是建立一个压缩的 IDX 文件 复合索引总是压缩的 ASCENDING DESCENDING 选项是说明建立升序或降序索引 默认升序 UNIQUE 建立唯一索引 CANDIDATE 建立候选索引 ADDITIVE 说明现在建立索引时是否关闭以前的索引 例如 INDEX ON 上机成绩 TO SJIN 建立单索引 扩展名为 IDX INDEX ON 笔试成绩 TAG 笔试成绩 建立结构复合索引 结构复合索引的特点 在打开表时自动打开 在同一索引文件中能包含多个索引方案 或索引关键字 在添加 更改或删除记录时自动维护索引 一般现在只使用结构复合压缩索引 而非结构索引多半是为了与以前版式本兼 容 3 使用索引 1 打开索引文件 非结构复合索引在使用前必须先打开 命令格式 SET INDEX TO 索引文件名表 SET INDEX TO 职工号 性别 LIST 2 设置当前有效索引 命令 SET ORDER TO 索引序号 TAG 索引标识符 ASCE DESE 3 索引查找 SEEK 表达式 ORDER 索引序号 TAG 索引标识符 ASCE DESE SEEK S4 DISP SKIP 4 删除索引 DELETE TAG ALL DELETE TAG 索引名 四 实体完整性与主关键字四 实体完整性与主关键字 在数据库中数据完整性是指保证数据的正确的特性 数据完整性一般包括 实体完整性 域完整性 参照完整性 1 实体完整性 是保证表中记录惟一的特性 即在一个表中不允许有重复的记 录 2 域完整性 数据类型的定义属于域完整性的范畴 如定义字段的类型 宽度 和取值范围 字段的有效性规则等 3 参照完整性 参照完整性与表之间的联系有关 它的大概含义是 当插入 删除或修改一个表中的数据时 通过参照引用相互关联的另一个表中的数据 来检查对表的数据操作是否正确 1 建立表之间的联系 2 设置参照完整性约束 在建立参照完整性之前必须首先清理数据库 数据库 清理数据库 参照完整性规则包括更新规则 删除规则和插入规则 例如 建立数据库表的联系和参照完整性规则 二 按要求完成下列操作 1 建立一个名为 订货项目 PJX 的项目文件 2 在 订货项目 的项目中 建立一个名为 订货管理 DBC 的数据库文件 3 建立如下四张表 都属于 订货管理 数据库 仓库表 仓库号 字符型 3 城市 字符型 4 面积 数值型 3 仓库号城市面积 WH1 北京 370 WH2 上海 500 WH3 广州 200 WH4 武汉 400 职工表 仓库号 字符型 3 职工号 字符型 2 工资 数值型 4 仓库号职工号工资 WH2E11220 供应商表 供应商号 C 2 供应商名 C 12 地址 C 4 供应商号供应商名地址 S3 振华电子厂西安 S4 华通电子公司北京 S6 607 厂郑州 S7 爱华电子厂北京 订购单表 职工号 C 2 供应商号 C 2 订购单号 C 4 订购日期 D 职工号供应商号订购单号订购日期 E3S7OR672001 06 23 E1S4OR732001 07 28 E7S4OR762001 05 25 E6NullOR77Null E3S4OR792001 06 13 E1NullOR80Null E3NullOR90Null WH1E31210 WH2E41250 WH3E61230 WH1E71250 E3S3OR912001 07 13 4 建立参照完整性 步骤 1 在职工表上建立职工号的主索引 索引名为职工号 在仓库表中建立仓库号主索引 索引名为仓库号 在供应商表中建立供应商号的主索引 索引名为供应商号 在订购单表中建立职工号的普通索引和供应商号的普通索引 索引名分别为职 工号和供应商号 2 建立永久联系 3 建立参照完整性 定义删除规则为 级联 更新规则和插入规则为 限制 习题四习题四 一 选择题 1 打开一个数据库的命令是 A USE B USE DATABASE C OPEN D OPEN DATABASE 2 VFP 数据库文件是 A 存放用户数据的文件 B 管理数据库对象的系统文件 C 存放用户数据和系统数据的文件 D 前三种说法都对 3 要为当前表所有职工增加 100 元工资 应该使用命令 A CHANGE 工资 WITH 工资 100 B REPLACE 工资 WITH 工资 100 C CHANGE ALL 工资 WITH 工资 100 D REPLACE ALL 工资 WITH 工资 100 4 以下关于自由表的叙述 正确的是 A 全部是用以前版本 FoxPro FoxBASE 建立的表 B 可以用 VFP 建立 但是不能把它添加到数据库中 C 自由表可以添加到数据库中 数据库表也可以从数据库中移出成为自由表 D 自由表可以添加到数据中 但数据库表不可以从数据库中移出成为自由表 5 VFP 参照完整性规则不包括 A 更新规则 B 删除规则 C 查询规则 D 插入规则 二 填空题 1 VFP 的主索引和候选索引可以保证数据的 完整性 2 数据库表之间的一对多联系通过主表的 索引和子表 的 索引实现 3 实现表之间临时联系的命令是 4 在定义字段有效性规则时 在规则框中输入的表达式类型是 5 在 VFP 中 最多同时允许打开 个数据库表和自由表 三 上机题 1 建立一个学生数据库 要求如下 1 数据库名为 学生 2 建立如下表 学生 学号 C7 姓名 C8 年龄 I 课程 课程号 C6 课程名 C14 成绩 学号 C7 课程号 C6 成绩 I 3 建立如下索引 在学生 学号 课程 课程号 上建立主索引 在成绩 课程号 和成绩 学号 上建立普通索引 4 建立学生和成绩之间的联系 课程和成绩之间的联系 2 将以上建立的数据库表移出数据库使之成为自由表 3 分别利用 A

温馨提示

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

评论

0/150

提交评论