1、高 职 高 专 计 算 机 系 列 教 材Visual FoxPro 程 序 设 计 教 程柳 青 李 拥 军 谭 小 球 编高 等 教 育 出 版 社内 容 提 要本 书 以 Visual FoxPro 6 .0 为 例 , 针 对 其 将 面 向 对 象 程 序 设 计 技 术 与 传 统 的 过 程 化 程 序 设 计 模 式 相 结 合 的 特点 , 详 细 介 绍 了 数 据 库 管 理 系 统 的 使 用 方 法 和 应 用 程 序 的 开 发 技 能 。 全 书 共 11 章 , 主 要 内 容 包 括 : 数 据 库 原 理概 述 、 Visual FoxPro 基 础 、 表
2、 的 建 立 与 操 作 、 程 序 设 计 基 础 、 面 向 对 象 程 序 设 计 基 础 、 表 单 、 数 据 库 的 建 立 与 操 作 、 查 询 与视 图 、 菜 单 设计 、 报 表 和 标签 、 应 用 程序 设 计 实 例 等 。全 书 配 有 大 量 的 实 例 , 每 章 均 有 小 结 和 适 量 的 习 题 , 具 有 较 强 的 实 用 性 , 可 作 为 高 等 职 业 技 术 学 校 和 高 等 专 科 学 校 相 关 专 业 数 据 库 课 程 的 教 材 和 教 学 参 考 书 , 也 可 供 各 类 计 算 机 培 训 班 和 个 人 自 学 使 用
3、。图 书 在 版 编 目 ( CIP) 数 据Visual FoxPro 程 序 设 计 教 程 / 柳 青 等 编 .北 京 : 高等 教 育 出 版 社 , 2001ISBN 7 - 04 - 008655 - 7 .V .柳 .关 系 数 据 库 - 数 据 库 管 理 系 统 , Visual FoxPro 6 .0 - 教 材 .TP311 .138中 国 版 本 图 书 馆 CIP 数 据 核 字 (2001) 第 07807 号Visual FoxPro 程 序 设 计 教 程柳 青 李 拥 军 谭 小 球 编出 版 发 行 高 等 教 育 出 版 社社 址 北 京 市 东 城
4、区 沙 滩 后 街 55 号 邮 政 编 码 100009电 话 010 - 64054588 传 真 010 - 64014048网 址 http :/ / www .hep .edu .cnhttp :/ / www .hep .com .cn经 销 新 华 书 店 北 京 发 行 所排 版 高 等 教 育 出 版 社 照 排 中 心印 刷 开 本 7871092 1/ 16 版 次 年 月 第 版印 张 21 印 次 年 月 第 次 印 刷字 数 500 000 定 价 17 .90 元本 书 如有 缺 页 、 倒 页、 脱 页 等 质 量问 题 , 请 到 所 购 图 书 销 售 部
5、门 联 系 调 换 。版 权 所 有 侵 权 必 究责 任 编 辑 倪 文 慧封 面 设 计 杨 立 新 版 式 设 计 周 顺 银 责 任 校 对 王 雨 责 任 印 制 前 言Visual FoxPro 6 .0 提 供 了 为 数 据 库 结 构 和 应 用 程 序 开 发 而 设 计 的 面 向 对 象 环 境 , 具 有 功 能 强 大 、 开 发 工 具 丰 富 、 数 据 处 理 速 度 高 、 用 户 界 面 友 好 等 特 点 , 易 于 学 习 和 使 用 , 受 到 广 大 用 户 的 欢 迎 。Visual FoxPro 6 .0 及 其 中 文 版 是 可 运 行 于
6、 Windows 95/ 98 和 Windows NT、 Windows 2000 平 台 的 32 位 数 据 库 开 发 系 统 , 该 系 统 可 以 简 化 数 据 库 的 管 理 , 使 应 用 程 序 的 开 发 流 程 更 为 合 理 。 Visual FoxPro 6 .0 利 用 可 视 化 的 设 计 工 具 和 向 导 , 使 组 织 数 据 、 定 义 数 据 库 和 建 立 应 用 程 序 等 工 作 变 得简单 易 行 , 使 用 户 可 以 方 便 地 创 建 数 据 表 、 数 据 库 、 表 单 、 查 询 、 视 图 、 报 表 、 标 签 和 程 序 。
7、 Visual FoxPro 6 .0 为 用 户 提 供 了 集 成 化 的 系 统 开 发 环 境 , 不 仅 支 持 面 向 过 程 的 程 序 设 计 技 术 , 而 且 支 持面 向 对 象 可 视 化 程 序 设 计 技 术 , 并 拥 有 功 能 强 大 的 可 视 化 程 序 设 计 工 具 和 客 户 / 服 务 器 应 用 程 序 的 开 发 能 力 , 而 且 支 持 OLE 和 ActiveX, 为 用 户 开 发 功 能 全 面 的 应 用 程 序 创 造 了 良 好 的 条 件 。本 书 以 Visual FoxPro 6 .0 为 例 , 较 详 细 地 介 绍
8、了 数 据 库 管 理 系 统 的 使 用 方 法 和 应 用 程 序 的 开 发 技 能 。为 贯 彻 以 能 力 为 本 位 的 思 想 , 本 书 注 重 应 用 能 力 的 培 养 。 在 教 材 的 编 写 中 , 既 注 意 内 容 的 系 统 性 , 也 注 重 实 用 性 ; 既 有 通 俗 易 懂 的 原 理 介 绍 , 又 有 具 体 的 操 作 指 导 。 全 书 配 有 大 量 的 实 例 , 且 每 章 后 面 附 有 小 结 和 适 量 的 习 题 , 突 出 了 较 强 的 实 用 性 , 可 作 为 高 等 职 业 技 术 学 校 和 高 等 专 科 学 校 相
9、 关 专 业 数 据 库 课 程 的 教 材 或 教 学 参 考 书 , 也 可 供 各 类 计 算 机 培 训 班 和 个 人 自 学 使 用 。本 书 由 柳 青 副 教 授 主 编 。 其 中 第 一 、 二 、 三 、 七 、 九 、 十 章 由 柳 青 编 写 , 第 四 、 五 、 六 章 由 李 拥 军 编 写 , 第 八 、 十 一 章 由 谭 小 球 编 写 。 全 书 由 柳 青 负 责 统 稿 和 定 稿 。本 书 的 编 写 得 到 广 州 航 海 高 等 专 科 学 校 的 大 力 支 持 和 帮 助 , 在 此 表 示 衷 心 的 感 谢 。 限 于 作 者 的 水
10、 平 , 书 中 难 免 有 不 当 之 处 , 敬 请 指 正 。作 者2000 .121 .1 .1 数 据 处 理 的 概 念 1 3 .1 表 结 构 的 建 立 与 操 作 531 .1 .2 数 据 库 技 术 的 发 展 2 3 .1 .1 表 结 构 的 建 立 531 .1 .3 数 据 库 系 统 3 3 .1 .2 表 结 构 的 修 改 与 显 示 611 .1 .4 数 据 模 型 4 3 .2 表 的 编 辑 和 显 示 631 .2 关 系 数 据 库 6 3 .2 .1 表 文 件 的 打 开 与 关 闭 631 .2 .1 关 系 数 据 库 的 结 构 6
11、3 .2 .2 向 表 中 输 入 记 录 数 据 641 .2 .2 关 系 运 算 6 3 .2 .3 数 据 的 显 示 和 编 辑 691 .2 .3 SQL 语 言 简 介 11 3 .2 .4 记 录 指 针 与 定 位 741 .2 .4 关 系 数 据 库 的 规 范 化 11 3 .2 .5 记 录 的 删 除 和 恢 复 77习 题 12 3 .2 .6 控 制 字 段 和 记 录 的 访 问 80目 录第 一 章 数 据 库 原 理 概 述 11 .1 数 据 库 基 本 概 念 1习 题 51第 三 章 表 的 建 立 与 操 作 53第 二 章 Visual FoxP
12、ro 基 础 132 .1 Visual FoxPro 6 .0 中 文 版 简 介 133 .3 表 的 索 引 823 .3 .1 索 引 概 述 822 .1 .1 Visual FoxPro 6 .0 中 文 版 的 特 点 与 3 .3 .2 索 引 的 建 立 和 使 用 84功 能 13 3 .3 .3 改 变 记 录 的 物 理 顺 序 872 .12 .1.2 Visual FoxPro 6 .0 中 文 版 的 安 装 、 配 置 与 优 化.3 Visual FoxPro 6 .0 中 文 版 的 用 户163 .4 表 内 容 的 查 找3 .5 使 用 多 个 数 据
13、 表3 .5 .1 使 用 数 据 工 作 期879090界 面 20 3 .5 .2 在 工 作 区 中 打 开 和 关 闭 工 作 表 902 .1 .4 Visual FoxPro 的 设 计 工 具 28 3 .5 .3 引 用 工 作 区 和 使 用 表 别 名 912 .2 Visual FoxPro 语 言 基 础 30 本 章 小 结 922 .2 .1 数 据 类 型 30 习 题 932 .2 .2 数 据 存 储 方 式 32 第 四 章 程 序 设 计 基 础 952 .2 .3 表 达 式 36 4 .1 结 构 化 程 序 设 计 概 述 952 .2 .4 函 数
14、 39 4 .2 程 序 文 件 的 建 立 与 执 行 962 .2 .5 Null 值 39 4 .2 .1 程 序 文 件 的 建 立 972 .2 .6 数 据 库 和 表 的 组 成 39 4 .2 .2 程 序 文 件 的 执 行 982 .2 .7 命 令 格 式 41 4 .3 程 序 设 计 的 基 本 语 句 992 .3 项 目 管 理 器 42 4 .3 .1 程 序 调 试 语 句 992 .3 .1 项 目 管 理 器 的 功 能 和 界 面 42 4 .3 .2 简 单 的 输 入 语 句 992 .3 .2 项 目 管 理 器 的 操 作 45 4 .3 .3
15、简 单 的 输 出 语 句 1012 .3 .3 项 目 管 理 器 能 访 问 的 工 具 48 4 .4 程 序 控 制 的 基 本 结 构 101本 章 小 结 51 4 .4 .1 顺 序 结 构 101 2 目 录4 .4 .2 选 择 分 支 结 构 102 6 .4 .1 用 表 单 模 板 创 建 新 表 单 1884 .4 .3 循 环 结 构 107 6 .4 .2 用 表 单 集 扩 充 表 单 1894 .4 .4 多 种 结 构 的 嵌 套 113 6 .4 .3 表 单 的 显 示 类 型 1894 .5 过 程 与 过 程 文 件 115 6 .4 .4 管 理
16、表 单 1914 .5 .1 子 程 序 和 过 程 的 概 念 115 6 .5 程 序 设 计 举 例 1924 .5 .2 参 数 传 递 与 作 用 域 119 本 章 小 结 1964 .5 .3 自 定 义 函 数 122 习 题 1974 .5 .4 子 程 序 的 嵌 套 与 递 归 调 用 123 第 七 章 数 据 库 的 建 立 与 操 作 1984 .6 应 用 程 序 设 计 的 基 本 方 法 125 7 .1 Visual FoxPro 数 据 库 简 介 198本 章 小 结 129 7 .2 创 建 数 据 库 199习 题 129 7 .2 .1 建 立 数
17、 据 库 199第 五 章 面 向 对 象 程 序 设 计 基 础 132 7 .2 .2 打 开 数 据 库 2015 .1 面 向 对 象 程 序 设 计 基 本 概 念 132 7 .2 .3 在 数 据 库 中 添 加 和 移 去 数 据 表 2015 .1 .1 面 向 对 象 技 术 概 述 132 7 .3 建 立 表 间 的 关 联 关 系 2025 .1 .2 面 向 对 象 技 术 的 特 点 132 7 .3 .1 建 立 关 联 关 系 前 的 准 备 2025 .2 Visual FoxPro 中 的 对 象 与 类 133 7 .3 .2 建 立 数 据 表 间 的
18、 关 联 关 系 2035 .2 .1 Visual FoxPro 中 的 类 133 7 .4 设 置 数 据 库 表 与 数 据 库 的 特 性 2065 .2 .2 Visual FoxPro 中 的 对 象 135 7 .4 .1 设 置 字 段 标 题 2065 .3 创 建 类 136 7 .4 .2 设 置 字 段 的 注 释 2065 .3 .1 类 与 任 务 的 匹 配 136 7 .4 .3 设 置 字 段 的 默 认 值 2075 .3 .2 创 建 新 类 138 7 .4 .4 设 置 有 效 性 规 则 和 有 效 性 说 明 2085 .3 .3 将 属 性 和
19、 方 法 添 加 到 类 141 7 .4 .5 建 立 数 据 库 的 参 照 完 整 性 2095 .3 .4 使 用 类 库 文 件 143 本 章 小 结 2105 .4 面 向 对 象 程 序 设 计 145 习 题 2105 .4 .1 将 类 添 加 到 表 单 中 145 第 八 章 查 询 和 视 图 2125 .4 .2 在 容 器 类 中 添 加 对 象 146 8 .1 Visual FoxPro 中 的 查 询 与 视 图 2125 .4 .3 设 置 属 性 148 8 .2 利 用 向 导 建 立 查 询 2125 .4 .4 调 用 方 法 149 8 .3 利
20、 用 查 询 设 计 器 建 立 查 询 217本 章 小 结 150 8 .3 .1 启 动 查 询 设 计 器 218习 题 151 8 .3 .2 定 义 查 询 结 果 218第 六 章 表 单 152 8 .3 .3 定 向 输 出 查 询 结 果 2216 .1 设 计 和 创 建 表 单 152 8 .3 .4 运 行 查 询 2226 .1 .1 用 表 单 “向 导 选 取” 设 计 表 单 152 8 .3 .5 分 组 查 询 2236 .1 .2 用 表 单 设 计 器 设 计 表 单 159 8 .4 用 表 达 式 筛 选 查 询 结 果 2236 .1 .3 用
21、“快 速 表 单 ”设 计 表 单 160 8 .5 视 图 的 创 建 与 运 行 2276 .1 .4 表 单 的 修 改 和 运 行 161 8 .5 .1 创 建 视 图 2276 .2 设 置 表 单 的 数 据 环 境 162 8 .5 .2 保 存 视 图 2316 .3 表 单 控 件 165 8 .5 .3 修 改 视 图 2316 .3 .1 表 单 控 件 概 述 165 8 .5 .4 运 行 视 图 2316 .3 .2 表 单 控 件 166 8 .6 用 视 图 更 新 数 据 2326 .4 表 单 的 设 计 187 8 .6 .1 设 置 关 键 字 段 和
22、 可 更 新 字 段 232目 录 3 8 .6 .2 用 视 图 更 新 数 据 与 检 查 更 新 冲 突 234 10 .3 .1 用 “标 签 向 导 ”创 建 标 签 254本 章 小 结 234 10 .3 .2 用 “标 签 设 计 器 ”创 建 标 签 256习 题 235 本 章 小 结 258第 九 章 菜 单 设 计 236 习 题 2589 .1 规 划 菜 单 系 统 236 第 十 一 章 应 用 程 序 设 计 实 例 2599 .2 创 建 菜 单 和 子 菜 单 237 11 .1 设 计 目 标 2599 .2 .1 启 动 菜 单 设 计 器 237 11
23、 .2 创 建 项 目 2609 .2 .2 用 菜 单 设 计 器 创 建 菜 单 系 统 238 11 .3 创 建 数 据 库 2609 .2 .3 创 建 菜 单 项 或 子 菜 单 239 11 .4 建 立 应 用 程 序 的 过 程 2629 .2 .4 为 菜 单 指 定 热 键 和 快 捷 键 240 11 .4 .1 创 建 “启 动 ”表单 2629 .2 .5 为 菜 单 系 统 指 定 任 务 241 11 .4 .2 创 建 “功 能 选 择 ”表 单 2639 .2 .6 生 成 菜 单 程 序 243 11 .4 .3 创 建 “职 工 信 息 ”表 单 264
24、9 .3 创 建 快 捷 菜 单 243 11 .4 .4 创 建 “工 资 信 息 ”表 单 275本 章 小 结 244 11 .5 项 目 连 编 280习 题 244 11 .5 .1 设 置 主 程 序 280第 十 章 报 表 和 标 签 245 11 .5 .2 项 目 连 编 28110 .1 报 表 的 建 立 245 本 章 小 结 28110 .1 .1 用 “报 表 向 导” 创 建 报 表 245 习 题 28210 .1 .2 用 “报 表 设 计 器” 建 立 快 速 报表 248 附 录 28310 .2 报 表 的 设 计 251 附 录 A Visual F
25、oxPro 6 .0 函 数 28310 .2 .1 确 定 报 表 的 布 局 252 附 录 B Visual FoxPro 6 .0 命 令 29710 .2 .2 报 表 的 设 计 252 附 录 C Visual FoxPro 6 .0 类 与 对 象 31010 .3 标 签 254 附 录 D Visual FoxPro 6 .0 属性、 事件和 方法 311第 一 章 数 据 库 原 理 概 述随 着 计 算 机 技 术 的 发 展 , 计 算 机 的 应 用 逐 渐 由 数 值 计 算 向 非 数 值 计 算 的 各 个 领 域 扩 展 , 已 经 进 入 社 会 的 各
26、个 领 域 乃 至 人 们 的 家 庭 生 活 中 。 计 算 机 技 术 的 高 速 发 展 推 动 人 类 社 会 进 入 了 信 息 时 代 。数 据 库 技 术 是 数 据 信 息 管 理 技 术 的 最 新 成 果 , 被 广 泛 地 应 用 于 国 民 经 济 、 文 化 教 育 、 企 业 管 理 以 及 办 公 自 动 化 等 方 面 , 为 计 算 机 的 应 用 开 辟 了 广 阔 的 天 地 。 从 某 种 意 义 上 来 说 , 数 据 库 管 理 系 统 是 计 算 机 技 术 和 信 息 时 代 相 结 合 的 产 物 , 是 信 息 处 理 和 数 据 处 理 的
27、 核 心 , 是 研 究 数 据 共 享 的 科 学 , 也 是 计 算 机 科 学 的 一 个 重 要 分 支 。本 章 主 要 介 绍 数 据 库 的 基 础 知 识 和 基 本 概 念 , 为 后 面 学 习 和 掌 握 Visual FoxPro 程 序 设 计 技 术 打 下 基 础 。1 .1 数 据 库 基 本 概 念1 .1 .1 数 据 处 理 的 概 念数据 ( Data ) 和 信 息 ( Information) 是 数 据 处 理 中 的 两 个 基 本 概 念 。 数 据 是 人 们 为 了 进 行 交 流 、 通 信 、 解 释 , 用 来 表 示 主 客 观 对
28、 象 的 一 种 形 式 。 或 者 说 , 数 据 是 用 来 表 示 数 量 、 活 动 、 事 务 等 情 况 的一 组 符 号 , 这 些 符 号 可 以 是 文 字 、 符 号 、 数 字 、 表 格 、 图 形 、 声 音 等 。 在 数 据 库 中 , 把 计 算 机 能 识 别 并 能 处 理 的 一 切 符 号 , 都 称 为 数 据 。 这 里 的 符 号 包 括 数 字 、 文 字 ( 英 文 字 母 、 汉 字 等 ) 、 各 种 符 号 和 图 形 等 。 通 常 可 将 数 据 分 为 许 多 类 , 如 表 示 工 资 、 物 价 、 考 试 成 绩 等 具 有
29、量 的 多 少 的 数 据 , 称 为 数 值 型 数 据 ; 表 示 姓 名 、 商 品 名 称 、 课 程 名 称 等 的 数 据 , 称 为 字 符 型 数 据 。信 息 是 客 观 事 物 属 性 的 反 映 , 是 经 过 加 工 并 对 人 类 社 会 实 践 和 生 产 经 营 活 动 产 生 影 响 的 数据 表 现 形 式 。 或 者 说 , 信 息 是 对 原 始 数 据 加 工 后 得 到 的 , 对 于 某 个 目 的 来 说 有 用 的 知 识 或 数 据 。 数 据 是 信 息 的 原 始 资 料 , 数 据 经 过 解 释 并 赋 予 一 定 的 意 义 后 ,
30、便 成 为 信 息 。信 息 和 数 据 在 概 念 上 既 有 联 系 , 又 有 区 别 。 它 们 之 间 的 关 系 可 以 看 成 是 原 料 和 成 品 之 间 的关 系 , 不 经 过 加 工 的 数 据 只 是 一 种 原 始 材 料 , 不 能 影 响 人 们 的 社 会 实 践 和 生 产 经 营 活 动 , 这 种 数据 只 能 记 录 客 观 世 界 的 事 实 。 只 有 经 过 提 炼 和 加 工 , 使 数 据 发 生 质 的 变 化 , 才 能 成 为 信 息 。 因此 , 信 息 来 源 于 数 据 , 是 对 数 据 进 行 加 工 处 理 的 产 物 。
31、数 据 经 过 加 工 后 , 被 赋 予 一 定 的 含 义 , 使 其 具 有 知 识 性 并 对 人 类 活 动 产 生 决 策 作 用 , 从 而 形 成 信 息 。 经 过 加 工 后 得 到 的 信 息 , 仍 然 以 数 据 的 形 式 出 现 , 此 时 的 数 据 是 信 息 的 载 体 , 是 供 人 们 认 识 和 利 用 信 息 的 一 种 媒 介 。 例 如 , 某 百 货 公 司 2 第 一 章 数 据 库 原 理 概 述各 月 份 的 商 品 销 售 量 是 该 公 司 商 品 销 售 情 况 的 反 映 。 商 品 销 售 量 可 以 用 数 字 表 示 为 一
32、 组 数 据 , 管 理 人 员 难 以 从 该 组 数 据 中 直 接 得 到 该 公 司 的 销 售 情 况 分 析 。 但 是 , 把 商 品 销 售 数 据 按 商 品 进行 分 组 , 并 统 计 出 各 种 商 品 的 销 售 量 后 , 就 可 以 知 道 该 公 司 各 种 商 品 的 销 售 情 况 了 。 这 组 反 映 商 品 销 售 情 况 的 数 据 就 是 信 息 , 它 们 是 在 原 始 销 售 数 据 的 基 础 上 经 加 工 后 得 到 的 。数 据 处 理 又 称 为 信 息 处 理 , 即 利 用 计 算 机 对 各 种 类 型 的 数 据 进 行 处
33、 理 , 包 括 对 数 据 的 采 集 、 存储 、 整 理 、 分 类 、 排 序 、 统 计 、 加 工 、 检 索 、 维 护 和 传 输 等 一 系 列 操 作 过 程 。 数 据 处 理 的 目 的 是 从 大 量 的 、 原 始 的 数 据 中 获 得 我 们 所 需 要 的 资 料 并 提 取 有 用 数 据 成 分 , 作 为 行 为 和 决 策 的 依 据 。 随 着 人 类 社 会 的 发 展 和 进 步 , 在 人 类 社 会 活 动 ( 包 括 政 治 、 经 济 和 文 化 活 动 ) 中 , 信 息 居 于 非 常 重 要 的 地 位 。 可 以 说 , 人 类
34、的 全 部 活 动 都 是 在 信 息 的 支 配 和 指 导 下 进 行 的 。 随 着 信 息 量 的 急 剧 增 长 , 人 们 对 数 据 处 理 提 出 了 更 高 的 要 求 。 电 子 计 算 机 已 经 成 为 数 据 处 理 的 强 有 力 工 具 , 尤 其 是 数 据库 技 术 的 发 展 , 将 数 据 处 理 提 高 到 一 个 更 高 的 水 平 。1 .1 .2 数 据 库 技 术 的 发 展随 着 计 算 机 硬 件 与 软 件 的 发 展 , 利 用 计 算 机 进 行 数 据 处 理 经 历 了 人 工 管 理 、 文 件 系 统 和 数 据 库 系 统 三
35、 个 阶 段 。人 工 管 理 阶 段 是 数 据 处 理 的 初 期 阶 段 , 采 用 程 序 管 理 的 方 式 。 这 个 阶 段 由 于 计 算 机 技 术 还很 落 后 , 数 据 量 不 是 很 大 , 数 据 处 理 是 一 个 程 序 对 应 一 组 数 据 , 数 据 和 程 序 在 一 起 。 因 此 , 数 据 不 能 长 期 保 存 , 没 有 软 件 系 统 对 数 据 进 行 管 理 , 基 本 上 没 有 文 件 的 概 念 , 数 据 本 身 不 具 有 独 立 性 而且 有 大 量 的 数 据 冗 余 。文 件 系 统 管 理 阶 段 把 数 据 组 织 成
36、 文 件 的 形 式 , 所 有 的 文 件 由 一 个 称 为 文 件 管 理 系 统 的 软 件进 行 管 理 。 文 件 中 的 数 据 以 “记 录” 的 形 式 存 放 , 记 录 由 某 些 相 关 的 数 据 项 组 成 , 若 干 个 具 有 相 同 性 质 的 记 录 的 集 合 构 成 了 文 件 。 每 一 个 用 户 都 可 以 建 立 、 维 护 和 处 理 一 个 或 几 个 文 件 , 每 个 文 件 都 有 特 定 的 文 件 名 存 在 外 部 存 储 器 上 。 数 据 可 以 离 开 处 理 它 的 程 序 而 独 立 存 在 。 应 用 程 序 通 过
37、文 件 系 统 对 文 件 中 的 数 据 进 行 操 作 。 文 件 系 统 作 为 应 用 程 序 和 数 据 之 间 的 桥 梁 , 使 得 一 批 数 据在 一 个 专 门 的 文 件 系 统 管 理 之 下 , 可 以 被 多 个 应 用 程 序 使 用 。 因 此 , 文 件 系 统 可 以 使 数 据 具 有 独 立 性 , 在 一 定 程 度 上 减 少 了 数 据 的 冗 余 。 但 是 , 文 件 系 统 的 方 法 还 存 在 着 冗 余 度 大 、 空 间 浪 费 、 文 件 不 易 扩 充 等 缺 点 , 数 据 还 缺 乏 充 分 的 独 立 性 , 数 据 间 的
38、 联 系 及 数 据 共 享 还 不 理 想 , 对 数 据 的 统一 管 理 和 控 制 还 比 较 困 难 。数 据 库 系 统 阶 段 在 文 件 系 统 的 基 础 上 形 成 了 数 据 库 技 术 。 数 据 库 是 把 数 据 按 一 定 的 结 构 和 形 式 组 织 起 来 的 记 录 的 集 合 , 这 些 数 据 存 储 在 计 算 机 外 存 储 器 上 , 具 有 以 下 特 点 : 尽 可 能 不 重 复( 即 最 少 冗 余 ) ; 以 最 优 方 式 服 务 于 一 个 或 多 个 应 用 程 序 ( 应 用 程 序 对 数 据 资 源 的 共 享 ) ; 数
39、据 的 存 放 应 尽 可 能 地 独 立 于 使 用 它 的 应 用 程 序 ( 数 据 的 独 立 性 ) ; 用 一 个 软 件 统 一 管 理 这 些 数 据 , 如 维 护 、 增 加 、 变 更 和 检 查 数 据 等 。 数 据 库 的 基 本 思 想 是 要 对 所 有 的 数 据 实 行 统 一 、 集 中 和 独 立 的 管理 , 使 数 据 独 立 于 程 序 而 存 在 并 可 提 供 给 各 类 不 同 的 用 户 共 享 使 用 。由 此 可 以 看 出 :(1) 数 据 库 中 的 数 据 必 须 是 关 联 的 。 实 际 上 这 种 关 联 就 是 把 数 据
40、 按 一 定 的 结 构 存 放 , 因 此 ,数 据 库 不 但 存 放 数 据 , 而 且 存 入 数 据 之 间 的 关 系 。1 .1 数 据 库 基 本 概 念 3 (2) 数 据 库 中 的 数 据 都 与 应 用 程 序 无 关 地 存 放 在 外 存 储 器 上 。目 前 , 数 据 库 系 统 已 经 得 到 了 广 泛 的 应 用 , 大 型 复 杂 的 信 息 管 理 系 统 大 多 数 以 数 据 库 为 核心 , 数 据 库 系 统 已 经 成 为 现 代 管 理 信 息 系 统 强 有 力 的 工 具 , 在 计 算 机 应 用 中 起 着 越 来 越 重 要 的
41、作 用 。 随 着 计 算 机 应 用 从 单 机 发 展 到 网 络 , 数 据 库 技 术 也 向 着 网 络 应 用 方 向 发 展 。1 .1 .3 数 据 库 系 统数 据 库 是 指 以 一 定 方 式 存 储 在 计 算 机 存 储 设 备 上 的 、 相 互 关 联 的 数 据 的 集 合 , 供 数 据 处 理 时 使 用 。数 据 库 系 统 ( 数 据 库 应 用 系 统 ) 由 相 关 的 硬 件 环 境 、 软 件 系 统 、 数 据 和 人 员 四 个 部 分 组 成 。 其中 :1 . 硬 件 环 境硬 件 环 境 是 数 据 库 系 统 的 物 理 支 撑 。
42、数 据 库 系 统 需 要 在 操 作 系 统 的 支 持 下 工 作 , 而 且 本 身包 含 着 数 据 库 管 理 系 统 和 应 用 程 序 等 , 因 而 需 要 有 较 大 的 内 存 容 量 。 同 时 , 由 于 用 户 的 数 据 、 系 统 软 件 和 应 用 软 件 都 要 保 存 在 外 部 存 储 器 上 , 也 需 要 较 大 的 外 存 容 量 。2 . 软 件 系 统软 件 系 统 包 括 系 统 软 件 和 应 用 软 件 。 系 统 软 件 主 要 包 括 支 持 数 据 库 管 理 系 统 运 行 的 操 作 系 统 、 数 据 库 管 理 系 统 、 开
43、 发 应 用 系 统 的 程 序 设 计 语 言 及 其 编 译 系 统 、 应 用 系 统 开 发 工 具 等 。 系 统软 件 为 开 发 应 用 系 统 提 供 了 良 好 的 环 境 。 应 用 软 件 是 指 在 数 据 库 管 理 系 统 的 基 础 上 , 由 用 户 根据 自 己 的 实 际 需 要 自 行 开 发 的 应 用 程 序 。数 据 库 管 理 系 统 ( Data Base Management System, 简 称 DBMS) 负 责 对 数 据 库 进 行 统 一 管 理 和 控 制 , 是 用 户 应 用 程 序 和 数 据 库 中 数 据 之 间 的 接
44、 口 。 数 据 库 管 理 系 统 的 职 能 是 管 理 和 维 护 数 据 库 , 接 受 用 户 提 出 的 访 问 , 处 理 数 据 库 的 各 种 请 求 。 数 据 库 只 有 在 数 据 库 管 理 系 统 的 管 理 下 , 才 能 实 现 对 数 据 的 各 种 操 作 。 数 据 库 管 理 系 统 提 供 一 系 列 与 高 级 语 言 类 似 的 命 令 , 用 户 可 以 使 用 这 些命 令 来 实 现 对 数 据 库 的 各 种 操 作 , 也 可 以 直 接 用 这 些 命 令 编 写 应 用 程 序 。数 据 库 管 理 系 统 一 般 具 有 以 下 特
45、 征 : (1) 支 持 整 个 数 据 的 共 享 存 取 。(2) 可 以 灵 活 定 义 特 定 应 用 领 域 的 数 据 结 构 。(3) 有 为 处 理 和 分 析 数 据 提 供 广 泛 通 用 工 具 的 能 力 。在 数 据 库 系 统 中 , 用 户 对 数 据 库 进 行 的 各 种 操 作 都 通 过 数 据 库 管 理 系 统 实 现 , 因 而 使 数 据 库 中 的 数 据 具 有 较 大 的 独 立 性 。3 . 数 据数 据 是 数 据 库 系 统 的 管 理 对 象 , 是 为 用 户 提 供 数 据 的 信 息 源 。 数 据 库 是 把 数 据 按 一
46、定 的 结构 和 形 式 组 织 起 来 的 记 录 的 集 合 。4 . 人 员数 据 库 系 统 的 人 员 是 指 管 理 、 开 发 和 使 用 数 据 库 的 主 要 人 员 , 主 要 包 括 数 据 库 管 理 员 、 系 统 分 析 员 、 应 用 程 序 员 和 用 户 。 数 据 库 管 理 员 负 责 管 理 和 控 制 数 据 库 系 统 ; 系 统 分 析 员 负 责 应 用 系 统 的 需 求 分 析 和 规 范 说 明 , 确 定 系 统 的 软 硬 件 配 置 、 系 统 的 功 能 及 数 据 库 概 念 设 计 ; 应 用 程 序 员 4 第 一 章 数 据
47、 库 原 理 概 述负 责 设 计 应 用 系 统 的 程 序 模 块 , 编 写 应 用 程 序 ; 最 终 用 户 通 过 应 用 系 统 提 供 的 用 户 接 口 界 面 使 用 数 据 库 。 常 用 的 接 口 方 式 有 菜 单 驱 动 、 图 形 显 示 、 表 格 操 作 等 , 这 些 接 口 为 用 户 提 供 了 简 明 直 观的 数 据 表 示 方 式 和 方 便 快 捷 的 操 作 方 法 。1 .1 .4 数 据 模 型数 据 库 系 统 研 究 的 对 象 是 客 观 事 物 以 及 反 映 这 些 客 观 事 物 间 相 互 联 系 的 数 据 。 数 据 库
48、 把 数 据 按 一 定 结 构 和 形 式 组 织 起 来 , 各 个 数 据 对 象 以 及 它 们 之 间 存 在 的 相 互 关 系 的 集 合 , 称 为 数 据 模 型 。数 据 模 型 反 映 了 客 观 世 界 中 各 种 事 物 的 联 系 , 是 用 来 反 映 数 据 与 数 据 之 间 联 系 的 静 态 结 构与 行 为 的 一 种 手 段 。 由 于 数 据 库 中 的 数 据 都 是 结 构 化 的 数 据 , 因 此 , 讨 论 数 据 模 型 对 数 据 库 设 计 来 说 很 重 要 的 。根 据 数 据 所 描 述 实 体 对 象 的 属 性 特 征 以 及 人 们 所 采 用 的 描 述 方 法 , 数 据 模 型 可 分 为 三 种 : 层 次 模 型 ( Hierarchical Model) 、 网 状 模 型 ( Network Model ) 和 关 系 模 型 ( Relational Model ) 。 相 应 地 , 数 据 库 也 可 分 为 层 次 型 数 据 库 、 网 络 型 数 据 库 和 关 系 型 数 据