数据库概论06.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系模式的规范化过程 0NF 非规范化的关系 消除属性的组合性,并指定关键字 1NF 2NF 3NF BCNF 4NF 消除非主属性对关键字的部分函数依赖 消除非主属性对关键字的传递函数依赖 消除主属性对关键字的部分和传递函数依赖 消除非平凡的多值依赖 消除决定 因子不是 关键字的 非平凡多 值依赖 关系模式规范化理论为数据库设计提供了理论指南和工具。但并不是规范化程度越高,模式就越好。(规范化程度越高,做综合查询时付出的做连接运算的代价越大)。在设计关系模式时,一般地分解进行到3NF就可以了。 规范化的解题步骤: ① 确定关系模式所有的候选码; ② 确定主属性与非主属性; ③ 根据范式定义判断属于第几范式; ④ 利用模式分解的规则,对关系模式进行分解,达到规范化的要求。 规范化示例: 已知关系模式R(A,B,C,D,E),R上存在的函数依赖有F={AB→E, B→C, C→D},求: ① 关系模式的码; ② 该关系模式满足几范式,为什么? ③ 将R分解为高一级的范式,并说明理由。 第六章作业(第1次) 已知关系模式R(SNO,CNO,GRADE,TNAME,TADDR),其属性分别表示学号、课程号、成绩、教师名、教师地址等意义。语义为:每个学生每学一门课程只有一个成绩,每门课程只有一个教师任教,每个教师只有一个地址(不允许教师重名)。求: ① 关系模式R的基本函数依赖; ② 关系模式R的码; ③ 关系模式R满足几范式,为什么? ④ 将R分解为高一级的范式,并说明理由。 思考题:P.167 2 6.3 函数依赖 1. 函数依赖的逻辑蕴涵 已知关系模式R有A→B,B→C, 问:A→C是否成立。 这就是函数依赖的逻辑蕴涵问题。 定义12:对于满足一组函数依赖F的关系模式R U,F,X、Y是U的子集。如果从F中的函数依赖能够推导出 X→Y(即任何一个关系r中任意两元组t,s,若t[X]=s[X],则t[Y]=s[Y]),则称F逻辑蕴含X →Y,记作F|= X →Y。 2. Armstrong公理系统: 设U为属性集总体,F是U上的一组函数依赖, 于是有关系模式R U,F 。对R U,F 来说有以下的推理规则: Al.自反律(Reflexivity): 若Y ? X ? U,则X→Y为F所蕴含。 A2.增广律(Augmentation):若X→Y为F所蕴含,且Z?U,则XZ→YZ为F所蕴含。 A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。 定理6.l:Armstrong推理规则是正确的。 证明: (l)(自反律)设Y?X?U 。 对R U,F的任一关系r中的任意两个元组t,s: 若t[X]=s[X],由于Y?X,有t[y]=s[y], 所以X→Y成立,自反律得证。 例4:关系模式COURSE(CNO, CNAME, CTIME)。 COURSE?3NF,COURSE?BCNF。 例5:关系模式S(SNO, SNAME, SDEPT,SAGE),且假定不存在同名。 候选码为SNO,SNAME。S?3NF S中除SNO,SNAME外没有其它决定因子,所以S?BCNF。 例6:关系模式SCP(S, C, P),S:学生,C:课程,P:名次。语义为,每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生。由此可得到下面的函数依赖: (S, C)?P;(C, P)?S (S, C)与(C, P)是码,经分析可知 SCP?3NF, SCP?BCNF。 例7:例3的关系模式STC(S, T, C)。 由语义得到下面的函数依赖: (S, C)?T;(S, T)?C; T?C; (S, C)与(S, T)都是码。 经分析可知 STC?3NF, STC?BCNF。 因此把满足3NF的关系模式STC进一步分解成: ST(S,T),数据依赖为(S,T)?T, (S,T)?S TC(T,C),数据依赖为T?C 关系模式ST和关系模式TC的决定因子都是码,所以有 ST?BCNF,TC?BCNF。 BCNF比3NF又进了一步。因此BCNF是3NF的推广和提高。在函数依赖的范畴中,关系模式的优劣基本到BCNF为止。 一个关系模式属于BCNF,已消除了产生插入异常和删除异常的

文档评论(0)

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

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

1亿VIP精品文档

相关文档