- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STJ(S,T,J) S—学生 T—教师 J—课程 {S,J}→T T→J F={ , , } {S,T}→J 语义: (1)每位教师只教一门课程,每门课程由若干教师教。 (2)一位学生选定某门课,就确定了一个固定的教师 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 S J T S T J 候选键:{S,J}, {S,T} STJ(S,T,J)∈3NF 候选键:{S,J}, {S,T} 数据冗余 插入异常 删除异常 原因:主属性部分函数依赖或传递函数依赖于 候选键。{S,T}→J T→J(部分函数依赖) {S,J}→T T→J(传递函数依赖) ST(S,T) TJ( T,J ) 分 解 T→J 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 STJ(S,T,J) S—学生 T—教师 J—课程 {S,J}→T T→J F={ , , } {S,T}→J 例:R(city,st,zip) F={(city,st)→zip, zip→city} KEY={(city,st),(st,zip)} 问:R的最高范式 决定子不含键 存在问题:数据冗余、异常 解决办法:分解 原因:主属性部分函数依赖或传递函数依赖于 (其它)候选键。 (st,zip)→city,而zip→city(部分依赖) sz(zip,st) zc(zip,city) 分 解 R(city,st,zip) 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 ∈ 3NF 五. BCNF(Boyce-Codd范式)--改进的3NF 设关系模式R是1NF,且每个属性都不传递依赖 于R的候选键,则R∈BCNF。称R是BCNF的模式。 满足BCNF的关系可避免更新异常和数据冗余。 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 定理4.11:如果R是BCNF模式,那么R也是3NF模式 定义4.19: 设F是关系模式R的FD集,如果对F中每个非平凡的FD X→Y,都有X是R的超键,则称R是BCNF的模式。 4. BCNF(Boyce-Codd范式)--改进的3NF 如果关系模式的所有非平凡函数依赖的决定子 都含有候选键,则R∈BCNF。 满足BCNF的关系可避免更新异常和数据冗余。 若R∈BCNF,则R∈3NF。 从定义得到: 所有非主属性都完全函数依赖于候选键。 所有非主属性不可能传递依赖于候选键. 所有主属性都完全函数依赖于候选键。 (4)没有任何属性完全函数依赖于非候选键的任何子集。 (R ∈3NF) (R ∈2NF) 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 5. 四个范式的关系: 1NF 2NF 3NF BCNF 4NF 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 BCNF ? 3NF ? 2NF ? 1NF 将一个低级范式的关系模式,通过模式分解转换为若干个高一级范式的关系模式集合的过程。 六. 关系模式的规范化 基本思想: 逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或实体间的一种联系。 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 1NF 2NF 3NF 消除非主属性对键的部分函数依赖 消除非主属性对键的传递函数依赖 BCNF 消除主属性对键的部分和传递函数依赖 基本步骤: 第四章 关系数据库的规范化设计 4.4 关系模式的规范化 例:学号S#、课程号C# ,成绩G 、任课教师号TN、 教师所在系名D. 函数依赖集F={{S#,C#}→G, C#→TN,TN→D} 问:R(S#,C#,G,TN,D)属于第几范式 ↓分解后的关系各属于第几范式 {SGC(S#,C#,G),CTND(C#,TN,D)} ↓ SGC(S#,C#,G) CTN(C#,TN) TND(TN,D)
文档评论(0)