- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 关系数据理论 码(续) [例2]关系模式S(Sno,Sdept,Sage),单个属性Sno是码,SC(Sno,Cno,Grade)中,(Sno,Cno)是码 [例3] 关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品; 某一作品可被多个演奏者演奏; 听众可以欣赏不同演奏者的不同作品; 码为(P,W,A),即All-Key 二、外部码(外码) 定义 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码。 主码与外部码一起提供了表示关系间联系的手段。 4.2.3 范式 范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式 (BCNF) 第四范式(4NF) 第五范式(5NF) 范式(续) 各种范式之间存在联系: 1NF 2NF 3NF 4NF BCNF 5NF 范式(续) 某一关系模式R为第n范式,可简记为R∈nNF。 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化 4.2.4 1NF,2NF 1NF的定义 如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库; 但是满足第一范式的关系模式并不一定是一个好的关系模式 2NF(续) [例4] 关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc为学生住处,假设每个系的学生住在同一个地方 函数依赖包括: (Sno, Cno) F Grade Sno → Sdept (Sno, Cno) P Sdept Sno → Sloc (Sno, Cno) P Sloc Sdept → Sloc 2NF(续) S-L-C的码为(Sno, Cno) S-L-C满足第一范式。 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno) Sno Cno Grade Sdept Sloc S-L-C S-L-C不是一个好的关系模式(续) (1) 插入异常 (2) 删除异常 (3) 数据冗余度大 (4) 修改复杂 S-L-C不是一个好的关系模式(续) 原因 Sdept、 Sloc部分函数依赖于码。 解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 S-C(Sno, Cno, Grade) S-L(Sno, Sdept,Sloc) 2NF(续) 函数依赖图: Sno Cno Grade S-C S-L Sno Sdept Sloc 关系模式S-C的码为(Sno,Cno) 关系模式S-L的码为Sno 这样非主属性对码都是完全函数依赖 2NF(续) 2NF的定义 定义 若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。 例: S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈2NF S-C(Sno, Cno, Grade) ∈ 2NF S-L(Sno, Sdept, Sloc) ∈ 2NF 2NF(续) 采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。 将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。 4.2.5 3NF 定义 : 关系模式RU,F 中若不存在这样的码X、属性组Y及非主属性Z(Z ? Y), 使得X→Y,Y→Z
文档评论(0)