- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
kc第八讲数据库规范化理论
Canonical Cover-要求 三大冗余现象:Sets of functional dependencies may have redundant dependencies that can be inferred from the others 依赖冗余现象:For example: A ? C is redundant in: {A ? B, B ? C} Parts of a functional dependency may be redundant 右方冗余现象:E.g.: on RHS: {A ? B, B ? C, A ? CD} can be simplified to {A ? B, B ? C, A ? D} 左方冗余现象:E.g.: on LHS: {A ? B, B ? C, AC ? D} can be simplified to {A ? B, B ? C, A ? D} 正则覆盖的直观要求:Intuitively, a canonical cover of F is a “minimal” set of functional dependencies equivalent to F, having no redundant dependencies or redundant parts of dependencies (冗余属性) (除不要求右方单属性外,等效于:[1]《数据库原理》王能斌,p.380,最小函数依赖集概念) 5.3 正则覆盖 5-9 什么是正则覆盖? 返 回 Extraneous多余 Attributes Consider a set F of functional dependencies and the functional dependency ? ? ? in F. Attribute A is extraneous in ? if A ? ? and F logically implies (F – {? ? ?}) ? {(? – A) ? ?}. Attribute A is extraneous in ? if A ? ? and the set of functional dependencies (F – {? ? ?}) ? {? ?(? – A)} logically implies F. Note: implication in the opposite direction is trivial微不足道的 in each of the cases above, since a “stronger” functional dependency always implies a weaker one. 即上述左、右方是相互蕴含的(等价的)! (学生作业) Example: Given F = {A ? C, AB ? C } B is extraneous in AB ? C because {A ? C, AB ? C} logically implies A ? C (I.e. the result of dropping B from AB ? C). Example: Given F = {A ? C, AB ? CD} C is extraneous in AB ? CD since AB ? C can be inferred even after deleting C 5.3 正则覆盖 5-10 正则覆盖中的冗余属性指什么? Testing if an Attribute is Extraneous Consider a set F of functional dependencies and the functional dependency ? ? ? in F. 左方冗余属性的判定:To test if attribute A ? ? is extraneous in ? compute ({?} – A)+ using the dependencies in F check that ({?} – A)+ contains ?; if it does, A is extraneous in ? 右方冗余属性的判定: To test if attribute A ? ? is extraneous in ? compute ?+ using only the dependencies in
文档评论(0)