- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章关系数据理论解析
Page ? * * 3NF(con.) 学生的码为学号,宿舍的码为院系 学号 院系 学生 院系 住处 宿舍 Page ? * 3NF(con.) 3NF的定义 定义6.7 关系模式RU,F 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得X→Y,Y X,Y→Z成立,则称RU,F ∈ 3NF。 例: SL(学号, 院系, 住处) ∈ 2NF SL(学号,院系,住处) 3NF SD(学号,院系) ∈ 3NF DL(院系,住处)∈ 3NF Page ? * 3NF(con.) 若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。 如果R∈3NF,则R也是2NF。 采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。 将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。 BCNF Page ? * 6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2 规范化 Page ? * BC范式(BCNF) 定义6.8 设关系模式RU,F∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。 若R∈BCNF 每一个决定属性集(因素)都包含(候选)码 R中的所有属性(主,非主属性)都完全函数依赖于码 R∈3NF(证明) 若R∈3NF 则 R不一定∈BCNF Page ? * BCNF(con.) 例1:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示公共课。 每一教师只教一门公共课,每门公共课由若干教师教。 那么,某一学生选定某门公共课,就确定了一个固定的教师;某个学生选修某个教师的公共课就确定了所选课的名称 : 有:(S,J)→T,(S,T)→J,T→J Page ? * BCNF(con.) S J T S T J STJ Page ? * BCNF (con.) STJ∈3NF?,但是: (S,J)和(S,T)都可以作为候选码? S、T、J都是主属性 当(S,J)作为候选码时,T→J,T是决定属性集,T不是候选码 所以,STJ∈BCNF Page ? * BCNF (con.) 解决方法:将STJ分解为二个关系模式: SJ(S,J) ∈ BCNF, TJ(T,J)∈ BCNF S J ST T J TJ 没有任何属性对码的 部分函数依赖和传递函数依赖 Page ? * BCNF (con.) 例2:关系模式SJP(S,J,P)中,S是学生,J是课程,P表示名次。 每门课程中每一名次只有一个学生(即没有并列名次),由语义可得下面的函数依赖: (S,J)-P;(J,P)-S (S,J)与(J,P)都可以作为候选码。这两个码各由两个属性组成,而且他们是相交的。 这个关系模式中显然没有属性对码的传递依赖或部分依赖,所以属于3NF 而且除(S,J)和(J,P)以外没有其他决定因素,所以SJP ∈BCNF Page ? * BCNF (con.) 例3:关系城市邮编(城市,街道,邮编)中: (城市,街道)-邮编 (城市,邮编)-街道 邮编-城市 所以,三个都是主属性,若将(城市,街道)定为候选码,则有城市依赖于邮编,故不属于BCNF Page ? * 思考并讨论3-2 现有关系SMT(SID, Major, Teacher) 假设某专业有若干研究生,每个研究生可以有一个或多个专业(双硕士),一个专业可以有若干位导师,一个学生在某个专业只能有一位导师 请分析:该关系是否属于BCNF? Page ? * 3NF与BCNF的关系 如果关系模式R∈BCNF, 必定有R∈3NF 如果R∈3NF,且R只有一个候选码, 则R必属于BCNF。 Page ? * BCNF的关系模式所具有的性质 ⒈ 所有非主属性都完全函数依赖于每个候选码 ⒉ 所有主属性都完全函数依赖于每个不包含它的候选码 ⒊ 没有任何属性完全函数依赖于非码的任何一组属性 Page ? * 关系范式的应用 例 教师任课关系模式 TDC(T#,TNAME,TITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT) 注: TITLE:教师职称 ADDR:办公地址,联系方式 D#:宿舍号 LOC:宿舍地址 LEVEL:课程测评级别 CREDIT:学分 假设每个教师住一间宿舍 Page ? * 关系范式的应用(con.) TDC(
文档评论(0)