[理学]第6章 关系数据库设计理论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第6章 关系数据库设计理论

* * 作业 P.20 习题 3.6.1、3.6.3 * * * * * 分解为第三范式的算法 ⑴对于关系模式R和R上的函数依赖集F,先求出F的最小依赖集,然后再把最小依赖集中那些左部相同的函数依赖用合并规则合并起来; ⑵对最小依赖集中的每个函数依赖X→Y去构成一个模式XY; ⑶在构成的模式集中,如果每个模式都不包含R的候选键,那么把候选键作为一个模式放入模式集中。 这样得到的模式集是关系模式R的一个分解,并且这个分解既是无损分解,又能保持函数依赖。 * * 第三范式结论 一个关系模式总可以分解为满足3NF的模式,且所有的函数依赖都可得到保持。 * * 第一范式和第二范式 第一范式(1NF)的条件是什么? 每个元组的每个分量都是原子的(atomic)。 第二范式(2NF)的条件是什么? 在1NF的基础上,要求每个非键属性依赖于键的整体(直接或间接),而不是键的部分属性,即不允许有非平凡函数依赖的右面是非键属性,而左面是某个键的真子集。 * * 满足2NF的几种情形 不存在非平凡函数依赖。 存在非平凡函数依赖,且其右面是某个键的组成部分(键属性)。 存在非平凡函数依赖,且其右面是非键属性,则其左面要么是超键,要么包含非键属性。 * * 例子 1.学生(学号, 课号, 成绩, 系号, 宿舍区) 满足的最高范式是什么? 仅满足1NF。为何不满足2NF? 2.Movies (title, year, length, filmType, studioName, starName) 满足的最高范式是什么? 仅满足1NF。为何不满足2NF? 3.MovieStudio (title, year, length, filmType, studioName, studioAddr) 满足的最高范式是什么? 仅满足2NF。为何不满足3NF? * * 范式等级 满足范式条件:BCNF → 3NF → 2NF → 1NF 给定一个关系,函数依赖决定它是否满足BCNF/3NF/2NF范式。 问题:关系分解是逐步提高范式等级的吗? * * 例子 关系模式R(A, B, C, D)有函数依赖 {AB → C, C → D, D → A} ⑴找出所有违背BCNF的函数依赖。 ⑵必要时,分解为几个满足BCNF的关系 ⑶找出所有违背3NF的函数依赖。 解: ①所有的键:{A, B}, {B, C}, {B, D} ②违背BCNF的函数依赖:C → AD, D → A ③分解:R1(A,C,D), R2(B,C)     R11(A,D), R12(C,D) ④函数依赖AB → C 不保持 ⑤R满足3NF * * 例子 关系模式R(A, B, C, D, E, G)有函数依赖 {BG → C, BD → E, DG → C, DAG → CB, AG → B, B → D} ⑴求此模型的最小函数依赖集。 ⑵求出关系模式的候选键。 ⑶此关系模型最高属于哪级范式。 ⑷将此模型按照模式分解的要求分解为3NF。 解 ①Fmin={B → E, DG → C, AG → B, B → D} ②所有的键:{A, G} ③2NF ④R1:{A, B, G} F1={AG → B} R2:{C, D, G} F2={DG → C} R3:{B, D, E} F3={B → DE} * * 为什么3NF综合算法有效 需证明三点:分解具有无损连接和函数依赖保持,且所有分解出的关系都属于3NF。 无损连接:从一个分解得到的属性集K为超键的关系开始,可知K+就是所有属性。 函数依赖:最小基本集中的每个函数依赖的属性都属于分解得到的某个关系,因此在分解得到的关系中所有函数依赖都仍然成立。 第三范式:如果不得不增加一个模式为键的关系,则该关系属于3NF。 * * 作业 P.60 习题 3.5.1、3.5.2、3.5.3 * * 3.6 多值依赖 * * 多值依赖 多值依赖是如何产生的? 反映两个属性或属性集互相独立的特征; 属性独立性可能导致严重冗余; 这种特征不能用函数依赖表示。 与函数依赖有什么关系? 多值依赖是函数依赖的一般化;函数依赖是多值依赖的特例; 每个函数依赖都隐含一个相应的多值依赖。 * * 本节要解决的问题和方法是什么 属性独立性引发的冗余 如何定义多值依赖 多值依赖有何规则 第四范式是什么 如何分解关系使之满足4NF 总结关系模式的范式。 * 属性的独立性及其带来的冗余 如果一个关系中包含了两个多值属性或联系,会导致明显的冗余,但却可能符合BCNF。 如:关系Star (name, street, city, title, year) 表示影星的多个住址及其主演的多部影片。

文档评论(0)

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

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

1亿VIP精品文档

相关文档