资源描述
数 据 库 原 理 与 应 用吉 林 师 范 大 学 计 算 机 学 院 第 一 章 绪 论 数 据 库 是 数 据 管 理 的 工 具 。 数 据 管 理 经 历 了 从 手 工 管 理 阶 段 、文 件 管 理 阶 段 到 数 据 库 管 理 阶 段 的 变 迁 。 1.1 数 据 库 系 统 概 述 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 一、数据库(Data Base) 存 放 数 据 的 仓 库 ( 顾 名 思 义 /不 准 确 的 含 义 ) 信 息 的 载 体 /表 示 尽 管 数 据 库 技 术 已 发 展 成 熟 , 但 还 没 有 一 个 普 遍 接 受 的 、 严格 的 定 义 。 数 据 库 应 具 备 的 特 征 /定 义 :( 1) 数 据 库 是 相 互 关 联 的 数 据 的 集 合数 据 库 中 的 数 据 不 是 孤 立 的 , 数 据 与 数 据 之 间 是 相 互 关联 的 , 在 数 据 库 中 不 仅 要 能 够 表 示 数 据 本 身 , 还 要 能 够表 示 数 据 与 数 据 之 间 的 联 系 。如:学籍管理学生、课程两类数据。 ( 2) 用 综 合 的 方 法 组 织 数 据 顺 序 、 索 引 、 聚 簇 Cluster1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 例:人事部门有一个职工文件:职工基本情况有关人事管理的数据 教育部门也有一个职工文件:职工基本情况有关教育培训的数据 其中,“职工基本情况”重复存储,浪费空间。可共享存储类似这样的共同数据,以降低数据的冗余度。( 3) 具 有 较 小 的 数 据 冗 余 , 可 供 多 个 用 户 共 享 低 冗 余 与 数 据 共 享 : 在 数 据 库 技 术 之 前 , 数 据 文 件都 是 独 立 的 , 任 何 数 据 文 件 都 必 须 含 有 满 足 某 一 应 用的 全 部 数 据 。1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 ( 4) 具 有 较 高 的 数 据 独 立 性 数 据 独 立 性 : ( 包 括 物 理 独 立 性 、 逻 辑 独 立 性 。 具 体 见萨 师 煊 等 主 编 数 据 库 系 统 概 论 Page11) 指 数 据 的 组 织 和 存 储 方 法 与 应 用 程 序 互 不 依 赖 , 彼 此 独立 的 特 性 。 可 降 低 应 用 程 序 的 开 发 代 价 和 维 护 代 价 。1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统在数据库技术之前,数据文件的组织方式和应用程序是密切相关的。数据结构改变,相应的应用程序也必须随之修改=开发/维护代价 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统( 5) 具 有 安 全 控 制 机 制 , 能 够 保 证 数 据 的 安 全 、 可 靠 数 据 库 要 有 一 套 安 全 机 制 , 以 便 有 效 地 防 止 数 据 库 中 的数 据 被 非 法 使 用 /修 改 ;数 据 库 还 要 有 一 套 备 份 /恢 复 机 制 , 以 保 证 当 数 据 遭 到 破坏 时 将 数 据 立 刻 完 全 恢 复 = 继 续 、 可 靠 地 运 行 。 ( 6) 允 许 并 发 地 使 用 数 据 库 , 能 有 效 、 及 时 地 处 理 数 据, 并 能 保 证 数 据 的 一 致 性 和 完 整 性一 致 性 : 数 据 库 中 的 数 据 是 共 享 的 , 并 且 允 许 多 个 用 户 同时 使 用 相 同 的 数 据 。 这 就 要 求 数 据 库 能 够 协 议 一 致 , 保 证各 个 用 户 之 间 对 数 据 的 操 作 不 发 生 矛 盾 和 冲 突 。正 确 性 、 完 整 性 : 保 证 数 据 正 确 的 特 性 数 据 完 整 性可 通 过 建 立 一 些 约 束 条 件 保 证 数 据 库 中 的 数 据 是 正 确 的 。如:学生年龄20 (2或100则错误)1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 二、数据库管理系统(DataBase Management System ,DBMS)上 节 提 到 的 数 据 库 的 功 能 /特 性 不 是 数 据 库 中 的 数 据 固 有的 , 是 靠 管 理 或 支 持 数 据 库 的 系 统 软 件 DBMS提供 的 。DBMS任 务 :对 数 据 资 源 进 行 管 理 , 使 之 能 为 多 个 用 户 共 享 。保 证 数 据 的 安 全 性 /可 靠 性 /完 整 性 /一 致 性 /独 立 性1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 2 数 据 库 操 纵 功 能 完 成 对 数 据 库 中 数 据 的 操 作 : 插 入 、 删 除 、 修 改 ; 重 新 组 织 数 据 库 的 存 储 结 构 ; 完 成 对 数 据 库 的 备 份 /恢 复 等 .DBMS功 能 : 1 数 据 库 定 义 功 能 定 义 数 据 库 结 构 和 存 储 结 构 ; 定 义 数 据 库 中 数 据 之 间 的 联 系 ; 定 义 数 据 完 整 性 约 束 条 件 和 保 证 完 整 性 的 触 发 机 制 等 . 3 数 据 库 查 询 功 能以 各 种 方 式 提 供 灵 活 的 查 询 功 能 , 以 便 方 便 使 用 数 据 .4 数 据 库 控 制 功 能完 成 对 数 据 库 的 安 全 性 控 制 /完 整 性 控 制 /并 发 控 制5 数 据 库 通 信 功 能在 分 布 式 数 据 库 或 提 供 网 络 操 作 功 能 的 数 据 库 中 还 必 须提 供 通 信 功 能 。 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 三、数据库系统和数据库管理员1 数 据 库 系 统 (DataBase System, DBS)基 于 数 据 库 的 计 算 机 应 用 系 统 , 包 括 :以 数 据 为 主 体 的 数 据 库管 理 数 据 库 的 系 统 软 件 DBMS支 持 数 据 库 系 统 的 计 算 机 硬 件 环 境 和 操 作 系 统 环 境管 理 和 使 用 数 据 库 系 统 的 人 , 特 别 是 DBA方 便 使 用 和 管 理 系 统 的 技 术 说 明 书 和 使 用 说 明 书1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统2 数 据 库 管 理 和 数 据 库 管 理 员 (DataBase Administrator, DBA)从 事 数 据 库 管 理 工 作 的 人 员 , 负 责 数 据 库 的 全 面 管 理工 作 ( 维 护 、 设 计 )数 据 库 的 使 用 会 改 变 企 事 业 单 位 的 管 理 方 式 , 但 因 为 要 把众 多 部 门 或 用 户 的 数 据 放 在 同 一 数 据 库 中 , 会 带 来 一 些 问题 , 如 : 数 据 冲 突 ; 越 权 使 用 数 据 ; 重 要 数 据 丢 失 因 此 需 要 管 理 部 门 : 负 责 和 数 据 管 理 有 关 的 工 作 。 1.1.1 数 据 、 数 据 库 、 数 据 库 管 理 系 统 、 数 据 库 系 统注 : DBA工 作 繁 重 、 重 要 、 关 键 :除 了 要 掌 握 一 定 的 数 据 处 理 、 数 据 库 技 术 之 外 , 还 应有 处 理 好 人 际 关 系 的 素 质 、 能 力 。 在 一 个 企 事 业 中 ,特 别 是 一 个 规 模 较 大 的 数 据 库 , 不 能 指 望 一 两 个 人 来完 成 管 理 工 作 , 所 以 DBA常 指 数 据 库 管 理 部 门 。开 发 DBS时 , 一 开 始 就 应 设 置 DBA的 职 位 或 相 应 的 机 构, 以 明 确 DBA职 责 、 权 限 。 数 据 处 理 是 计 算 机 应 用 领 域 中 最 大 的 一 类 应 用用 计 算 机 实 现 数 据 管 理 经 历 了 三 个 发 展 阶 段 :1 人 工 管 理 阶 段数 据 库 管 理 的 初 级 阶 段 。在 50年 代 中 期 以 前 , 计 算 机 采 用 的 是 批 处 理 方 式 , 主 要用 于 科 学 计 算 。 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概论 Page6)1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 2 文 件 系 统 阶 段 ( 50年 代 后 期 60年 代 中 期 )特 点 : 计 算 机 技 术 有 了 很 大 的 发 展 , 开 始 广 泛 应 用 于 信 息 处 理 存 储 设 备 有 了 磁 盘 、 磁 鼓 等 可 直 接 存 取 的 设 备 计 算 机 有 了 操 作 系 统 , 包 括 文 件 管 理 系 统 , 用 户 可 将 数 据 组 织 成 文 件 体 交 给 系 统 进 行 自 动 管 理 。 数 据 可 长 期 保 存 在 磁 盘 等 存 储 设 备 上 程 序 和 数 据 有 了 一 定 的 独 立 性 , 且 文 件 有 多 种 形 式 的 组 织 结 构 : 顺 序 、 链 接 、 索 引 、 直 接1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 缺 点 :( 1) 数 据 冗 余 较 大 每 个 文 件 都 是 为 特 定 的 用 途 设 计 的 , 同 样 数 据 在 多 个 文 件 中 重 复 存 储进 能 提 供 以 文 件 为 单 位 的 数 据 共 享 。( 2) 程 序 和 数 据 之 间 的 独 立 性 较 差应 用 程 序 依 赖 于 文 件 的 存 储 结 构 , 修 改 文 件 存 储 结 构 就 要修 改 程 序1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 ( 3) 对 数 据 的 表 示 和 处 理 能 力 较 差 文 件 的 结 构 和 操 作 比 较 单 一 , 不 够 丰 富 。( 4) 数 据 不 一 致 由 ( 1) 造 成 , 更 新 时 会 造 成 同 一 数 据 在 不 同 文 件中 的 不 一 致 。( 5) 数 据 联 系 弱文 件 与 文 件 之 间 是 独 立 的 , 文 件 之 间 的 联 系 必 须 通过 程 序 来 构 造 。 尽 管 如 此 , 文 件 系 统 在 数 据 管 理 技 术 的 发 展 中 仍 起着 很 重 要 的 作 用 。1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 1.1.2 数 据 管 理 技 术 的 产 生 和 发 展3.数 据 库 系 统 阶 段从 60年 代 后 期 开 始 , 计 算 机 用 于 信 息 处 理 的 规 模 越 来 越 大, 对 数 据 管 理 的 技 术 提 出 了 更 高 的 要 求 , 此 时 开 始 提 出 计算 机 网 络 系 统 和 分 布 式 系 统 , 出 现 了 大 容 量 的 磁 盘 , 文 件系 统 已 不 再 能 胜 任 多 用 户 环 境 下 的 数 据 共 享 和 处 理 。 一 个新 的 数 据 库 管 理 技 术 DBMS由 此 而 形 成 , 它 对 所 有 用 户数 据 实 行 统 一 的 、 集 中 的 管 理 、 操 作 和 维 护 。特 点 : ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 Page9-13) 按 照 数 据 模 型 的 进 展 情 况 , 数 据 库 系 统 的 发 展 可 划 分 为三 代 :第 一 代 : 层 次 数 据 库 系 统 和 网 状 数 据 库 系 统 主 要 支 持 层 次 和 网 状 数 据 模 型第 二 代 : 关 系 数 据 库 系 统 支 持 关 系 数 据 模 型 , 该 模 型 有 严 格 的 理 论 基 础 ,概 念 简 单 、 清 晰 , 易 于 用 户 理 解 和 使 用 。 因 此 一经 提 出 便 迅 速 发 展 , 成 为 实 力 性 最 强 的 产 品 。1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 第 三 代 : 新 一 代 数 据 库 系 统 面 向 对 象 数 据 库 系 统 基 于 扩 展 的 关 系 数 据 模 型 或 面 向 对 象 数 据 模 型 的 尚 未完 全 成 熟 的 一 代 数 据 库 系 统 。特 点 : 支 持 包 括 数 据 、 对 象 和 知 识 的 管 理 在 保 持 和 继 承 第 二 代 技 术 的 基 础 上 引 进 新 技 术 (如 OO) 对 其 他 系 统 开 放 , 具 有 良 好 的 可 移 植 性 、 可 连 结 性 、 可 扩 充 性 、 互 操 作 性 。 1.1.2 数 据 管 理 技 术 的 产 生 和 发 展 1.2 数 据 模 型 模 型 对 客 观 事 物 、 现 象 、 过 程 或 系 统 的 简 化 描 述 所 有 的 数 据 库 系 统 都 为 它 所 要 描 述 的 世 界 建 立 了 模 型 : 数 据 建 模 : 描 述 了 组 织 数 据 的 框 架 结 构 。 如:楼房住户-数据;房间规格-数据模型 数 据 建 模 最 后 发 展 成 为 数 据 的 存 储 方 式 ( 数 据 字典 中 的 定 义 ) 业 务 功 能 建 模 : 用 户 的 最 终 需 求 。 业 务 功 能 建 模 最 后 发 展 成 为 应 用 程 序 产 生 高 效 的 应 用 程 序 的 前 提 是 良 好 的 数 据 模 型 。 ( 正 如10 平 米 的 房 间 无 法 成 为 会 议 厅 一 样 , 一 个 糟 糕 的 数 据 模 型 也无 法 产 生 高 质 量 的 应 用 。 1.2 数 据 模 型为什么要建立数据模型(Data Model): 象盖大楼的设计图一样,DM可使所有的 项目参与者都有一个共同的数据标准 避免出现问题再解决(边干便改的方式) 可及早发现问题 加快应用开发速度 1.2.1 数 据 模 型 的 三 要 素 1 数 据 结 构 描 述 数 据 的 静 态 特 征 , 包 括 对 数 据 结 构 和 数 据 建 联 系 的 描 述 。 通 常 按 照 数 据 结 构 的 类 型 来 命 名 数 据 模 型 : 层 次 结 构 层 次 模 型 网 状 结 构 网 状 模 型 关 系 结 构 关 系 模 型 2 数 据 操 作 描 述 数 据 的 动 态 特 征 : 一 组 定 义 在 数 据 上 的 操 作( 包 括 操 作 的 含 义 、 操 作 符 、 运 算 规 则 及 其 语 言 等 ) 主 要 操 作 : 检 索 与 更 新 ( 插 入 、 删 除 、 修 改 ) 1.2.1 数 据 模 型 的 三 要 素 3 3. 数 据 的 约 束 条 件 完 整 性 规 则 的 集 合 , 数 据 库 中 的 数 据 必 须 满 足 这 组 规 则 。 约 束 条 件 的 主 要 目 的 是 使 数 据 库 与 它 所 描 述 的 现 实 系 统 相 符 合 。 设 计 时 : 时 数 据 模 型 正 确 、 真 实 、 有 效 地 反 映 现 实 运 行 时 : 保 证 数 据 库 中 的 数 据 值 真 实 地 体 现 现 实 世 界 的 状 态 1.2.2常 见 数 据 模 型 根 据 数 据 模 型 应 用 目 的 不 同 , 数 据 模 型 有 以 下 几 种 : 概 念 ( 数 据 ) 模 型 ( Conceptual Data Model) 面 向 现 实 世 界 建 模 主 要 用 来 描 述 现 实 世 界 的 概 念 化 结 构 , 与 具 体 的 DBMS无 关 ; - 现 实 世 界 的 事 物 经 过 人 脑 的 抽 象 加 工 , 提 取 出 对 用 户 有 用 的 信 息 , 经 过 组 织 整 理 加 工 形 成 结 余 现 实 世 界 和 计 算 机 世 界 之 间 的 中 间 模 型 ; - CDM只 关 心 现 实 世 界 中 的 事 物 、 事 务 特 征 、 联 系 , 完 全 没 有 与 具 体 及 其 相 关 的 任 何 概 念 ; 1.2.2常 见 数 据 模 型 - CDM是 系 统 分 析 员 、 程 序 设 计 员 、 维 护 人 员 、 用 户 之 间 相 互 理 解 的 共 同 语 言 ; - CDM能 时 数 据 库 的 设 计 人 员 在 设 计 的 初 始 阶 段 摆 脱 计 算 机 系 统 及 DBMS的 具 体 技 术 问 题 , 集 中 精 力 分 析 数 据 、 数 据 之 间 的 联 系 ;- 概 念 模 型 必 须 转 换 成 逻 辑 模 型 , 才 能 在 DBMS中 实 现 ;- 最 常 用 的 概 念 模 型 是 E-R模 型 1.2.2常 见 数 据 模 型 逻 辑 ( 数 据 ) 模 型 ( Logical Data Model) 面 向 用 户 建 模 用 户 从 数 据 库 所 看 到 的 数 据 模 型 ; - 是 具 体 的 DBMS所 支 持 的 数 据 模 型 ( 网 状 /层 次 /关 系 /面 向 对 象 ) ; - 既 要 面 向 用 户 , 也 要 面 向 系 统 ; - LDM表 示 数 据 建 联 系 的 方 法 - 一 般 的 DBMS支 持 一 种 LDM( 特 殊 的 DBMS支 持 多 种 LDM) 1.2.2常 见 数 据 模 型 物 理 ( 数 据 ) 模 型 ( Physical Data Model) 面 向 具 体 的 DBMS, 面 向 机 器 描 述 数 据 在 存 储 介 质 上 的 组 织 结 构 - PDM不 仅 与 具 体 的 DBMS有 关 , 还 与 操 作 系 统 和 硬 件 有 关 - 每 一 种 逻 辑 模 型 在 实 现 时 都 有 其 对 应 的 物 理 模 型 - PDM加 入 了 概 念 模 型 中 为 考 虑 的 因 素 : 触 发 器 、 存 储 过 程 、 主 键 、 外 键 、 索 引 等 - DBMS为 保 证 其 独 立 性 和 可 以 执 行 , 大 部 分 PDM 的 实 现 工 作 由 系 统 自 动 完 成 , 而 设 计 者 只 设 计 索 引 、 聚 簇 等 特 殊 结 构 1.2.3概 念 模 型 实 体 -联 系 ( Entity-Relationship) 概 念 模 型 首 先 介 绍 E-R模 型 中 常 用 的 几 个 重 要 概 念 , 利 用 它 们可 构 造 出 现 实 世 界 的 数 据 的 抽 象 描 述 。 1 实 体 、 实 体 型 、 实 体 集 实 体 ( Entity) 客 观 存 在 并 能 相 互 区 分 的 事 物 如:人;数据库课程;正是用的计算机;一 场足球赛不 能 严 格 地 定 义 实 体 , 正 如 几 何 中“ 点 ” , “ 线 ” 一 样 。 关 键 之 处 : 一 个 实 体 能 和 别 的 实 体 区 分 开 。 1.2.3概 念 模 型 实 体 型 ( Entity Type) 用 实 体 名 及 属 性 名 集 合 来 抽 象 刻 画 同 类 实 体 实 体 集 ( Entity Set) 同 型 的 实 体 组 成 的 集 合 。2 属 性 ( Attribute) 指 实 体 所 具 有 的 某 一 方 面 的 特 性 , 一 个 实 体 可 由 若 干 个 属 性 来 刻 划 。 - 属 性 取 值 在 一 定 的 范 围 , 称 为 该 属 性 的 值 域 /域( Domain) - 唯 一 标 识 实 体 的 属 性 集 称 为 码 (Key) 1.2.3概 念 模 型3 联 系 ( Relationship) 实 体 集 合 间 存 在 的 相 互 关 系 为 了 建 立 现 实 世 界 的 完 整 模 型 , 常 常 需 要 对 联 系 分 类 , 根 据 一 个 实 体 集 合 的 实 体 可 以 和 多 少 个 另 一 类 实 体 集 合 的 实 体 相 联 系 , 可 将 联 系 分 为 如 下 几 种 : (1) 一 对 一 联 系 ( 1: 1) 系系主任 (2) 一 对 多 联 系 ( 1: n) 班级学生 (3) 多 对 多 联 系 ( m: n) 课程学生 1.2.3概 念 模 型举例1:(具体见萨师煊等主编数据库系统概论 Page17-18) 两个实体型之间的联系(图1.10) 三个实体型之间的联系(图1.11) 一个实体型之间的联系(图1.12)举例2:(具体见萨师煊等主编数据库系统概论 Page19-20)图1.14、图1.15 1.2.3概 念 模 型4 实 体 -联 系 图 ( 1) 确 定 所 有 实 体 集 合 用 矩 形 方 框 表 示 实 体 集 合 , 方 框 内 标 明 实 体集 合 名 称 ; ( 2) 选 择 实 体 集 应 包 含 的 属 性用 椭 圆 框 表 示 属 性 , 通 过 无 向 边 连 接 到 实 体 集 。 只有 一 个 属 性 的 实 体 集 可 用 属 性 代 替 , 附 加 到 它 参 加的 联 系 上 ; ( 3) 确 定 实 体 集 之 间 的 联 系用 菱 形 框 表 示 , 框 内 标 明 联 系 的 名 称 , 通 过 无 向 边( 或 有 向 边 ) 连 接 到 参 加 联 系 的 每 个 实 体 集 合 ; 1.2.3概 念 模 型( 4) 确 定 实 体 集 的 关 键 字 用 下 划 线 在 属 性 上 标 明 关 键 字 的 属 性 集 合 ;( 5) 确 定 联 系 的 类 型 在 用 无 向 边 连 接 联 系 到 实 体 集 时 , 在 边 上 注 明 1或 n( 多 ) 来 知 名 联 系 的 类 型 。 ( 在 用 有 向 边 连 接联 系 到 实 体 集 时 , 让 边 的 箭 头 指 向 1的 实 体 集 的 一 方 ,多 对 多 因 为 都 是 多 方 , 故 无 箭 头 ) 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型 上 节 讨 论 的 概 念 数 据 模 型 是 “ 概 念 上 ” 的 , 是 抽象 的 , 它 与 具 体 的 数 据 库 管 理 系 统 无 关 。 这 节 要 讨 论的 数 据 模 型 将 与 具 体 的 DBMS有 关 , 与 DBMS支 持 的数 据 和 联 系 的 表 示 或 存 储 有 关 。 前 面 提 到 过 , 数 据 库 中 不 仅 要 存 放 数 据 本 身 , 还要 存 放 数 据 间 的 联 系 , 可 用 不 同 的 方 法 表 示 数 据 与 数据 之 间 的 联 系 。 把 表 示 数 据 与 数 据 之 间 联 系 的 方 法 称 为 逻 辑 ( 数据 ) 模 型 。 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型 一 、 层 次 模 型 ( H ierarchical Model) 用 树 型 结 构 来 表 示 实 体 之 间 联 系 的 模 型 。 支 持 层 次 模 型 的 典 型 系 统 诞 生 于 1970年 前 后 , 是 IBM 公 司 的 IMS( Information Management System) 系 统 。 1. 层 次 模 型 的 数 据 结 构 层次模型示例(萨 师 煊 等 主 编 数 据 库 系 统 概 论 Page22 图1.17) 举例: Page23 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型2层 次 模 型 的 数 据 操 纵 与 完 整 性 约 束3层 次 模 型 的 存 储 结 构 4 层 次 模 型 的 优 缺 点 优 点 : 结 构 简 单 缺 点 : 插 入 、 删 除 限 制 多 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型 二 、 网 状 模 型 ( Network Model) 典 型 代 表 : DBTG( Data Base Task Group) 数 据 库 任 务 组 1 网 状 模 型 的 数 据 结 构 2 网 状 模 型 的 数 据 操 纵 与 完 整 性 约 束 3 网 状 模 型 的 存 储 结 构 4 网 状 模 型 的 优 缺 点 优 点 : 更 能 直 接 描 述 世 界 缺 点 : 结 构 复 杂 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型三 、 关 系 模 型 ( Relational Model) 1970, IBM, E.F.Codd 关 系 模 型 源 于 数 学 , 它 把 数 据 看 成 是 二 维 表 ( 关 系 ) 中 的 元 素 。 ( 其 严 格 定 义 下 一 章 给 出 ) 用 关 系 表 示 ( 不 需 用 指 针 ) 实 体 和 实 体 之 间 联 系 的 模 型 称 为 关 系 模 型 。 基 本 术 语 : 萨 师 煊 等 主 编 数 据 库 系 统 概 论 Page31 举例见教材 对 于 用 户 , 关 系 方 法 应 该 是 很 简 单 的 , 但 RDBMS很 复 杂 , 因 为 将 大 量 工 作 都 转 嫁 给 了 RDBMS。 1.2.4 三 种 主 要 的 逻 辑 数 据 模 型RDBMS的设想在层次、网状数据库诞生的同时产生的,但研制开发RDBMS却花费了比人们想象的要长得多的时间。所以成为商品并投入使用比层次、网状数据库晚了十几年。但一投入使用就显示了旺盛的活力,并逐步取代层次、网状数据库。 1.3 数 据 库 系 统 的 结 构 1.3.1 数 据 库 系 统 模 式 的 概 念 当 设 计 数 据 库 时 , 对 数 据 库 的 结 构 感 兴 趣 ; 即 模 式 ( Schema) : 数 据 库 中 数 据 的 逻 辑 结 构 和 特 征 的 描 述 当 应 用 数 据 库 时 , 关 心 的 是 数 据 库 中 存 在 的 数 据 实 例 ( Instance) 。 数 据 库 中 的 数 据 经 常 变 化 , 而 数 据 库 的 结 构 在 一 定 时 间 范 围 内 不 会 改 变 。 数 据 库 中 结 构 的 定 义 可 以 在 多 个 抽 象 级 别 进 行 , 形 成 多 个 级 别 的 数 据 库 模 式 。 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构 数 据 库 系 统 的 三 级 模 式 不 仅 可 以 使 数 据 具 有 独 立 性 ,而 且 还 可 以 使 数 据 达 到 共 享 , 使 同 一 数 据 满 足 更 多 用 户 的不 同 要 求 。 一 、 内 模 式 ( Internal Schema) 存 储 模 式 是 数 据 在 数 据 库 系 统 的 内 部 表 示 , 即 对 数 据 的 物 理 结 构 /存 储 方 式 的 描 述 , 是 低 级 描 述 , 一 般 由 DBMS提 供 的 语 言 或 工 具 完 成 ; 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构 要 修 改 存 储 数 据 库 的 结 构 ( 例 如 , 用 倒 排 文 件 代 替 多 链 表 ) , 那 么 仅 仅 需 要 把 这 些 修 改 反 映 在 存 储 模 式 中 ; 通 常 我 们 不 关 心 内 模 式 的 具 体 技 术 实 现 , 而 是 从 一 般组 织 的 观 点 ( 即 概 念 模 式 ) 或 用 户 的 观 点 ( 外 模 式 ) 来 讨 论 数 据 库 的 描 述 。 但 我 们 必 须 意 识 到 基 本 的 内 模 式 和 存 储 数 据 库 的 存 在 。 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构二 、 模 式 ( Schema) 逻 辑 模 式 是 数 据 库 中 全 体 数 据 的 逻 辑 结 构 和 特 性 的 描 述 , 是 所 有 用 户 的 公 共 数 据 视 图 ; DBMS提 供 数 据 定 义 语 言 DDL来 描 述 逻 辑 模 式 ,严 格 定 义 数 据 的 名 称 、 特 征 、 相 互 关 系 、 约 束 等 。 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构三 、 外 模 式 ( External Schema) 用 户 模 式 ( 视 图 ) 是 模 式 的 子 集 或 变 形 , 是 与 某 一 应 用 有 关 的 数据 的 逻 辑 表 示 ; 不 同 用 户 需 求 不 同 , 看 待 数 据 的 方 式 也 可 以 不同 , 对 数 据 保 密 的 要 求 也 可 以 不 同 , 使 用 的 程 序 设 计 语 言 也 可 以 不 同 , 因 此 不 同 用 户 的 外 模 式 的 描 述 可 以 使 不 同 的 。 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构举例:民航售票系统包括处理航班程序和处理旅客程序。- 程序的使用人员不必知道关于人事档案、丢失的行 李、飞行员的航行分配等信息;- 调度员可能需要知道关于航班、飞机和人事档案等 信息(如那些飞行员有资格驾驶747),但不必知道雇员的工资、旅客等信息。所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的部门。 1.3.2 数 据 库 系 统 的 三 级 模 式 结 构Note: 视 图 处 理 的 数 据 并 不 实 际 存 储 在 数 据 库 中 , 而仅 可 以 从 逻 辑 数 据 库 中 构 造 出 来 。 视 图 比 ( 逻 辑 ) 模式 的 抽 象 级 别 更 高 。举例:“年龄”在人事部门数据库中,但(逻辑)模式重金包含出生年月。当用户希望通过访问视图得到年龄时,DBMS翻译这个要求,在从物理数据库上取出的数据完成计算。注:一个数据库只有一个模式,一个内模式,但可以有多个外模式。 1.3.3 数 据 库 的 二 级 映 象 在 三 级 模 式 中 提 供 了 两 级 映 象 , 保 证 了 数 据 库 系 统 的 数 据 独 立 性 , 既 物 理 独 立 性 与 逻 辑 独 立 性 。 一 、 外 模 式 /模 式 映 象 数 据 库 系 统 投 入 使 用 后 , 可 能 有 必 要 修 改 模 式 ( 如 增 加 新 关 系、 属 性 、 改 变 类 型 ) , 这 时 : 重 新 定 义 外 模 式 /模 式 映 象 = 现 存 外 模 式 不 变 = 应 用 程 序 不变 DBA职 责 1.3.3 数 据 库 的 二 级 映 象二 、 模 式 /内 模 式 映 象当 内 模 式 发 生 变 化 时 :重 新 定 义 模 式 /内 模 式 映 象 = 模 式 保 持 不 变 = 外 模式 保 持 不 变 = 建 立 在 外 模 式 上 的 应 用 程 序 保 持 不 变 1.5 数 据 库 技 术 的 研 究 领 域1. 数 据 库 管 理 系 统 软 件 的 开 发2 数 据 库 设 计3 数 据 库 理 论具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 page39-40 第 二 章 关 系 数 据 库 1 关 系 操 作 查 询 操 作 : 选 择 / 投 影 / 连 接 / 除 / 并 / 交 / 差2.1 关 系 模 型 概 述从 数 据 模 型 的 三 要 素 加 以 介 绍一、数据结构 关 系二、 关系操作增 加 、 删 除 、 修 改 2.1 关 系 模 型 概 述元 组 关 系 演 算 : 谓 词 变 元 的 基 本 对 象 是 元 组 变 量 域 关 系 演 算 : 谓 词 变 元 的 基 本 对 象 是 域 变 量Note: 关 系 代 数 和 关 系 演 算 是 抽 象 的 查 询 语 言 , 与具 体 的 DBMS中 实 际 语 言 不 一 样 , 但 彼 此 等 价 , 是从 抽 象 的 观 点 出 发 学 习 数 据 库 查 询 的 问 题 。3 关 系 数 据 语 言 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系统 概 论 page47)2 关 系 操 作 的 表 示 方 法 :关 系 代 数 : 用 对 关 系 的 运 算 表 达 查 询 要 求关 系 演 算 : 用 谓 词 表 达 查 询 要 求 2.1 关 系 模 型 概 述实 体 完 整 性 关 系 模 型 必 须 满 足 的 完 整 性 约 束 条 件参 照 完 整 性三、关系的完整性约束条件用 户 定 义 的 完 整 性 : 针 对 某 一 具 体 数 据 库 的 约 束 条 件 反 映 某 一 具 体 应 用 所 设 计 的 数 据 必 须 满 足 的 语 义 要 求 。( 关 系 系 统 自 动 支 持 ) 2.2 关 系 数 据 结 构 及 形 式 化 定 义 2.2.1 关 系一 、 基 本 概 念 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概论 page47-)1 域 ( Domain)2 笛 卡 尔 积 ( Cartesian Product) 元 组 ( Tuple) 3 关 系 ( Relation) 分 量 ( Component) 候 选 码 Candidate Key 非 码 属 性 Non-key attribute 主 码 Primark Key 全 码 All-key 主 属 性 Prime attribute 2.2 关 系 数 据 结 构 及 形 式 化 定 义 二 、 关 系 的 三 种 类 型 基 本 关 系 ( 基 本 表 ) : 实 际 存 在 的 表 , 是 实 际 存 储 数 据 的 逻 辑 表 示三 、 关 系 的 性 质 ( 6条 , 具 体 见 萨 师 煊 等 主 编 数 据 库系 统 概 论 P50) 查 询 表 : 查 询 结 果 对 应 的 表 视 图 表 : 由 基 本 表 或 其 它 视 图 标 导 出 的 表 , 虚 表 , 不 对 应 实 际 存 储 的 数 据 2.2.2 关 系 模 式 值 ( Value) : 是 型 的 一 个 具 体 赋 值 关 系 是 值 型 ( Type) : 对 某 一 类 数 据 的 结 构 和 属 性 的 说 明 关 系 模 式 是 型 ( 关 系 模 式 是 对 关 系 的 描 述 ) 2.3 关 系 的 完 整 性( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P52-55) 2.4 关 系 代 数 ( Relational Algebra) 关 系 代 数 是 对 关 系 运 算 的 总 和 , 关 系 运 算 分 两 类 :2.4.1 传 统 的 集 合 运 算 并 交 差 积 ( 按 行 ) 2.4.2 专 门 的 关 系 运 算 选 择 / 投 影 / 连 接 / 除 ( 按 行 、 列 ) 一 、 几 个 记 号 和 概 念 元 组 , 分 量 属 性 列 域 , 剩 余 属 性 组 元 组 的 连 接 象 集 关 系 运 算 定 义 ( 具 体 见 萨 师 煊 等 主 编 数 据 库系 统 概 论 P58-64) 第 三 章 关 系 数 据 库 标 准 语 言 SQL 关 系 代 数 和 关 系 演 算 是 形 式 化 查 询 语 言 , 商 业 DBMS使 用SQL( Structured Query Language) 。1974 年 由 IBM 的 San Jose研 究 室 提 出 , 最 初 叫 SEQUEL(Structured English Query Language)关 系 数 据 库 系 统 通 过 SQL对 数 据 库 进 行 查 询 和 更 新目 前 有 许 多 不 同 版 本 的 SQL语 言 ,有 两 个 不 同 的 主 要 标 准 :ANSI(American National Standards Institute) 1986ISO(International Standards Organization):SQL-89,SQL-92,SQL 2,正 在 制 定 SQL 3 3.1 SQL语 言 概 貌 及 特 点 一、SQL特点1 一 体 化SQL是 一 种 一 体 化 的 语 言 , 它 包 括 了 数 据 定 义 、 查 询 、 更 新 、 控 制 四 方 面 功 能 。可 以 完 成 数 据 库 活 动 中 的 全 部 工 作以 前 的 非 关 系 模 型 的 数 据 语 言 一 般 包 括 : 内 模 式 描 述 语 言 、 模 式 描 述 语 言 、 外 模 式 描 述 语 言 、 数 据 操 纵 语 言 等 。 内 容 多 , 操 作 起 来 不 像 SQL那 样 简 单 。 3.1 SQL语 言 概 貌 及 特 点2 高 度 非 过 程 化没 有 必 要 一 步 步 地 告 诉 计 算 机 “ 如 何 ” 去 做 , 只 需 描 述 清楚 用 户 要 “ 做 什 么 ” , SQL就 可 以 将 要 求 交 给 系 统 , 自 动 完成 全 部 工 作 。3 面 向 集 合 的 操 作 方 式操 作 对 象 、 查 询 结 果 是 元 组 的 集 合 ;插 入 、 删 除 、 更 新 操 作 的 对 象 也 可 以 是 元 组 的 集 合 。 3.1 SQL语 言 概 貌 及 特 点 4 两 种 使 用 形 式 , 统 一 的 语 法 结 构自 含 式 : 将 SQL作 为 操 作 命 令 独 立 使 用现 在 许 多 数 据 库 开 发 工 具 都 将 SQL直 接 融 入 到 自身 的 语 言 中 。 宿 主 式 : 将 SQL嵌 入 到 高 级 语 言 中 使 用 3.1 SQL语 言 概 貌 及 特 点 5 语 言 简 洁 SQL虽 然 功 能 强 且 使 用 两 种 方 式 , 但 只 有 为 数 不 多 的几 条 命 令 , 另 外 语 法 也 非 常 简 单 , 接 近 自 然 语 言 , 易掌 握 、 学 习 。 除 了 以 上 特 点 之 外 , SQL语 言 还 支 持 数 据 库 的 三 级 模式 结 构 。 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 Page87) 3.1 SQL语 言 概 貌 及 特 点 二、SQL语言组成SQL同 一 般 的 程 序 设 计 语 言 一 样 ,由 以 下 几 个 部 分 组 成 :1 常 量 : 文 本 常 量 ( 字 符 串 ) 、 整 型 常 量 、 数 值 常 量2 数 据 类 型 : 以 IBM DB2 SQL为 例 , 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P893 空 值 : NULL 3.1 SQL语 言 概 貌 及 特 点 集 合 运 算 符 : 、 、 -算 术 运 算 符 : +, -, *, /5 . 函 数 SQL 提 供 了 非 常 丰 富 的 内 部 函 数 聚 集 函 数 ( 详 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P100)4. 运 算 符 字 符 串 运 算 符 : | ( 连 接 )比 较 运 算 符 : 6个逻 辑 运 算 符 : NOT, AND, OR 3.1 SQL语 言 概 貌 及 特 点 6 谓 词SQL为 了 具 有 强 大 的 查 询 能 力 , 提 供 了 一 系 列 的 谓 词 : BETWEEN AND / NOT BETWEEN AND 介 于 两 者 之 间 /介 于 两 者 之 外 IN / NOT IN 在 其 中 /不 在 其 中 LIKE 匹 配 IS NULL / IS NOT NULL EXISTS/ NOT EXISTS 存 在 /不 存 在 量 词 ANY 任 意 一 个 存 在 量 词 ALL 全 程 量 词 3.1 SQL语 言 概 貌 及 特 点7 表 达 式8 条 件 由 一 个 或 多 个 含 有 比 较 运 算 符 的 表 达 试 及 逻 辑运 算 符 组 合 而 成 。9. 命 令 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P86 表 3.1) 3.2 数 据 定 义 存 储 过 程 定 义基 本 表 定 义定 义 功 能 数 据 库 的 定 义 : 和 物 理 数 据 有 关 , 以 后 介 绍视 图 定 义索 引 定 义 规 则 定 义 与 数 据 完 整 性 有 关 , 以 后 介 绍 3.2.1 定 义 、 删 除 与 修 改 基 本 表 (具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P88)3.2.2 建 立 与 删 除 索 引 (具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P90) 在 使 用 关 系 数 据 库 系 统 时 , 用 户 所 看 到 和 操 作 的 数 据好 像 在 简 单 的 二 维 表 中 , 而 实 际 上 数 据 在 磁 盘 上 是 如 何 存储 的 用 户 可 能 不 知 道 。 然 而 数 据 的 物 理 存 储 如 何 却 使 数 据库 主 要 性 能 的 主 要 因 素 。索 引 时 最 常 见 的 改 善 数 据 库 性 能 的 技 术 。 n CREATE TABLE 表 名 ( 列 名 数据 类 型 列 级 完 整 性 约 束 条件 , , 表 级 完 整 性 约 束 条 件 n 例 : CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE,SNAME CHAR(20) UNIQUE,SSEX CHAR(1),SAGE INT,SDEPT CHAR(15); n 修 改 基 本 表 :n ALTER TABLE 表 名 ADD 新 列 名 数 据 类 型 完 整 性 约 束 n DROP 完 整 性 约 束 名 n ALTER 列 名 数 据 类 型 ;n 例 : 向 学 生 表 增 加 “ 入 学 时 间 ” 日 期型n ALTER TABLE STUDENT ADD Scome date; n 修 改 年 龄 为 半 字 长 整 数n ALTER TABLE STUDENT ALTER SAGE SMALLINT n 删 除 学 生 姓 名 必 须 取 唯 一 值 的 约 束 。n DROP TABLE Student DROP UNIQUE Tag Snamen DROP TABLE 3.2.2 建 立 与 删 除 索 引关于索引 索引的建立和删除由DBA或建表的人负责,用户不必也不能在存取数据是选择索引; 作为一般规则,不应该在一个表上建立太多的索引(2-3个)。索引能改善查询效果,但也耗费了磁盘空间。降低了更新操作的性能。因为系统必须花时间来维护这些索引;表中数据越多,索引的优越性才越明显。 3.3.1 单 表 查 询 指 定 列消 除 重 复 行 选 择 表 中 若 干 列 全 部 列 经 计 算 的 列 选 择 表 中 若 干 元 组 查 询 满 足 条 件 的 元 组 对 查 询 结 果 排 序 对 查 询 结 果 分 组 3.3.2 连 接 查 询 等 值 /非 等 值 连 接 自 身 连 接 外 连 接 复 合 条 件 连 接 3.3.3 嵌 套 查 询 带 有 IN谓 词 的 查 询 带 有 比 较 运 算 符 的 查 询 带 有 ANY或 ALL谓 词 的 子 查 询 带 有 EXISTS谓 词 的 查 询 3.3.4 集 合 查 询具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P1143.3.5 SELECT 语 句 的 一 般 格 式 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P 115 3.4 数 据 更 新 插 入 、 修 改 、 删 除 数 据 ( 具 体 见 萨 师 煊 等 主 编 数 据库 系 统 概 论 P117) 一、插入数据 1 插入单个元组 2 插入子查询结果 3.4 数 据 更 新二、修改数据1 修改一个元组的值2 修改多个元组的值3 带子查询的修改语句 3.4 数 据 更 新三、删除数据1删除一个元组的值2删除多个元组的值3带子查询的删除语句4更新操作与数据库的一致性 3.5 视 图 一、关于视图: 视 图 是 原 始 数 据 库 数 据 的 一 种 变 换 , 是 查 看 表 中 数 据 的 另 外 一 种 方 式 ; 可 将 视 图 看 成 是 一 个 移 动 的 窗 口 , 通 过 它 可 看 到 感 兴 趣 的 数 据 ; 视 图 可 从 一 个 或 多 个 实 际 表 中 获 得 ; 视 图 的 定 义 存 在 数 据 库 中 , 而 数 据 并 没 再 存 一 份 在 数 据 库 中 , 通 过 视 图 看 到 的 数 据 存 放 在 基 本 表 中 ; 对 视 图 的 操 作 同 其 它 表 一 样 , 通 过 视 图 修 改 数 据 时 , 实 际 是 修 改 基 本 表 中 的 数 据 , 相 反 , 基 本 表 数 据 的 改 变 也 会 自 动 反 映 在 由 基 本 表 产 生 的 视 图 中 。 3.5 视 图 二、视图的作用 1 简 单 性 看 到 的 就 是 用 户 需 要 的 不 仅 可 简 化 用 户 对 数 据 的 理 解 , 也 可 简 化 它 们 的操 作 。 经 常 使 用 的 查 询 可 以 被 定 义 为 视 图 。 3.5 视 图 2 安 全 性 通 过 视 图 用 户 只 能 查 询 和 修 改 他 们 能 见 到 的 数 据 ,数 据 库 其 它 数 据 则 既 看 不 到 也 取 不 到 。数 据 库 授 权 命 令 可 是 用 户 对 数 据 库 的 检 索 限 制 到 特定 的 数 据 库 对 象 上 , 但 不 能 授 权 到 数 据 库 特 定 的 行、 列 上 。视 图 可 防 止 未 授 权 用 户 查 看 特 定 的 行 /列 3 逻 辑 数 据 独 立 性 3.5 视 图一、 定义视图 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P121-124二、 查询视图 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P125三、 更新视图 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P126 3.6 数 据 控 制 SQL数 据 控 制 功 能 对 数 据 库 中 数 据 的 安 全 控 制 提供 保 护 , 主 要 表 现 在 对 数 据 使 用 的 授 权 (GRANT)和 收回 授 权 (REVOKE)。 每 个 用 户 对 自 己 拥 有 的 资 源 可 以 由 任 意 的 操 作 权限 , 同 时 也 可 以 把 其 中 的 一 部 分 权 限 授 予 他 人 。 ( 具 体 见 萨 师 煊 等 主 编 数 据 库 系 统 概 论 P130) 3.6 数 据 控 制一、授权 3.6 数 据 控 制 二、收回权限 注 : 授 权 (GRANT)和 收
展开阅读全文