- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统原理6
*/40 BCNF 设R是一个关系模式,F是它的依赖集,R属于BCNF当且 仅当其F中每个依赖的决定因素必定包含R的某个候选码。 判断一个模式是否BCNF: (1)所有非主属性对每一个候选码完全依赖; (2)所有主属性对每一个不包含它的候选码完全依赖; (3)没有任何属性完全依赖于非候选码的任何一组属性。 例1:C(Cno,Cname,Pcno) 码:Cno,无传递依赖,至少属于3NF,也属于BCNF。考虑:若某关系码是唯一的单 属性,它符合BCNF的条件是什么?有无反例?若码是 单属性,但有多个候选码,成为BCNF的条件又是什么? 例2:SJP(学生,课程,名次),无并列名次。 码:(学生、课程)和(课程,名次)属于BCNF。因 无非主属性,且主属性对码也是完全依赖。 */40 例3:关系STJ(学生、教师、课程)一师教一课。 码:(学生、课程)和(学生,教师)。符合3NF。因 (S,J)?T, T?J不构成传递依赖!但不符合BCNF的条件。 因为:有教师?课程,所以教师是一个决定因素,但是它不是候选码,它单独不具备候选码资格。 例4:关系R(城市、街道、邮编) 码:(城市,街道)和(邮编,街道),符合3NF,BCNF? 不是! 因为有邮编?城市,邮编是一个决定因素,但它非码。 */40 多值依赖与第四范式(4NF) 多值依赖 给定关系模式R及其属性A和B,对于一给定的A值,就有一组B属性值与之对应,而与其它的属性(R-A-B)没有关系,则称“B多值依赖于A”或“A多值决定B”。记作:A??B。多值依赖的特点:互补、增广、传递。 例: 学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。关系模式Teaching(C, T, B),其中: 课程?C、教师?T 和 参考书?B 参考数据见下页的表格 */40 普通物理学 光学原理 物理习题集 普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 微分方程 高等代数 … 李 勇 李 勇 李 勇 王 军 王 军 王 军 李 勇 李 勇 李 勇 张 平 张 平 张 平 … 物 理 物 理 物 理 物 理 物 理 物 理 数 学 数 学 数 学 数 学 数 学 数 学 … 参考书B 教员T 课程C 用二维表表示Teaching */40 … … … 课 程 C 教 员 T 参 考 书 B ? ? 物理 ? 数学 ? ? ? 计算数学 李 勇 王 军 ? ? 李 勇 张 平 ? ? ? 张 平 周 峰 普通物理学 光学原理 物理习题集 ? 数学分析 微分方程 高等代数 ? ? 数学分析 ? ? ? ? Teach具有唯一候选码(C,T,B), 即全码。 Teaching∈BCNF。 Teaching模式中存在以下的问题。 */40 1、数据冗余度大:有多少教师,参考书就要存储多少次。 2、插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组,例如物理课增加一名教师刘关,需要插入两个元组:(物理,刘关,普通物理学) 、(物理,刘关,光学原理) 3、 删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。 4、 修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组 产生原因:存在多值依赖 */40 互补性:若X??Y,则X??U-X-Y (U是全属性集) 增广性:若X??Y,VW,则WY??VY 传递性:若X??Y,Y??Z,则X??Z-Y。 4NF 如果对于每个非平凡多值依赖X??Y,X都含有码,则称4NF。 当依赖只包含函数依赖时,4NF就是BCNF。或者说4NF允许的非平凡的多值依赖实际上是函数依赖。 平凡多值依赖:若X??Y,而Z=U-X-Y为空。U为属性集合。则称Y平凡依赖于X。 */40 对于任何没有说明的关联,作出适当的假设,建立合理 的依赖关系。 范式 检验条件 校正(规范化) 第一范式(1NF) 关系中没有非原子属性和嵌套关系。 为每个非原子属性和嵌套关系建立新关系。 第二范式(2NF) 如果关系的主码包含多个属性,没有非码属性部分函数依赖于主码。 分解原来的关系,为每个部分码与它们的依赖属性建立新关系。要确保在一个关系中保留原来的主码,并且在这个关系中任何非主属性完全函数依赖于该主码。 第三范式(3NF) 关系中不能有一个非码属性被另一个非码属性(或非码属性集)函数决定,即不存在非码属性传递依赖于主码。 分解原
文档评论(0)