数据库原理之关系数据库理论-课件

上传人:wux****ua 文档编号:21703561 上传时间:2021-05-07 格式:PPT 页数:125 大小:758KB
返回 下载 相关 举报
数据库原理之关系数据库理论-课件_第1页
第1页 / 共125页
数据库原理之关系数据库理论-课件_第2页
第2页 / 共125页
数据库原理之关系数据库理论-课件_第3页
第3页 / 共125页
点击查看更多>>
资源描述
An Introduction to Database System河 北 经 贸 大 学 信 息 技 术 学 院 数 据 库 系 统 概 论An Introduction to Database System第 六 章 关 系 数 据 理 论 An Introduction to Database System 第 六 章 关 系 数 据 理 论6.1 问 题 的 提 出6.2 规 范 化6.3 数 据 依 赖 的 公 理 系 统*6.4 模 式 的 分 解6.5 小 结 An Introduction to Database System 6.1 问 题 的 提 出关 系 数 据 库 逻 辑 设 计 针 对 具 体 问 题 , 如 何 构 造 一 个 适 合 于 它 的 数 据 模 式 即 应 该 构 造 几 个 关 系 模 式 , 每 个 关 系 有 哪 些 属 性 组 成 等 。 数 据 库 逻 辑 设 计 的 工 具 关 系 数 据 库 的 规 范 化 理 论 An Introduction to Database System 问 题 的 提 出一 、 概 念 回 顾二 、 关 系 模 式 的 形 式 化 定 义三 、 什 么 是 数 据 依 赖四 、 关 系 模 式 的 简 化 定 义五 、 数 据 依 赖 对 关 系 模 式 影 响 An Introduction to Database System 一 、 概 念 回 顾v 关 系 : 描 述 实 体 、 属 性 、 实 体 间 的 联 系 。 从 形 式 上 看 , 它 是 一 张 二 维 表 , 是 所 涉 及 属 性 的 笛 卡 尔 积 的一 个 子 集 。v 关 系 模 式 : 用 来 定 义 关 系 。v 关 系 数 据 库 : 基 于 关 系 模 型 的 数 据 库 , 利 用 关 系 来 描 述 现 实 世 界 。 从 形 式 上 看 , 它 由 一 组 关 系 组 成 。v 关 系 数 据 库 的 模 式 : 定 义 这 组 关 系 的 关 系 模 式 的 全 体 。 An Introduction to Database System 二 、 关 系 模 式 的 形 式 化 定 义关 系 模 式 由 五 部 分 组 成 , 即 它 是 一 个 五 元 组 : R(U, D, DOM, F)R: 关 系 名U: 组 成 该 关 系 的 属 性 名 集 合D: 属 性 组 U中 属 性 所 来 自 的 域DOM: 属 性 向 域 的 映 象 集 合F: 属 性 间 数 据 的 依 赖 关 系 集 合 An Introduction to Database System 三 、 关 系 模 式 的 简 化 表 示v关 系 模 式 R( U, D, DOM, F) 简 化 为 一 个 三 元 组 : R( U, F)v当 且 仅 当 U上 的 一 个 关 系 r满 足 F时 , r称 为 关 系 模 式 R( U, F) 的 一 个 关 系 An Introduction to Database System 四 、 什 么 是 数 据 依 赖1. 完 整 性 约 束 的 表 现 形 式v限 定 属 性 取 值 范 围 : 例 如 学 生 成 绩 必 须 在 0-100之 间v定 义 属 性 值 间 的 相 互 关 连 ( 主 要 体 现 于 值 的 相 等 与否 ) , 这 就 是 数 据 依 赖 , 它 是 数 据 库 模 式 设 计 的 关 键 An Introduction to Database System 什 么 是 数 据 依 赖 ( 续 )2. 数 据 依 赖v一 个 关 系 内 部 属 性 与 属 性 之 间 的 约 束 关 系v现 实 世 界 属 性 间 相 互 联 系 的 抽 象v数 据 内 在 的 性 质v语 义 的 体 现 An Introduction to Database System 什 么 是 数 据 依 赖 ( 续 )3. 数 据 依 赖 的 类 型v函 数 依 赖 ( Functional Dependency, 简 记 为 FD)v多 值 依 赖 ( Multivalued Dependency, 简 记 为 MVD)v其 他 An Introduction to Database System 五 、 数 据 依 赖 对 关 系 模 式 的 影 响例 1建 立 一 个 描 述 学 校 教 务 的 数 据 库 :学 生 的 学 号 ( Sno) 、 所 在 系 ( Sdept)系 主 任 姓 名 ( Mname) 、 课 程 名 ( Cname)成 绩 ( Grade)单 一 的 关 系 模 式 : Student U Sno, Sdept, Mname, Cname, Grade An Introduction to Database System 数 据 依 赖 对 关 系 模 式 的 影 响 ( 续 ) 属 性 组 U上 的 一 组 函 数 依 赖 F: F Sno Sdept, Sdept Mname, (Sno, Cname) Grade Sno CnameSdept Mname Grade An Introduction to Database System 关 系 模 式 Student中 存 在 的 问 题1. 数 据 冗 余 太 大 浪 费 大 量 的 存 储 空 间 例 : 每 一 个 系 主 任 的 姓 名 重 复 出 现2. 更 新 异 常 ( Update Anomalies)数 据 冗 余 , 更 新 数 据 时 , 维 护 数 据 完 整 性 代 价 大 。例 : 某 系 更 换 系 主 任 后 , 系 统 必 须 修 改 与 该 系 学 生 有关 的 每 一 个 元 组 An Introduction to Database System 关 系 模 式 Student中 存 在 的 问 题 插 入 异 常 ( Insertion Anomalies) 该 插 的 数 据 插 不 进 去 例 , 如 果 一 个 系 刚 成 立 , 尚 无 学 生 , 我 们 就 无 法 把 这 个 系 及 其 系主 任 的 信 息 存 入 数 据 库 。 删 除 异 常 ( Deletion Anomalies) 不 该 删 除 的 数 据 不 得 不 删例 , 如 果 某 个 系 的 学 生 全 部 毕 业 了 , 我 们 在 删 除 该 系 学 生 信 息 的同 时 , 把 这 个 系 及 其 系 主 任 的 信 息 也 丢 掉 了 。 An Introduction to Database System 数 据 依 赖 对 关 系 模 式 的 影 响 ( 续 )结 论 :n Student关 系 模 式 不 是 一 个 好 的 模 式 。n “ 好 ” 的 模 式 :不 会 发 生 插 入 异 常 、 删 除 异 常 、 更 新 异 常 ,数 据 冗 余 应 尽 可 能 少原 因 : 由 存 在 于 模 式 中 的 某 些 数 据 依 赖 引 起 的解 决 方 法 : 通 过 分 解 关 系 模 式 来 消 除 其 中 不 合 适 的 数 据 依 赖 An Introduction to Database System 分 解 关 系 模 式v把 这 个 单 一 模 式 分 成 3个 关 系 模 式 : S( Sno, Sdept) Sno Sdept SC( Sno, Cno, Grade) ( Sno, Cno) Grade DEPT( Sdept, Mname) Sdept Mname An Introduction to Database System 第 六 章 关 系 数 据 理 论6.1 问 题 的 提 出6.2 规 范 化6.3 数 据 依 赖 的 公 理 系 统*6.4 模 式 的 分 解6.5 小 结 An Introduction to Database System 6.2 规 范 化 规 范 化 理 论 正 是 用 来 改 造 关 系 模 式 , 通 过 分 解 关 系 模 式 来消 除 其 中 不 合 适 的 数 据 依 赖 , 以 解 决 插 入 异 常 、 删 除 异 常 、更 新 异 常 和 数 据 冗 余 问 题 。 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.1 函 数 依 赖v函 数 依 赖v平 凡 的 函 数 依 赖 与 非 平 凡 的 函 数 依 赖v完 全 函 数 依 赖 与 部 分 函 数 依 赖v传 递 函 数 依 赖 An Introduction to Database System 一 、 函 数 依 赖定 义 6.1 设 R(U)是 一 个 属 性 集 U上 的 关 系 模 式 , X和 Y是 U的子 集 。 若 对 于 R(U)的 任 意 一 个 可 能 的 关 系 r, r中 不 可 能 存 在 两 个元 组 在 X上 的 属 性 值 相 等 , 而 在 Y上 的 属 性 值 不 等 , 则 称 “ X函 数 确 定 Y” 或 “ Y函 数 依 赖 于 X”, 记 作 XY。 An Introduction to Database System 说 明 : 1. 函 数 依 赖 不 是 指 关 系 模 式 R的 某 个 或 某 些 关 系 实 例 满 足 的约 束 条 件 , 而 是 指 R的 所 有 关 系 实 例 均 要 满 足 的 约 束 条 件 。2. 函 数 依 赖 是 语 义 范 畴 的 概 念 。 只 能 根 据 数 据 的 语 义 来 确 定函 数 依 赖 。 例 如 “ 姓 名 年 龄 ” 这 个 函 数 依 赖 只 有 在 不 允 许 有 同 名 人的 条 件 下 成 立3. 数 据 库 设 计 者 可 以 对 现 实 世 界 作 强 制 的 规 定 。 例 如 规 定 不允 许 同 名 人 出 现 , 函 数 依 赖 “ 姓 名 年 龄 ” 成 立 。 所 插 入的 元 组 必 须 满 足 规 定 的 函 数 依 赖 , 若 发 现 有 同 名 人 存 在 , 则 拒 绝 装 入 该 元 组 。 An Introduction to Database System 在 关 系 模 式 R(U)中 , 对 于 U的 子 集 X和 Y,如 果 XY, 但 Y X, 则 称 XY是 非 平 凡 的 函 数 依 赖若 XY, 但 Y X, 则 称 XY是 平 凡 的 函 数 依 赖v 例 : 在 关 系 SC(Sno, Cno, Grade)中 , 非 平 凡 函 数 依 赖 : (Sno, Cno) Grade 平 凡 函 数 依 赖 : (Sno, Cno) Sno (Sno, Cno) Cno An Introduction to Database System 平 凡 函 数 依 赖 与 非 平 凡 函 数 依 赖 ( 续 ) 若 XY, 则 X称 为 这 个 函 数 依 赖 的 决 定 属 性 组 , 也称 为 决 定 因 素 ( Determinant) 。 若 XY, YX, 则 记 作 XY。 若 Y不 函 数 依 赖 于 X, 则 记 作 XY。 An Introduction to Database System 三 、 完 全 函 数 依 赖 与 部 分 函 数 依 赖定 义 6.2 在 R(U)中 , 如 果 XY, 并 且 对 于 X的 任 何 一 个 真子 集 X, 都 有 X Y, 则 称 Y对 X完 全 函 数 依 赖 , 记 作 X F Y。 若 XY, 但 Y不 完 全 函 数 依 赖 于 X, 则 称 Y对 X部 分 函 数依 赖 , 记 作 X P Y。 An Introduction to Database System 完 全 函 数 依 赖 与 部 分 函 数 依 赖 ( 续 )例 1 中 (Sno,Cno)Grade是 完 全 函 数 依 赖 , (Sno,Cno)Sdept是 部 分 函 数 依 赖 因 为 Sno Sdept成 立 , 且 Sno是 ( Sno, Cno)的 真 子 集 FP An Introduction to Database System 四 、 传 递 函 数 依 赖定 义 6.3 在 R(U)中 , 如 果 XY, (Y X) ,YX YZ, 则 称 Z对 X传 递 函 数 依 赖 。 记 为 : X Z 注 : 如 果 YX, 即 XY, 则 Z直 接 依 赖 于 X。例 : 在 关 系 Std(Sno, Sdept, Mname)中 , 有 : Sno Sdept, Sdept Mname Mname传 递 函 数 依 赖 于 Sno传 递 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.2 码定 义 6.4 设 K为 R中 的 属 性 或 属 性 组 合 。 若 K U, 则 K称 为 R的 侯 选 码 ( Candidate Key) 。 若 候 选 码 多 于 一 个 , 则 选 定 其 中 的 一 个 做 为 主 码( Primary Key) 。 F An Introduction to Database System 码 ( 续 )v主 属 性 与 非 主 属 性 包 含 在 任 何 一 个 候 选 码 中 的 属 性 , 称 为 主 属 性 ( Prime attribute) 不 包 含 在 任 何 码 中 的 属 性 称 为 非 主 属 性 ( Nonprime attribute) 或 非 码 属 性 ( Non-key attribute) v全 码 整 个 属 性 组 是 码 , 称 为 全 码 ( All-key) An Introduction to Database System 码 ( 续 )例 2 关 系 模 式 S(Sno,Sdept,Sage), 单 个 属 性 Sno是 码 , SC( Sno, Cno, Grade) 中 , ( Sno, Cno) 是 码例 3 关 系 模 式 R( P, W, A) P: 演 奏 者 W: 作 品 A: 听 众 一 个 演 奏 者 可 以 演 奏 多 个 作 品 某 一 作 品 可 被 多 个 演 奏 者 演 奏 听 众 可 以 欣 赏 不 同 演 奏 者 的 不 同 作 品关 系 模 式 R的 码 为 (P, W, A), 即 All-Key An Introduction to Database System 外 部 码定 义 6.5 关 系 模 式 R 中 属 性 或 属 性 组 X 并 非 R的 码 , 但 X 是 另 一 个 关 系 模 式 的 码 , 则 称 X 是 R 的 外 部 码( Foreign key) 也 称 外 码v如 在 SC( Sno, Cno, Grade) 中 , Sno不 是 码 , 但Sno是 关 系 模 式 S( Sno, Sdept, Sage) 的 码 , 则Sno是 关 系 模 式 SC的 外 部 码 v主 码 与 外 部 码 一 起 提 供 了 表 示 关 系 间 联 系 的 手 段 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.3 范 式v范 式 是 符 合 某 一 种 级 别 的 关 系 模 式 的 集 合v关 系 数 据 库 中 的 关 系 必 须 满 足 一 定 的 要 求 。 满 足 不 同 程 度要 求 的 为 不 同 范 式v范 式 的 种 类 :第 一 范 式 (1NF)第 二 范 式 (2NF)第 三 范 式 (3NF)BC范 式 (BCNF) 第 四 范 式 (4NF)第 五 范 式 (5NF) An Introduction to Database System 6.2.3 范 式v各 种 范 式 之 间 存 在 联 系 :v某 一 关 系 模 式 R为 第 n范 式 , 可 简 记 为 R nNF。v一 个 低 一 级 范 式 的 关 系 模 式 , 通 过 模 式 分 解 可 以 转 换 为 若干 个 高 一 级 范 式 的 关 系 模 式 的 集 合 , 这 种 过 程 就 叫 规 范 化 NF5NF4BCNFNF3NF2NF1 An Introduction to Database System5NF4NFBCNF 3NF2NF1NF各种范式之间的联系 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.4 2NFv1NF的 定 义 如 果 一 个 关 系 模 式 R的 所 有 属 性 都 是 不 可 分 的 基 本 数 据 项 ,则 R 1NFv第 一 范 式 是 对 关 系 模 式 的 最 起 码 的 要 求 。 不 满 足 第 一 范 式的 数 据 库 模 式 不 能 称 为 关 系 数 据 库v但 是 满 足 第 一 范 式 的 关 系 模 式 并 不 一 定 是 一 个 好 的 关 系 模式 An Introduction to Database System 2NF( 续 )例 4 关 系 模 式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc为 学 生 住 处 , 假 设 每 个 系 的 学 生 住 在 同 一 个 地 方v函 数 依 赖 包 括 : (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc An Introduction to Database System 2NF( 续 )v S-L-C的 码 为 (Sno, Cno)v S-L-C满 足 第 一 范 式 。 v 非 主 属 性 Sdept和 Sloc部 分 函 数 依 赖 于 码 (Sno, Cno)SnoCnoGrade SdeptSlocS-L-C An Introduction to Database System S-L-C不 是 一 个 好 的 关 系 模 式(1) 插 入 异 常假 设 Sno 95102, Sdept IS, Sloc N的 学 生 还 未选 课 , 因 课 程 号 是 主 属 性 , 因 此 该 学 生 的 信 息 无 法 插入 SLOC。(2) 删 除 异 常 假 定 某 个 学 生 本 来 只 选 修 了 3号 课 程 这 一 门 课 。 现 在 因身 体 不 适 , 他 连 3号 课 程 也 不 选 修 了 。 因 课 程 号 是 主 属性 , 此 操 作 将 导 致 该 学 生 信 息 的 整 个 元 组 都 要 删 除 。 An Introduction to Database System SLC不 是 一 个 好 的 关 系 模 式(3) 数 据 冗 余 度 大 如 果 一 个 学 生 选 修 了 10门 课 程 , 那 么 他 的 Sdept和Sloc值 就 要 重 复 存 储 了 10次 。(4) 修 改 复 杂 例 如 学 生 转 系 , 在 修 改 此 学 生 元 组 的 Sdept值 的 同时 , 还 可 能 需 要 修 改 住 处 ( Sloc) 。 如 果 这 个 学 生选 修 了 K门 课 , 则 必 须 无 遗 漏 地 修 改 K个 元 组 中 全部 Sdept、 Sloc信 息 。 An Introduction to Database System S-L-C不 是 一 个 好 的 关 系 模 式 ( 续 )v原 因 Sdept、 Sloc部 分 函 数 依 赖 于 码 。v解 决 方 法 S-L-C分 解 为 两 个 关 系 模 式 , 以 消 除 这 些 部 分 函 数 依 赖 SC( Sno, Cno, Grade) S-L( Sno, Sdept, Sloc) An Introduction to Database System 2NF( 续 )函 数 依 赖 图 : SnoCnoGradeSC S-LSno SdeptSlocv关 系 模 式 SC的 码 为 ( Sno, Cno)v关 系 模 式 S-L的 码 为 Snov这 样 非 主 属 性 对 码 都 是 完 全 函 数 依 赖 An Introduction to Database System 2NF( 续 )v2NF的 定 义定 义 6.6 若 R 1NF, 且 每 一 个 非 主 属 性 完 全 函 数 依 赖 于码 , 则 R 2NF。 即 消 除 非 主 属 性 对 码 的 部 分 依 赖 。例 : S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC( Sno, Cno, Grade) 2NF S-L( Sno, Sdept, Sloc) 2NF An Introduction to Database System 2NF( 续 )v采 用 投 影 分 解 法 将 一 个 1NF的 关 系 分 解 为 多 个 2NF的 关 系 ,可 以 在 一 定 程 度 上 减 轻 原 1NF关 系 中 存 在 的 插 入 异 常 、 删除 异 常 、 数 据 冗 余 度 大 、 修 改 复 杂 等 问 题 。v将 一 个 1NF关 系 分 解 为 多 个 2NF的 关 系 , 并 不 能 完 全 消 除关 系 模 式 中 的 各 种 异 常 情 况 和 数 据 冗 余 。 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.5 3NFv3NF的 定 义定 义 6.7 关 系 模 式 R 中 若 不 存 在 这 样 的 码 X、 属 性组 Y及 非 主 属 性 Z( Z Y) , 使 得 XY, YZ成 立 , Y X, 则 称 R 3NF。n若 R 3NF, 则 每 一 个 非 主 属 性 既 不 部 分 依 赖 于 码 也 不传 递 依 赖 于 码 。 即 (2NF基 础 上 )消 除 非 主 属 性 对 码 的 传 递 依 赖 。 An Introduction to Database System 3NF( 续 )例 : 2NF关 系 模 式 S-L(Sno, Sdept, Sloc)中 函 数 依 赖 : SnoSdept Sdept Sno SdeptSloc 可 得 : SnoSloc, 即 S-L中 存 在 非 主 属 性 对 码 的 传 递 函 数 依 赖 , S-L 3NF 传 递 An Introduction to Database System 3NF( 续 )函 数 依 赖 图 :S-LSno SdeptSloc An Introduction to Database System 3NF( 续 )v解 决 方 法 采 用 投 影 分 解 法 , 把 S-L分 解 为 两 个 关 系 模 式 , 以 消除 传 递 函 数 依 赖 : S-D( Sno, Sdept) D-L( Sdept, Sloc)S-D的 码 为 Sno, D-L的 码 为 Sdept。 n 分 解 后 的 关 系 模 式 S-D与 D-L中 不 再 存 在 传 递 依 赖 An Introduction to Database System 3NF( 续 )S-D的 码 为 Sno, D-L的 码 为 SdeptSno SdeptS-D Sdept SlocD-Lv S-L(Sno, Sdept, Sloc) 2NF S-L(Sno, Sdept, Sloc) 3NF S-D(Sno, Sdept) 3NFD-L(Sdept, Sloc) 3NF An Introduction to Database System 3NF( 续 )v 采 用 投 影 分 解 法 将 一 个 2NF的 关 系 分 解 为 多 个 3NF的 关 系 , 可以 在 一 定 程 度 上 解 决 原 2NF关 系 中 存 在 的 插 入 异 常 、 删 除 异 常 、数 据 冗 余 度 大 、 修 改 复 杂 等 问 题 。v 将 一 个 2NF关 系 分 解 为 多 个 3NF的 关 系 后 , 仍 然 不 能 完 全 消 除关 系 模 式 中 的 各 种 异 常 情 况 和 数 据 冗 余 。 An Introduction to Database System 学 号 姓 名 年 龄 性 别 系 号 系 名1001 王 静 18 女 1 通 信 工 程2001 张 路 19 女 2 电 子 工 程2002 李 远 20 男 2 电 子 工 程3001 王 烨 21 男 3 计 算 机3004 张 路 20 女 3 计 算 机3005 孙 小 明 19 男 3 计 算 机习 题 1:如 下 表 学 生 关 系 S, 试 问 S是 否 属 于 3NF? 为 什 么 ?若 不 是 , 它 属 于 第 几 范 式 ? 并 将 其 规 范 化 为 3NF。 An Introduction to Database System v解 : 关 系 模 式 S( 学 号 , 姓 名 , 年 龄 , 性 别 , 系 号 , 系 名 ) 函 数 依 赖 : 学 号 姓 名 , 学 号 年 龄 , 学 号 性 别 , 学 号 系 号 , 学 号 系 名 系 号 系 名 不 存 在 非 主 属 性 对 码 的 部 分 依 赖 , 但 存 在 非 主 属 性 对码 的 传 递 依 赖 , 所 以 S 2NF,但 S 3NF。 模 式 分 解 为 : S1( 学 号 , 姓 名 , 年 龄 , 性 别 , 系 号 ) S2( 系 号 , 系 名 ) An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.6 BC范 式 ( BCNF)v定 义 6.8 关 系 模 式 R 1NF, 若 XY且Y X时 X必 含 有 码 , 则 R BCNF。v等 价 于 : 每 一 个 决 定 属 性 因 素 都 包 含 码 。 即 ( 3NF基 础 上 ) 消 除 主 属 性 对 码 的 部分 和 传 递 依 赖 。 An Introduction to Database System BCNF( 续 )v若 R BCNF 所 有 非 主 属 性 对 每 一 个 码 都 是 完 全 函 数 依 赖 所 有 的 主 属 性 对 每 一 个 不 包 含 它 的 码 , 也 是 完 全 函 数依 赖 没 有 任 何 属 性 完 全 函 数 依 赖 于 非 码 的 任 何 一 组 属 性vR BCNF R 3NF充 分 不 必 要 An Introduction to Database System BCNF( 续 )例 5 关 系 模 式 C( Cno, Cname, Pcno)n C 3NFn C BCNF例 6 关 系 模 式 S( Sno, Sname, Sdept, Sage)n 假 定 S有 两 个 码 Sno, Snamen S 3NF。 n S BCNF An Introduction to Database System BCNF( 续 ) 例 7 关 系 模 式 SJP( S, J, P) S表 示 学 生 , J表 示 课 程 , P表示 名 次n函 数 依 赖 : ( S, J) P; (J, P) Sn( S, J) 与 ( J, P) 都 可 以 作 为 候 选 码 , 属 性 相 交nSJP 3NF,nSJP BCNF An Introduction to Database System BCNF( 续 )例 8在 关 系 模 式 STJ( S, T, J) 中 , S表 示 学 生 , T表示 教 师 , J表 示 课 程 。 函 数 依 赖 : (S, J)T, (S, T)J, TJ (S, J)和 (S, T)都 是 候 选 码 An Introduction to Database System BCNF( 续 ) JSJ T STSTJ中 的 函 数 依 赖 An Introduction to Database System BCNF( 续 )vSTJ 3NF 没 有 任 何 非 主 属 性 对 码 传 递 依 赖 或 部 分 依 赖 vSTJ BCNF T是 决 定 因 素 , T不 包 含 码 An Introduction to Database System BCNF( 续 )v解 决 方 法 : 将 STJ分 解 为 二 个 关 系 模 式 : ST(S, T) BCNF, TJ(T, J) BCNF 没 有 任 何 属 性 对 码 的 部 分 函 数 依 赖 和 传 递 函 数 依 赖S TST T JTJ An Introduction to Database System 3NF与 BCNF的 关 系vR BCNF R 3NFv如 果 R 3NF, 且 R只 有 一 个 候 选 码 R BCNF R 3NF充 分不 必 要充 分必 要 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.7 多 值 依 赖例 9 学 校 中 某 一 门 课 程 由 多 个 教 师 讲 授 , 他 们 使 用相 同 的 一 套 参 考 书 。 每 个 教 员 可 以 讲 授 多 门 课 程 ,每 种 参 考 书 可 以 供 多 门 课 程 使 用 。 An Introduction to Database System 课 程 C 教 员 T 参 考 书 B 物 理数 学 计 算 数 学 李 勇王 军 李 勇张 平 张 平 周 峰 普 通 物 理 学光 学 原 理 物 理 习 题 集数 学 分 析微 分 方 程高 等 代 数数 学 分 析. 多 值 依 赖 ( 续 )v 非 规 范 化 关 系 An Introduction to Database System 普 通 物 理 学光 学 原 理物 理 习 题 集普 通 物 理 学光 学 原 理物 理 习 题 集数 学 分 析微 分 方 程高 等 代 数数 学 分 析微 分 方 程高 等 代 数李 勇李 勇李 勇王 军王 军王 军李 勇李 勇李 勇张 平张 平张 平 物 理物 理物 理物 理物 理物 理数 学数 学数 学数 学数 学数 学 参 考 书 B教 员 T课 程 C 多 值 依 赖 ( 续 )v 用 二 维 表 表 示 Teaching An Introduction to Database System 多 值 依 赖 ( 续 )vTeaching BCNFvTeaching具 有 唯 一 候 选 码 (C, T, B), 即 全 码 An Introduction to Database System 多 值 依 赖 ( 续 ) Teaching模 式 中 存 在 的 问 题(1)数 据 冗 余 度 大 (2)插 入 操 作 复 杂(3) 删 除 操 作 复 杂(4) 修 改 操 作 复 杂 存 在多 值 依 赖 An Introduction to Database System 多 值 依 赖 ( 续 )v 定 义 6.9 设 R(U)是 一 个 属 性 集 U上 的 一 个 关 系 模 式 , X、 Y和 Z是 U的 子集 , 并 且 Z U X Y。 关 系 模 式 R(U)中 多 值 依 赖 XY成 立 ,当 且 仅 当 对 R(U)的 任 一 关 系 r, 给 定 的 一 对 ( x, z) 值 , 有 一组 Y的 值 , 这 组 值 仅 仅 决 定 于 x值 而 与 z值 无 关v 例 Teaching( C, T, B) An Introduction to Database System 多 值 依 赖 ( 续 )v平 凡 的 多 值 依 赖 和 非 平 凡 的 多 值 依 赖 若 XY, 而 Z , 则 称 XY为 平 凡 的 多 值 依 赖 否 则 称 XY为 非 平 凡 的 多 值 依 赖 An Introduction to Database System 多 值 依 赖 ( 续 ) 例 10 关 系 模 式 WSC( W, S, C)n W表 示 仓 库 , S表 示 保 管 员 , C表 示 商 品n 假 设 每 个 仓 库 有 若 干 个 保 管 员 , 有 若 干 种 商 品 n 每 个 保 管 员 保 管 所 在 的 仓 库 的 所 有 商 品n 每 种 商 品 被 所 有 保 管 员 保 管 An Introduction to Database System 多 值 依 赖 ( 续 )W S CW1 S1 C1W1 S1 C2W1 S1 C3W1 S2 C1W1 S2 C2W1 S2 C3W2 S3 C4W2 S3 C5 W2 S4 C4W2 S4 C5 An Introduction to Database System 多 值 依 赖 ( 续 )WS且 WC用 下 图 表 示 这 种 对 应 An Introduction to Database System 多 值 依 赖 的 性 质( 1) 多 值 依 赖 具 有 对 称 性若 XY, 则 XZ, 其 中 Z U X Y( 2) 多 值 依 赖 具 有 传 递 性若 XY, YZ, 则 XZ Y( 3) 函 数 依 赖 是 多 值 依 赖 的 特 殊 情 况 。若 XY, 则 XY。( 4) 若 XY, XZ, 则 XY Z。( 5) 若 XY, XZ, 则 XYZ。( 6) 若 XY, XZ, 则 XY-Z, XZ -Y。 An Introduction to Database System 多 值 依 赖 与 函 数 依 赖 的 区 别(1) 多 值 依 赖 的 有 效 性 与 属 性 集 的 范 围 有 关 若 XY在 U上 成 立 则 在 W(XY W U)上 一 定 成 立 ;反 之 则 不 然 , 即 XY在 W( W U) 上 成 立 , 在 U上并 不 一 定 成 立 。 这 是 因 为 多 值 依 赖 的 定 义 中 不 仅 涉 及 属性 组 X和 Y, 而 且 涉 及 U中 其 余 属 性 Z。(2) 若 函 数 依 赖 XY在 R( U) 上 成 立 , 则 对 于 任 何 Y Y均有 XY 成 立 。 而 多 值 依 赖 XY若 在 R(U)上 成 立 , 不 能 断 言 对 于 任 何Y Y有 XY 成 立 。 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.8 4NFv定 义 6.10 关 系 模 式 R 1NF, 如 果 对 于 R的 每 个非 平 凡 多 值 依 赖 XY( Y X) , X都 含 有 码 , 则R 4NF。v如 果 R 4NF, 则 R BCNFn 不 允 许 有 非 平 凡 且 非 函 数 依 赖 的 多 值 依 赖 n 允 许 的 非 平 凡 多 值 依 赖 是 函 数 依 赖即 消 除 非 平 凡 且 非 函 数 依 赖 的 多 值 依 赖 。 An Introduction to Database System 6.2.8 4NF( 续 )函 数 依 赖非 函 数 依 赖平凡 非平凡消 除 非 平 凡 且 非 函 数 依 赖 的 多 值 依 赖 ( 即 要 么 是 平 凡 的 多 值 依 赖 , 要 么 是 函 数 依 赖 ;4NF所 允 许 的 非 平 凡 的 多 值 依 赖 实 际 上 是 函 数 依赖 。 ) An Introduction to Database System 4NF( 续 )例 : Teaching(C,T,B) 4NF 存 在 非 平 凡 的 多 值 依 赖 CT, 且 C不 是 码n 用 投 影 分 解 法 把 Teaching分 解 为 如 下 两 个 关 系 模 式 : CT(C, T) 4NF CB(C, B) 4NF CT, CB是 平 凡 多 值 依 赖 An Introduction to Database System 4NF( 续 )v函 数 依 赖 和 多 值 依 赖 是 两 种 最 重 要 的 数 据 依 赖 。v如 果 只 考 虑 函 数 依 赖 , 则 属 于 BCNF的 关 系 模 式规 范 化 程 度 已 经 是 最 高 了 。v如 果 考 虑 多 值 依 赖 , 则 属 于 4NF的 关 系 模 式 规 范化 程 度 是 最 高 的 。 An Introduction to Database System 6.2 规 范 化6.2.1 函 数 依 赖6.2.2 码6.2.3 范 式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多 值 依 赖6.2.8 4NF6.2.9 规 范 化 小 结 An Introduction to Database System 6.2.9 规 范 化 小 结v关 系 数 据 库 的 规 范 化 理 论 是 数 据 库 逻 辑 设 计 的 工 具v目 的 : 尽 量 消 除 插 入 、 删 除 异 常 , 修 改 复 杂 , 数 据 冗 余v基 本 思 想 : 逐 步 消 除 数 据 依 赖 中 不 合 适 的 部 分v实 质 : 概 念 的 单 一 化 An Introduction to Database System 规 范 化 小 结 ( 续 )v关 系 模 式 规 范 化 的 基 本 步 骤 1NF 消 除 非 主 属 性 对 码 的 部 分 函 数 依 赖消 除 决 定 因 素 2NF 非 码 的 非 平 消 除 非 主 属 性 对 码 的 传 递 函 数 依 赖凡 函 数 依 赖 3NF 消 除 主 属 性 对 码 的 部 分 和 传 递 函 数 依 赖 BCNF 消 除 非 平 凡 且 非 函 数 依 赖 的 多 值 依 赖 4NF An Introduction to Database System 规 范 化 小 结 ( 续 )v不 能 说 规 范 化 程 度 越 高 的 关 系 模 式 就 越 好v在 设 计 数 据 库 模 式 结 构 时 , 必 须 对 现 实 世 界 的 实 际 情 况 和用 户 应 用 需 求 作 进 一 步 分 析 , 确 定 一 个 合 适 的 、 能 够 反 映现 实 世 界 的 模 式v上 面 的 规 范 化 步 骤 可 以 在 其 中 任 何 一 步 终 止 An Introduction to Database System 第 六 章 关 系 数 据 理 论6.1 问 题 的 提 出6.2 规 范 化6.3 数 据 依 赖 的 公 理 系 统*6.4 模 式 的 分 解6.5 小 结 An Introduction to Database System 6.3 数 据 依 赖 的 公 理 系 统v逻 辑 蕴 含定 义 6.11 对 于 满 足 一 组 函 数 依 赖 F 的 关 系 模 式 R ,其 任 何 一 个 关 系 r, 若 函 数 依 赖 XY都 成 立 , ( 即 r中 任 意 两元 组 t, s, 若 t X =s X , 则 t Y =s Y ) , 则 称 F逻 辑 蕴 含 X Y An Introduction to Database System 1. Armstrong公 理 系 统 关 系 模 式 R 来 说 有 以 下 的 推 理 规 则 : A1.自 反 律 ( Reflexivity) : 若 Y X U, 则 X Y为 F所 蕴含 。 A2.增 广 律 ( Augmentation) : 若 XY为 F所 蕴 含 , 且 Z U, 则 XZYZ为 F所 蕴 含 。 A3.传 递 律 ( Transitivity) : 若 XY及 YZ为 F所 蕴 含 , 则XZ为 F所 蕴 含 。 An Introduction to Database System 2. 导 出 规 则1.根 据 A1, A2, A3这 三 条 推 理 规 则 可 以 得 到 下 面 三条 推 理 规 则 : 合 并 规 则 : 由 XY, XZ, 有 XYZ。 ( A2, A3) 伪 传 递 规 则 : 由 XY, WYZ, 有 XWZ。 ( A2, A3) 分 解 规 则 : 由 XY及 ZY, 有 XZ。 ( A1, A3) An Introduction to Database System 导 出 规 则2.根 据 合 并 规 则 和 分 解 规 则 , 可 得 引 理 6.1 引 理 6.l XA1 A2Ak成 立 的 充 分 必 要 条 件 是XAi成 立 ( i=l, 2, , k) An Introduction to Database System 3. 函 数 依 赖 闭 包定 义 6.l2 在 关 系 模 式 R中 为 F所 逻 辑 蕴 含 的函 数 依 赖 的 全 体 叫 作 F的 闭 包 , 记 为 F+。定 义 6.13 设 F为 属 性 集 U上 的 一 组 函 数 依 赖 , X U, XF+ = A|XA能 由 F 根 据 Armstrong公 理 导 出 ,X F+称 为 属 性 集 X关 于 函 数 依 赖 集 F 的 闭 包 An Introduction to Database System F的 闭 包F=XY, YZF+=X, Y, Z, XY, XZ, YZ, XYZ, XX, YY, ZZ, XYX, XZX, YZY, XYZX,XY, Y Z, XYY, XZY, YZZ, XYZY,XZ, YYZ, XYZ, XZZ, YZYZ,XYZZ,XXY, XYXY,XZXY, XYZXY, XXZ, XYYZ,XZXZ, XYZYZ,XYZ, XYXZ,XZXY, XYZXZ,XZYZ, XYXYZ,XZXYZ, XYZXYZ F=XA1, , XAn的 闭 包 F+计 算 是 一 个 NP完 全 问 题 An Introduction to Database System 关 于 闭 包 的 引 理v引 理 6.2 设 F为 属 性 集 U上 的 一 组 函 数 依 赖 , X, Y U, XY能 由 F 根 据 Armstrong公 理 导 出 的 充 分 必 要 条 件 是 Y XF+v用 途 将 判 定 XY是 否 能 由 F根 据 Armstrong公 理 导 出 的 问 题 ,转 化 为 求 出 X F+ 、 判 定 Y是 否 为 XF+的 子 集 的 问 题 An Introduction to Database System 例 1 已 知 关 系 模 式 R(U,F), U=A,B,C,D,E, F=AB, DC, BCE, ACB。 求 (AE) F (AD) F 解 : ( 1) 设 X(0)=AE 。计 算 X(1) 逐 一 扫 描 F中 的 各 个 函 数 依 赖 , 寻 找 左 部 为 A、 E或 AE的 函 数 依 赖 , 找 到 一 个 AB, 故 有 X(1)=AEB。计 算 X(2) 逐 一 扫 描 F中 的 各 个 函 数 依 赖 , 寻 找 左 部 为 ABE或ABE子 集 的 函 数 依 赖 , 因 为 找 不 到 这 样 的 函 数 依 赖 , 所 以 ,X(2)= X(1), 算 法 终 止 。 (AE) F = ABE。( 2) 同 理 求 得 (AD) F = ABCDE。 属 性 的 闭 包 An Introduction to Database System 函 数 依 赖 闭 包例 2 已 知 关 系 模 式 R, 其 中U=A, B, C, D, E;F=ABC, BD, CE, ECB, ACB。求 ( AB) F+ 。解 : 设 X( 0) =AB;(1) X ( 1) =AB CD=ABCD。(2) X( 0) X( 1) X( 2) =X( 1) BE=ABCDE。(3) X( 2) =U, 算 法 终 止( AB) F+ =ABCDE。 An Introduction to Database System 4. 候 选 码 的 求 解 方 法给 定 关 系 模 式 R(U,F), U=A1, A2, , An , F是 R的 函 数 依 赖 集 , 那 么 , 可以 将 属 性 分 为 如 下 四 类 :( 1) L: 仅 出 现 在 函 数 依 赖 集 F左 部 的 属 性 。( 2) R: 仅 出 现 在 函 数 依 赖 集 F右 部 的 属 性 。( 3) LR: 在 函 数 依 赖 集 F左 右 部 都 出 现 的 属 性 。( 4) NLR: 在 函 数 依 赖 集 F左 右 部 都 未 出 现 的 属 性 。 候 选 码 相 关 定 理 : 若 X是 L类 属 性 , 则 X必 为 R的 任 一 候 选 码 的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!