Chapter关系规范化理论.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter关系规范化理论.ppt

第6章 关系数据库模式设计 数据库原理及应用 * 本章主要问题 在一个关系数据库应用系统中,构成该系统的关系数据库的全局逻辑模式的基本表的全体, 称为该系统的数据库模式。 方案1 R (教员,住址,课程号,课程名) 方案2 R1(教员,住址) R2(教员,课程号,课程名) 问题:面对一个现实问题,如何有效地设计一个好的关系数据库模式? * 教学内容 函数依赖 函数依赖的公理体系 关系模式的分解 关系模式的规范化 第1讲 函数依赖 第6章 关系数据库模式设计 * 主要内容 规范化设计的必要性 函数依赖(FD) 函数依赖的逻辑蕴涵 候选键的形式化定义 * 关系模型1:R(教员,住址,课程号,课程名) 存在问题: 教员 住址 课程号 课程名 徐浩 a1 c1 数据库 徐浩 a1 c2 网络 张国庆 a2 c2 网络 张国庆 a2 c3 VFP设计 宋歌 a3 c6 通信原理 数据冗余 更新异常 插入异常 删除异常 关系模式R的设计是不合适的 一、规范化设计的必要性 * 关系模型2:R1(教员,住址), R2(教员, 课程号,课程名) 续1 教员 住址 徐浩 a1 张国庆 a2 宋歌 a3 教员 课程号 课程名 徐浩 c1 数据库 徐浩 c2 网络 张国庆 c2 网络 张国庆 c3 VFP设计 宋歌 c6 通信原理 关系模式R1和R2的设计是合适的 r1 r2 * 关系模型1:R(教员,住址,课程号,课程名) 原因: 续2 数据依赖 教员 住址 课程号 课程名 徐浩 a1 c1 数据库 徐浩 a1 c2 网络 张国庆 a2 c2 网络 张国庆 a2 c3 VFP设计 宋歌 a3 c6 通信原理 * 关系模型1:R(教员,住址,课程号,课程名) 关系模型2:R1(教员,住址), R2(教员, 课程号,课程名) 续3 分解 * 不合理的关系模式会引起数据冗余和操作异常的问题,需要对关系模式进行规范化设计。 续4 * 二、函数依赖(FD) * 1、定义 设有关系模式R(A1,A2,…,An)和属性集U={A1,A2,…,An}的子集X、Y。如果对于具体关系r的任何两个元组u和v,只要u[X]=v[X],就有u[Y]=v[Y],则称X函数地决定Y,或Y函数依赖X,记为X?Y。 * 例:R(教员,住址,课程号,课程名) 教员?住址 教员 住址 课程号 课程名 t1 a1 c1 n1 t1 a1 c2 n2 t1 a1 c3 n3 t2 a2 c4 n4 t3 a3 c6 n4 u v X Y u[X]=v[X] ? u[Y]=v[Y] 举例1 * 教员 课程名 教员 住址 课程号 课程名 t1 a1 c1 n1 t1 a1 c2 n2 t1 a1 c3 n3 t2 a2 c4 n4 t3 a3 c6 n4 u v X Y u[X]=v[X] 但 u[Y] ? v[Y] 举例2 例:R(教员,住址,课程号,课程名) * 几点说明 ①为什么称为函数依赖呢? ②函数依赖是一种语义范畴的概念,反映的是语义完整性约束,所以最初要从语义的角度来确定一个关系的函数依赖,它一般是隐藏在客观现实和我们的经验当中的。 S# ? SNAME * 几点说明(续一) ③函数依赖与属性之间的联系类型有关。 属性X与Y有1:1的联系,X→Y,Y→X。 公司名?总裁,总裁?公司名,即:公司名?总裁 属性X与Y有m:1的联系,则只存在X→Y。 学号与专业之间是m:1,则:学号→专业 属性X与Y有m:n的联系,则X与Y之间不存在函数依赖关系。 * 几点说明(续二) ④函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指关系模式R的所有实例均要满足的约束条件。 ⑤当X?Y时,Y值由X值决定,X也称为决定因素 * 是不是所有的函数依赖都会引起数据冗余和操作异常呢?显然不是,函数依赖是现实世界施加在关系上的语义约束条件,只是某些函数依赖会造成数据冗余和操作异常。究竟是什么样的函数依赖会造成数据冗余和操作异常? 思考: * ①若有X?Y,且 ,称X?Y为非平凡FD ②若有X?Y,且Y?X,称X?Y为平凡函数依赖 2、非平凡函数依赖与平凡函数依赖 *

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档