- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章关系数据库规范化理论课件.ppt
数据库原理与应用 高等院校计算机教材系列 第7章 关系数据库规范化理论 7.1 函数依赖 7.2 关系规范化 7.3 关系模式的分解准则 7.1 函数依赖 定义:如果有一个关系模式R(A1,A2,…,An),X 和Y为{A1,A2,…,An}的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。 例:Student(Sno, SName, Sdept, Sage) Sno→SName, Sno→Sdept, Sno→Sage 例: SC(Sno, Cno, Grade) (Sno, Cno)→Grade 一些术语和符号 1. 如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。 2. 如果Y不函数依赖于X,则记作X—/→Y。 3. 如果X→Y,则称X为决定因子。 4. 如果X→Y,并且Y→X,则记作X←→Y。 一些术语和符号 5. 如果X→Y,并且对于X的一个任意真子集X’ 都有X’ —/→Y,则称Y完全函数依赖于X,记作: 示例 例1:有关系模式:SC(Sno,Sname,Cno,Credit,Grade) 则函数依赖关系有: Sno→Sname (Sno, Cno)→ Sname (Sno, Cno)→ Grade 示例 例2:有关系模式:S(Sno,Sname,Dept,Dept_master) 函数依赖关系有: Sno 为什么要讨论函数依赖 存在问题 数据冗余问题 数据更新问题 数据插入问题 数据删除问题 7.2 关系规范化 7.2.1 关系模式中的码 7.2.2 范式 7.2.1 关系模式中的码 1.候选码:设K为R (U,F)中的属性或属性组,若K f→U,则K为R候选码。(K为决定R全部属性值的最小属性组)。 主码:关系R (U,F)中可能有多个候选码,则选其中一个作为主码。 全码:候选码为整个属性组。 主属性与非主属性: 在R (U,F)中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性 示例 例:SC(SNO,CNO,Grade) 候选码:(SNO,CNO),也为主码 主属性:SNO,CNO,非主属性:Grade 例:R(P,W,A), P――演奏者,W――作品,A――听众 语义:一个演奏者可演奏多个作品,某一作品可被多个演奏者演奏;听众也可欣赏不同演奏者个不同作品。 候选码:(P,W,A)――全码(演奏者、作品、听众 -一场音乐会) 7.2.1 关系模式中的码(续) 外码:用于关系表之间建立关联的属性(组)。 定义:若R(U,F)的属性(组)X(X属于U)是另一个关系S的主码,则称X为R的外码。 7.2.2 范式 关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的范式。 第一范式 第二范式 2.第二范式:如果R(U,F)∈1NF,并且R中的每个非主属性都完全函数依赖于主码,则R(U,F)∈2NF 例: S-L-C(Sno,Sdept,SLOC,Cno,Grade) 有:Sno P →SLOC,不是2NF。 分解办法 首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。 然后,将依赖于这些主码的属性放置到相应的表中。 最后,去掉只由主码的子集构成的表。 分解示例 对于S-L-C表,首先分解为如下形式的三张表: S-L(Sno,…) C(Cno,…) S-C(Sno, Cno,…) 然后,将依赖于这些主码的属性放置到相应的表中 S-L(Sno,Sdept, Sloc) C(Cno) S-C(Sno, Cno, Grade) 最后,去掉只由主码的子集构成的表,最终分解为: S-L(Sno,Sdept, Sloc) S-C(Sno, Cno, Grade) S-L(Sno,Sdept, Sloc)存在问题 数据冗余 :有多少个学生就有多少个重复的Sdept和SLOC; 插入异常:当新建一个系时,若还没有招收学生,则无法插入; 第三范式 定义:如果R(U,F)∈2NF,并且所有非主属性都不传递依赖于主码,则R(U,F)∈3NF。 对S-L(Sno,Sdept,SLOC) ∵Sno传递→SLOC, ∴不是3NF 分解过程 (1)对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性; (2)新建一个表,新表中包含在原表中所有依赖于该决定因子的属性; (3)将决定因子作为新表的主码。 S-L分解后的关系模式为: S-D(Sno, Sdept) S-L(Sdept, Sloc) BCNF 例:关系模式:CSZ(City,Street,Zip) 语义:城市和街道可以决定邮政编码,邮
文档评论(0)