信 息 学 院 2014 级,2016-2-25, 教 3403 数 据 库 系 统 概 论 孟 小 峰 中 国 人 民 大 学 xfmeng@ruc.edu.cn http://idke.ruc.edu.cn 1
数 据 库 系 统 概 论 An Introduction to Database Systems 第 一 章 概 述 ( 之 数 据 模 型 体 系 结 构 数 据 库 发 展 ) 2016, 3,1 2
上 节 课 数 据 模 型 概 念 模 型 :ER 模 型 实 体 联 系 多 种 联 系 ER 图 EER 模 型, 统 一 建 模 语 言 UML 数 据 模 型
数 据 模 型 的 分 类 不 同 的 数 据 模 型 实 际 上 是 提 供 给 我 们 模 型 化 数 据 和 信 息 的 不 同 工 具 根 据 模 型 描 述 的 内 容 和 应 用 的 层 次 不 同, 可 划 分 为 : 概 念 模 型, 也 称 信 息 模 型, 它 是 按 用 户 的 观 点 来 对 数 据 和 信 息 建 模, 主 要 用 于 数 据 库 设 计 数 据 模 型, 它 是 按 计 算 机 系 统 的 观 点 对 数 据 建 模, 主 要 用 于 DBMS 的 实 现 主 要 包 括 网 状 模 型 层 次 模 型 关 系 模 型 面 向 对 象 模 型 等
数 据 模 型 的 组 成 要 素 数 据 模 型 是 对 现 实 世 界 的 表 示, 如 何 把 现 实 世 界 的 对 象 抽 象 为 计 算 机 可 识 别 可 操 作 并 且 是 正 确 的 数 据 集 合, 是 数 据 模 型 的 根 本 所 在 一 般 地 讲, 数 据 模 型 是 严 格 定 义 的 一 组 概 念 的 集 合 这 些 概 念 精 确 地 描 述 了 系 统 的 静 态 特 性 动 态 特 性 和 完 整 性 约 束 条 件 因 此 数 据 模 型 通 常 由 数 据 结 构 数 据 操 作 和 完 整 性 约 束 三 部 分 组 成 三 要 素 结 构 部 分 操 作 部 分 约 束, 或 完 整 性 规 则
数 据 模 型 的 组 成 要 素 一 数 据 结 构 定 义 了 数 据 的 组 织 规 则, 数 据 库 基 于 这 些 规 则 而 构 建, 如 关 系 模 型 中 数 据 按 域 属 性 关 系 等 组 织 构 建 数 据 结 构 是 刻 画 一 个 数 据 模 型 性 质 最 重 要 的 方 面 因 此 在 数 据 库 系 统 中, 人 们 通 常 按 照 其 数 据 结 构 的 类 型 来 命 名 数 据 模 型 例 如 层 次 结 构 网 状 结 构 和 关 系 结 构 的 数 据 模 型 分 别 命 名 为 层 次 模 型 网 状 模 型 和 关 系 模 型 数 据 结 构 是 对 系 统 静 态 特 性 的 描 述
数 据 模 型 的 组 成 要 素 二 数 据 操 作 数 据 操 作 是 指 对 数 据 库 中 各 种 对 象 ( 型 ) 的 实 例 ( 值 ) 允 许 执 行 的 操 作 的 集 合, 包 括 操 作 及 有 关 的 操 作 规 则 数 据 库 主 要 有 检 索 和 更 新 ( 包 括 插 入 删 除 修 改 ) 两 大 类 操 作 数 据 操 作 是 对 系 统 动 态 特 性 的 描 述
数 据 模 型 的 组 成 要 素 三 数 据 的 约 束 条 件 数 据 的 约 束 条 件 是 一 组 完 整 性 规 则 的 集 合 完 整 性 规 则 是 给 定 的 数 据 模 型 中 数 据 及 其 联 系 所 具 有 的 制 约 和 依 存 规 则, 用 以 限 定 符 合 数 据 模 型 的 数 据 库 状 态 以 及 状 态 的 变 化, 以 保 证 数 据 的 正 确 有 效 相 容 简 单 地 讲, 就 是 用 于 保 证 数 据 的 正 确 性 例 如, 在 学 校 的 数 据 库 中 规 定 大 学 生 入 学 年 龄 不 得 超 过 30 岁, 硕 士 研 究 生 入 学 年 龄 不 得 超 过 38 岁, 学 生 累 计 成 绩 不 得 有 三 门 以 上 不 及 格 等 等
经 典 的 数 据 模 型 层 次 模 型 网 状 模 型 关 系 模 型 面 向 对 象 模 型 对 象 关 系 模 型 XML 数 据 模 型
层 次 模 型 (Hierarchical Model) 层 次 模 型 是 数 据 库 系 统 中 最 早 出 现 的 数 据 模 型, 层 次 数 据 库 系 统 采 用 层 次 模 型 作 为 数 据 的 组 织 方 式 层 次 数 据 库 系 统 的 典 型 代 表 是 IBM 公 司 的 IMS(Information Management Systems) 数 据 库 管 理 系 统, 这 是 1968 年 IBM 公 司 推 出 的 第 一 个 大 型 的 商 用 数 据 库 管 理 系 统
层 次 模 型 (Hierarchical Model) 一 层 次 数 据 模 型 的 数 据 结 构 1. 有 且 只 有 一 个 结 点 没 有 双 亲 结 点, 这 个 结 点 称 为 根 结 点 2. 根 以 外 的 其 它 结 点 有 且 只 有 一 个 双 亲 结 点 在 层 次 模 型 中, 每 个 结 点 表 示 一 个 记 录 类 型, 记 录 ( 型 ) 之 间 的 联 系 用 结 点 之 间 的 连 线 ( 有 向 边 ) 表 示, 这 种 联 系 是 父 子 之 间 的 一 对 多 的 联 系 这 就 使 得 层 次 数 据 库 系 统 只 能 处 理 一 对 多 的 实 体 联 系
层 次 模 型 (Hierarchical Model) 二 多 对 多 联 系 在 层 次 模 型 中 的 表 示 冗 余 结 点 法 虚 拟 结 点 法 三 层 次 模 型 的 数 据 操 纵 与 完 整 性 约 束 层 次 模 型 的 数 据 操 纵 主 要 有 查 询 插 入 删 除 和 更 新 进 行 插 入 删 除 更 新 操 作 时 要 满 足 层 次 模 型 的 完 整 性 约 束 条 件
层 次 模 型 (Hierarchical Model) 四 层 次 数 据 模 型 的 存 储 结 构 1. 邻 接 法 : 按 照 层 次 树 前 序 穿 越 的 顺 序 把 所 有 记 录 值 依 次 邻 接 存 放, 即 通 过 物 理 空 间 的 位 置 相 邻 来 体 现 ( 或 隐 含 ) 层 次 顺 序 2 链 接 法 : 用 指 针 来 反 映 数 据 之 间 的 层 次 联 系
层 次 模 型 (Hierarchical Model) 层 次 模 型 的 优 缺 点 层 次 模 型 的 优 点 主 要 有 : 层 次 数 据 模 型 本 身 比 较 简 单 对 于 实 体 间 联 系 是 固 定 的, 且 预 先 定 义 好 的 应 用 系 统, 采 用 层 次 模 型 来 实 现, 其 性 能 优 于 关 系 模 型, 不 低 于 网 状 模 型 层 次 数 据 模 型 提 供 了 良 好 的 完 整 性 支 持 层 次 模 型 的 缺 点 主 要 有 : 现 实 世 界 中 很 多 联 系 是 非 层 次 性 的 对 插 入 和 删 除 操 作 的 限 制 比 较 多 查 询 子 女 结 点 必 须 通 过 双 亲 结 点 由 于 结 构 严 密, 层 次 命 令 趋 于 程 序 化
网 状 模 型 (Network Model) 数 据 库 系 统 概 论,2014 级,2016,2-6, 教 3403 在 现 实 世 界 中 事 物 之 间 的 联 系 更 多 的 是 非 层 次 关 系 的, 用 层 次 模 型 表 示 非 树 形 结 构 是 很 不 直 接 的, 网 状 模 型 则 可 以 克 服 这 一 弊 病 网 状 数 据 库 系 统 采 用 网 状 模 型 作 为 数 据 的 组 织 方 式 网 状 数 据 模 型 的 典 型 代 表 是 DBTG 系 统, 亦 称 CODASYL 系 统 这 是 七 十 年 代 数 据 系 统 语 言 研 究 会 CODASYL(Conference On Data System Language) 下 属 的 数 据 库 任 务 组 (Data Base Task Group 简 称 DBTG) 提 出 的 一 个 系 统 方 案 DBTG 系 统 虽 然 不 是 实 际 的 软 件 系 统, 但 是 它 提 出 的 基 本 概 念 方 法 和 技 术 具 有 普 遍 意 义
网 状 模 型 (Network Model) 数 据 库 系 统 概 论,2014 级,2016,2-6, 教 3403 一 网 状 数 据 模 型 的 数 据 结 构 1. 允 许 一 个 以 上 的 结 点 无 双 亲 ; 2. 一 个 结 点 可 以 有 多 于 一 个 的 双 亲 网 状 模 型 是 一 种 比 层 次 模 型 更 具 普 遍 性 的 结 构, 它 去 掉 了 层 次 模 型 的 两 个 限 制, 允 许 多 个 结 点 没 有 双 亲 结 点, 允 许 结 点 有 多 个 双 亲 结 点, 此 外 它 还 允 许 两 个 结 点 之 间 有 多 种 联 系 层 次 模 型 实 际 上 是 网 状 模 型 的 一 个 特 例 从 定 义 可 以 看 出, 层 次 模 型 中 子 女 结 点 与 双 亲 结 点 的 联 系 是 唯 一 的, 而 在 网 状 模 型 中 这 种 联 系 可 以 不 唯 一 因 此, 要 为 每 个 联 系 命 名, 并 指 出 与 该 联 系 有 关 的 双 亲 记 录 和 子 女 记 录
网 状 模 型 (Network Model) 二 网 状 数 据 模 型 的 操 纵 与 完 整 性 约 束 网 状 数 据 模 型 一 般 来 说 没 有 层 次 模 型 那 样 严 格 的 完 整 性 约 束 条 件, 但 具 体 的 网 状 数 据 库 系 统 ( 如 DBTG) 对 数 据 操 纵 都 加 了 一 些 限 制, 提 供 了 一 定 的 完 整 性 约 束 三 网 状 数 据 模 型 的 存 储 结 构 常 用 的 方 法 是 链 接 法, 包 括 单 向 链 接 双 向 链 接 环 状 链 接 向 首 链 接 等, 此 外 还 有 其 它 实 现 方 法, 如 指 引 元 阵 列 法 二 进 制 阵 列 法 索 引 法 等 依 具 体 系 统 不 同 而 不 同
网 状 模 型 (Network Model) 四 网 状 数 据 模 型 的 优 缺 点 网 状 数 据 模 型 的 优 点 主 要 有 : 1. 能 够 更 为 直 接 地 描 述 现 实 世 界, 如 一 个 结 点 可 以 有 多 个 双 亲 2. 具 有 良 好 的 性 能, 存 取 效 率 较 高 网 状 数 据 模 型 的 缺 点 主 要 有 : 结 构 比 较 复 杂 其 数 据 操 作 语 言 复 杂, 用 户 不 容 易 使 用
关 系 模 型 (Relational Model) 1970 年 美 国 IBM 公 司 位 于 San Jose 的 Almaden 研 究 中 心 的 研 究 员 E.F.Codd 首 次 提 出 了 数 据 库 系 统 的 关 系 模 型 开 创 了 数 据 库 关 系 方 法 和 关 系 数 据 理 论 的 研 究, 为 数 据 库 技 术 奠 定 了 理 论 基 础 由 于 E.F.Codd 的 杰 出 工 作, 他 于 1981 年 获 得 ACM 图 灵 奖 20 世 纪 80 年 代 以 来, 计 算 机 厂 商 新 推 出 的 数 据 库 管 理 系 统 几 乎 都 支 持 关 系 模 型
关 系 模 型 (Relational Model) 数 据 库 系 统 概 论,2014 级,2016,2-6, 教 3403 关 系 数 据 模 型 的 数 据 结 构 在 用 户 观 点 下, 关 系 模 型 中 数 据 的 逻 辑 结 构 是 一 张 二 维 表, 它 由 行 和 列 组 成 姓 名 年 龄 成 绩 住 址 性 别 关 系 数 据 模 型 的 优 缺 点 关 系 模 型 的 概 念 单 一 关 系 模 型 的 存 取 路 径 对 用 户 透 明 由 于 存 取 路 径 对 用 户 透 明, 查 询 效 率 往 往 不 如 非 关 系 数 据 模 型 因 此 为 了 提 高 性 能, 必 须 对 用 户 的 查 询 请 求 进 行 优 化, 增 加 了 开 发 数 据 库 管 理 系 统 的 难 度
数 据 模 型 中 模 式 的 概 念 在 数 据 模 型 中 有 型 (Type) 和 值 (Value) 的 概 念 其 实 在 型 和 值 之 间 还 应 有 变 量 模 式 (Schema) 是 数 据 库 中 全 体 数 据 的 逻 辑 结 构 和 特 征 的 描 述, 它 仅 仅 涉 及 到 型 的 描 述, 不 涉 及 到 具 体 的 值 模 式 的 一 个 具 体 值 称 为 模 式 的 一 个 实 例 (Instance) 同 一 个 模 式 可 以 有 很 多 实 例 模 式 是 相 对 稳 定 的, 而 实 例 是 相 对 变 动 的,
第 一 章 绪 论 1.1 数 据 库 系 统 概 述 1.1.1 数 据 库 系 统 概 述 1.1.2 数 据 库 技 术 的 产 生 1.1.3 数 据 库 系 统 的 特 点 1.2 数 据 模 型 概 念 模 型 :ER 数 据 模 型 : 层 次 模 型, 网 状 模 型, 关 系 模 型 数 据 库 系 统 结 构 和 组 成 1.3 数 据 库 系 统 结 构 1.4 数 据 库 系 统 的 组 成
数 据 库 系 统 结 构 考 查 数 据 库 系 统 的 结 构 可 以 有 多 种 不 同 的 层 次 或 不 同 的 角 度 从 数 据 库 管 理 系 统 角 度 看, 数 据 库 系 统 通 常 采 用 三 级 模 式 结 构 ; 这 是 数 据 库 管 理 系 统 内 部 的 系 统 结 构 从 数 据 库 最 终 用 户 角 度 看, 数 据 库 系 统 的 结 构 分 为 单 用 户 结 构 主 从 式 结 构 分 布 式 结 构 和 客 户 / 服 务 器 结 构 这 是 数 据 库 系 统 外 部 的 体 系 结 构
1.3.2 数 据 库 系 统 的 三 级 模 式 结 构 1971,DBTG two level approach: A system view : Schema User view: subschema 1975, ANSI/X3/SPARC s three level approach: 外 模 式 (external) 概 念 模 式 (conceptual) 内 模 式 (internal) 应 用 应 用 应 用 应 用 外 模 式 外 模 式 概 念 模 式 内 模 式 数 据 库
三 级 模 式 内 模 式 ( 存 储 模 式 ) 是 最 接 近 物 理 存 储 的 也 就 是, 数 据 的 物 理 存 储 方 式 ; 外 模 式 ( 用 户 模 式 ) 是 最 接 近 用 户 的 也 就 是, 用 户 所 看 到 的 数 据 视 图 ; 和 概 念 模 式 ( 公 共 逻 辑 模 式, 或 有 时 称 逻 辑 模 式 ) 是 介 于 前 两 者 之 间 的 间 接 的 层 次
三 级 模 式 外 模 式 是 单 个 用 户 的 数 据 视 图, 而 概 念 模 式 是 一 个 部 门 或 企 的 数 据 视 图 换 句 话 说, 外 部 视 图 ( 即 外 模 式 ) 会 有 许 许 多 多, 每 一 个 都 或 多 或 少 地 抽 象 表 示 了 整 个 数 据 库 的 某 一 部 分, 而 概 念 视 图 ( 概 念 模 式 ) 只 有 一 个, 它 包 含 了 对 现 实 世 界 数 据 库 的 抽 象 表 示 大 多 数 用 户 对 整 个 数 据 库 不 感 兴 趣, 而 只 是 某 一 部 分 内 部 视 图 ( 即 内 模 式 ) 也 只 有 一 个, 表 示 数 据 库 的 物 理 存 储 这 里 所 说 的 抽 象 表 示 是 象 记 录 和 字 段 这 些 更 加 面 向 用 户 的 概 念, 而 不 象 位 和 字 节 那 些 面 向 机 器 的 概 念
基 于 三 级 模 式 的 系 统 体 系 结 构 数 据 库 系 统 概 论,2014 级,2016,2-6, 教 3403 应 用 1 应 用 2 应 用 3 应 用 4 由 数 据 库 管 理 员 建 立 并 维 护 的 模 式 和 影 射 外 模 式 A 概 念 模 式 外 部 视 图 A 外 模 式 / 概 念 模 式 映 射 A 概 念 视 图 外 模 式 / 概 念 模 式 映 射 A 外 部 视 图 B 外 模 式 / 概 念 模 式 映 射 B 外 模 式 B 数 据 库 管 理 系 统 存 储 结 构 定 义 ( 内 模 式 ) 数 据 库 ( 内 部 视 图 )
数 据 库 的 二 级 映 象 功 能 与 数 据 独 立 性 数 据 库 系 统 的 三 级 模 式 是 对 数 据 的 三 个 抽 象 级 别 支 持, 为 了 能 够 在 内 部 实 现 这 三 个 抽 象 层 次 的 联 系 和 转 换, 数 据 库 管 理 系 统 在 这 三 级 模 式 之 间 提 供 了 两 层 映 象 : 外 模 式 / 模 式 映 象 模 式 / 内 模 式 映 象 正 是 这 两 层 映 象 保 证 了 数 据 库 系 统 中 的 数 据 能 够 具 有 较 高 的 逻 辑 独 立 性 和 物 理 独 立 性
数 据 库 的 二 级 映 象 功 能 与 数 据 独 立 性 一 外 模 式 / 概 念 模 式 映 象 概 念 模 式 描 述 的 是 数 据 的 全 局 逻 辑 结 构, 外 模 式 描 述 的 是 数 据 的 局 部 逻 辑 结 构 对 应 于 同 一 个 概 念 模 式 可 以 有 任 意 多 个 外 模 式 对 于 每 一 个 外 模 式, 数 据 库 系 统 都 有 一 个 外 模 式 / 模 式 映 象, 它 定 义 了 该 外 模 式 与 模 式 之 间 的 对 应 关 系 这 些 映 象 定 义 通 常 包 含 在 各 自 外 模 式 的 描 述 中 当 概 念 模 式 改 变 时, 由 数 据 库 管 理 员 对 各 个 外 模 式 / 模 式 的 映 象 作 相 应 改 变, 可 以 使 外 模 式 保 持 不 变 应 用 程 序 是 依 据 数 据 的 外 模 式 编 写 的, 从 而 应 用 程 序 不 必 修 改, 保 证 了 数 据 与 程 序 的 逻 辑 独 立 性, 简 称 数 据 的 逻 辑 独 立 性
数 据 库 的 二 级 映 象 功 能 与 数 据 独 立 性 二 模 式 / 内 模 式 映 象 数 据 库 中 只 有 一 个 模 式, 也 只 有 一 个 内 模 式, 所 以 模 式 / 内 模 式 映 象 是 唯 一 的, 它 定 义 了 数 据 全 局 逻 辑 结 构 与 存 储 结 构 之 间 的 对 应 关 系 当 数 据 库 的 存 储 结 构 改 变 了 ( 例 如 选 用 了 另 一 种 存 储 结 构 ), 由 数 据 库 管 理 员 对 模 式 / 内 模 式 映 象 作 相 应 改 变, 可 以 使 模 式 保 持 不 变, 从 而 应 用 程 序 也 不 必 改 变 保 证 了 数 据 与 程 序 的 物 理 独 立 性, 简 称 数 据 的 物 理 独 立 性
数 据 库 管 理 系 统 组 成 User Authorization Control Integrity Checker DDL processor Query Processor Transaction Manager Storage Manager Stored Data System Catalog
数 据 库 管 理 系 统 组 成 存 储 管 理 ( 文 件, 索 引, 缓 冲 ) 查 询 处 理 与 优 化 ( 语 法 分 析, 优 化, 执 行 ) 事 务 处 理 ( 并 发, 恢 复 ) 完 整 性 安 全 性 处 理
数 据 库 语 言 交 互 SQL 编 程 SQL 嵌 入 SQL 过 程 SQL ODBC/JDBC
系 统 目 录 / 数 据 字 典 A repository of information (metadata or data about data) describing the data in the database. Typically stores: Names of authorized users. Names of data items in the database. Constraints on each data item. Data items accessible by a user and the type of access. 43
数 据 库 人 员 数 据 库 管 理 员 DBA 系 统 分 析 人 员 和 数 据 设 计 人 员 应 用 程 序 员 用 户
数 据 库 工 具 工 具 是 设 计 用 于 帮 助 DBA 处 理 各 种 管 理 任 务 的 程 序 厂 商 提 供 的 工 具 大 致 可 以 分 成 以 下 几 类 : a 查 询 语 言 处 理 器 ; b 报 表 编 写 器 ; c 商 用 表 格 子 系 统 ; d 电 子 制 表 软 件 ; e 自 然 语 言 处 理 器 ; f 统 计 包 ; g 复 制 管 理 或 数 据 提 取 工 具 ; h 应 用 程 序 生 成 器 ( 包 括 第 四 代 语 言 处 理 器 ); i 其 它 应 用 程 序 开 发 工 具, 包 括 计 算 机 辅 助 软 件 工 程 产 品 (CASE)
数 据 库 工 具 载 入 工 具, 从 一 个 或 多 个 操 作 系 统 文 件 创 建 并 初 始 化 数 据 库 卸 载 / 重 载 工 具, 卸 载 数 据 库 或 其 一 部 分, 备 份 数 据 库 并 从 这 些 备 份 的 拷 贝 中 重 新 装 入 数 据 ( 当 然, 重 载 工 具 和 载 入 的 工 具 基 本 上 是 一 样 的 ); 数 据 重 组 织 工 具, 由 于 各 种 原 因 要 重 新 组 织 数 据 库 中 的 数 据 例 如, 将 磁 盘 上 的 数 据 聚 集 起 来, 或 回 收 废 弃 数 据 所 占 用 的 空 间 ; 统 计 工 具, 计 算 各 种 性 能 统 计 数 据, 如 文 件 大 小 或 衡 量 分 布 状 况 或 输 入 / 输 出 次 数 等 等 ; 分 析 工 具, 分 析 上 述 的 统 计 数 据 ; 如 SQL Server 的 SQL Profiler, SHOWPLAN
结 束 SELECT questions FROM you SELECT thanks FROM me 作 业 : 习 题 1-6,7-13,20-25( 四 版 )1-19( 五 版 ) 交 作 业 时 间 : 周 四,3/3 讲 评 时 间 :3/8 38