ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:21.53KB ,
资源ID:7104457      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7104457.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库范式理解例题推荐文档.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库范式理解例题推荐文档.docx

1、数据库范式理解例题推荐文档数据库范式理解例题推荐文档 范式分解 主属性:包含在任 候选关键字中的属性称主属性。非主属性:不包含在主码中的属性称为非主属性。函数依赖:是指关系中一个或一组属性的值可以决定其它属性的值。函 数依赖正象一个函数 y=f(x)样,x 的值给定后,y的值也就 唯一地确定了。如果属性集合 Y中每个属性的值构成的集合唯一地决定了 属性集合 X中每个属性的值构成的集合,则属性集合 X函数依 赖于属性集合 Y,计为:YX。属性集合 Y中的属性有时也称 作函数依赖 YX的决定因素(determinant)。例:身份证号 姓名。部分函数依赖:设 X,Y是关系 R 的两个属性集合,存在

2、 X Y,若 X是 X的真 子集,存在 X Y,则称 Y部分函数依赖于 X。完全函数依赖:在 R(U)中,如果 Y 函数依赖于 X,并且对于 X的任何一个真子集 X,都有 Y不函数依赖于 X,则称 Y对 X完全函数依赖。否则 称 Y对 X部分函数依赖。【例】;举个例子就明白了。假设一个学生有几个属性 SNO学号 SNAME 姓名 SDEPT 系 SAGE年龄 CNO 班级号 G成绩 对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G 完全依 赖于(SNO,CNO),因为(SNO,CNO)可以决定 G,而 SNO 和 CNO都不能单独决定 G。而 SAGE 部分函数依赖于(SN

3、O,CNO),因为(SNO,CNO)可 以决定 SAGE,而单独的SNO也可以决定 SAGEo 传递函数依赖:设 R(U)是属性集 U 上的关系,x、y、z 是 U 的子集,在 R(U)中,若 xf y,但 yf x,若 yf乙则 xf z,称 z 传递函数依赖于 x,记作 X f TZ o 如果 X-Y,Y-Z,则称 Z对 X传递函数依赖。计算 X+(属性的闭包)算法:a.初始化,令 X+=X;b.在 F中依次查找每个没有被标记的函数依赖,若“左边属 性集”包含于 X+,则令 X+=X+U“右边属性集”,并为访问 过的函数依赖设置标记。c.反复执行 b直到 X+不改变为止。检验给定的任意函数

4、依赖 A1A2.A n-B 是否蕴含于依赖集 S:分析:根据属性集闭包的定义,可知 A1A2.A n-A1,A2,.,A n+蕴 含于 S。只要证明 B在A1,A2,.,An+中,那么函数依赖 A1A2.An-B 肯定蕴含于依赖集 S 中 求解过程:(1)利用依赖集计算闭包(2)如果 B在闭包中,则函数依赖 A1A2.An-B 是否蕴含于 依赖集 S,否则不蕴含于 S【例】广某个关系,具有属性:A,B,C,D,E,Fo 假设该 关系有如下的函数依赖:AB-C,BC-AD r D-E r CF-B 检验 AB-D是否蕴含于这些函数依赖中。广因为A,B+=A,BzC,DzE,D 在集合中,所以 A

5、B-D蕴含于这些函数依赖中。厂某个关系,具有属性:A,B,C,D,E,F。假设该 关系有如下的函数依赖:r AB-C r BC-AD E r CF-B 广检验依赖:D-A 是否蕴含于这些函数依赖中 厂求闭包:D+=D,E,所以,D-A不蕴含 于这些函数依赖中 例 4.3.3:己知关系模式 R 中 U二A,B,C,D,E,G,F二ABC,CA,BCD,ACDB,D-EG,BEC,CGBD,CE-AG,判断 BD-AC 足否属于 F 解:由 DEG 知 DE,BDBE”乂知 BE-*C,CA 所以 BE-*A,BE-*AC”山、知,BDAC,所以 BDAC 被 F所笙涵,即 BDAC 属于 F*总

6、结:可转化为求 判定函数依赖 XfY 是否能由 F导出的问题,X+并判定 Y是否是 X+子集的问题。即求 F闭包的问题可转化为求属性集闭包的问题。函数依赖的闭包:定义:若 F为关系模式 R(U)的函数依赖集,我们把 F以及所有 被 F逻辑蕴涵的函数依赖的集合 称为 F的闭包,记为 F+求函数依赖闭包,基于函数依赖推理规则 函数依赖推理规则:若 XY-Z,贝 U X-Z,Y-z(错)正确的:若 X-Y,贝 U XZ-YZ 若 X-Y,X-Z,贝 U X-YZ 若 X-Y,Z属于 Y,则 X-Z 若 X-Y,Y-Z,贝 U X-Z 若 X-YZ,则 X-Y,X-Z/可以把每个函数依赖的右边的属 性

7、分解,从而使其右边只出现一个属性 伪传递率:若 A-B,BC-D,则 AC-D 范式范式 第一范式(1NF):属性,属性值,字段不可分 就是无重复的列 不满足 1NF的数据库就不是关系数据库【例】:第二范式(2NF):符合 1NF,每一个非主属性完全依赖于 码,不能存在部分依赖,有主键,非主键字段依赖主键;唯 一性 一个表只说明一个事物;【例】:不符合第二范式的例子:表:学号,姓名,年龄,课程名称,成绩,学分;这个表明显说明了两个事务:学生信息,课程信息;存在问题:数据冗余,每条记录都含有相同信息;删除异常:删除所有学生成绩,就把课程信息全删除了;插入异常:学生未选课,无法记录进数据库;更新异

8、常:调整课程学分,所有行都调整。修正:学生:Student(学号,姓名,年龄);课程:Course(课程名称,学分);选课关系:SelectCourse(学号,课程名称,成绩)。满足第 2范式只消除了插入异常。第三范式(3NF):符合 2NF,并且,消除传递依赖,非主 键字段不能相互依赖;每列都与主键有直接关系,不存在传 递依赖;若所有的属性都是主属性,则属于第三范式 要求一个数据库表中不包含已在其它表中已包含的非主关 键字信息【例】:不符合第三范式的例子:学号,姓名,年龄,所在学院,学院联系电话,关键字为单一 关键字学号;存在依赖传递:(学号)(所在学院)(学院地点,学院电 话)存在问题:数

9、据冗余:有重复值;更新异常:有重复的冗余信息,修改时需要同时修改多条记 录,否则会出现数据不一致的情况 删除异常 修正:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。总结:1nf:不可分 2nf:个表说明个事物,唯性 3nf:对字段冗余性的约束,即任何字段不能由其他字 段派生出来,它要求字段没有冗余。bcnf:是 3NF的改进形式 BCNF意味着在关系模式中每一个决定因素 都包含候选键,也就是说,只要属性或属性组 A能够决定任何一个属性 B,则 A的子集中必须有候选键。BCNF范式排除了任何属性对 候选键的传递依赖与部分依赖。满足 BCNF条件 1所有非主属性对每一个候选键

10、都是 完全函数依赖;2所有的主属性对每一个不包含它的候选键,也是完全函数 依赖;3没有任何属性完全函数依赖于非候选键的任何一组属性。候选键(又称候选码,候选关键字,码,candidate key)设 K是一个 R(U)中的属性或属性集合(注意可以是属性 集合,也即多个属性的组合),若 K完全函数确定 U,则 K 为 R 的候选键(Candidate key);通俗地说就是,能够确定全部属性的某个属性或某组属 性,称为候选键。若候选键多于一个,则选定其中一个作为 主键。*在所有依赖关系 右边没有出现的属性一定是 候选键的成员。BCNF范式排除了任何属性对候选键的传递依赖与部分依赖【例 1 r设有

11、关系模式 R(职工名,项目名,工资,部门名,部 门经理)如果规定,每个职工可参加多个项冃,各领一份工资;每个 项目只属于一个部门管理;每个部门只有一个经理。(1)试写出关系模式 R 的基本函数依赖和主码。(2)说明 R 不是 2NF模式的理由,并把 R 分解成 2NF。(3)进而将 R 分解成 3NF,并说明理由.K解:(1)根据题意,可知有如下的函数依赖关系=(职工名,项目名)T 工资 项目名 r部门名 部门名部门经理 所以,主键为(职工名,项冃名(2)根据(1),由于部门名、部门经理只是部分依赖于主 键,所以该关系模式不是2NF。应该做如下分解;R1项冃名,部门名,部门经理)R2(职工名,

12、项目名,工资)以上两个关系模式都是 2NF模式(3)R2 已经是 3NF,但 R1不是,因为部门经理传递依赖于 项目名,故应该做如下分解;R11(项冃名,部门名 R12(部门名,部门经理)分解后形成的三个关系模式 R1仁 R12.R2 均是 3NF模式。【例 2 2、设有关系模式 R(A,B,C,D,E.F),苴函数依赖集为;F=EtD,CtB,CEtF,B-A.请回答如下问题:(1)指出 R 的所有候选码并说明原因;(2)R 最高属于第儿范式,为什么?(3)分解 R 为 3NF。2解;(1)可知 A、B.D.F四个属性均不是决定因素所以只有 C 和 E有可能构成该关系模式的主键,而 C、E之

13、间没有函数依赖 关系,且根据已知的函数依赖可知,CEABCDEF,所以 R 的主键是 CE。(2)由于 D部分依赖于主键 CE,A.B部分依赖于主键 CE,所 以 R 最高属于 1NF。将个不满足 2NF的关系模式分解成 3NF,总的原则是将 满足范式要求的函数依赖中包含的属性分解为一个关系模式,将不满足范式要求的函数依赖中所包含的属性分别分解为多 个关系模式。首先将 R 分解为 2NF,分解如下:R1(E,D)R2(Cf B,A)R3 E,F)上述三个模式中,R1f R3 都已经属于 3NF,但在 R2中,A传 递依赖于 C,故应该继续分解为 3NF,分解如下:R21(C,B)R22(B,A

14、)将 R 分解为 R1,R21,R22,R3 四个模式后,都属于 3NF。【例 3 3.设有关系模式 R(九 B*C,D,E其函数依赖集为 F=AB,CEiA,EtD 書回答如下问题$(1)指岀 R 的所有候选码,并说明理由;(2)R 最高属于第几范式(在 1NF3NF范围内为什么 (3)将 R 分解到 3NF。3.解:(1)R 的候选码为(C,E),根据已知的函数依赖可知,CEABCDE.而 C 和 E之间不存在函数依赖关系,所以 R 的 主键是 CEq(2)R 最高属于 1NF,因为 CED足部分依赖关系。(3)R 分解如下:R1=C,E.A,R2=Et D R3=A,BJ,则以上三个关系

15、 模式均属于 3NF。【例 4】4、设有一个记录各个球队队员毎场比赛进球数的关系模式 R(队员编号,比赛场次,进球数,球队名,队长名)如果规定,每个队员只能属于一个球队,每个球队只有一个 队长乜(1)试写岀关系模式 R 的基本函数依赖和主码。(2)说明 R 不是 2NF模式的理由,并把 R 分解成 2N巳(3)进而将 R 分解成 3NF,并说明理由。4 花 (U矣系模式 R 的基本函数依赖 F如下 F詁队员编号-球队名,球队名-队长名,(队员编号,比赛场次)T进球数 其主键为(队员编号,比赛场次。C2)R 不是 2NF模式的原因是队员编号 t 球队名,所以(队 员编号,比赛场次)-球队名是一个

16、部分函数依赖关系,将 R 分解成 2NF如下;R1=队员编号,球队名,队长名 R2=球队名,比赛场次,进球数(3)由于在 R1 中,主键为队员编号,所以从员编号-队长 名是一个传递函数依赖,将 R 分解成:R11=队员编号,球队名,R12-球队名,队长名 则将 R 分解为 R1仁 R12,R2 后均为 3NF的关系模式。设有关系模式 R(A,B,C,D,E,G)上的函数依赖集为:F=A B,BC,AD G,D E。求解:31.求关系模式 R 的所有侯选键。解:求出侯选键 AD。(2 分)首先在 F中函数依赖右边不出现的属性必在侯选键中,即 AD(1 分);由于(AD)+=ABCDEG,即 AD

17、能函数决定所有的属性,所以侯选键只有一个 AD(1 分)。AD+=AD BEG C 32.分别求属性集 G、AD、CD、BC 的闭包。G+=G(1 分);(AD)+=ABCDEG(1 分);(CD)+=CDE(1 分);(BC)+=BC(1 分)33.将关系模式 R 保持依赖地且无损地分解成 3NF,要求写出 分解过程。解:F=A B,BC,AD G,D E F是最小依赖集,所有属性在 F中出现,将 F 中是每个函数依赖组成一个关系模 式得保持函数依赖的分解:AB,BC,ADG,DE(2分);并上一个侯选键AD 得无损分解:AB,BC,ADG,DE U AD=AB,BC,ADG,DE (2 分

18、)F=A B,BC,AD G,D E 34.将关系模式 R 无损地分解成 BCNF,要求写出分解过程。解:根据转换为 BCNF 的无损连接分解算法 6.5 1)由于候选键为 AD,F中存在不符合 BCNF 要求的函数依赖,所以 R 不是 BCNF,选 A B 分解为:R1=AB,R2=ACDEG;(1 分)R1上保持的函数依赖集为 A f B,键为 A,所以是BCNF;R2上保持的函数依赖集为 Af C,ADf G,Df E,键为 AD,所以不是 BCNF;(1 分)选 Af C 进一步分解为:R21=AC,R22=ADEG;(1分)R21 上保持的函数依赖 为Af C,键为 A,所以是 BC

19、NF;R22 上保持的函数依赖为 ADf G,Df E键为 AD,所以不是 BCNF;选 Df E 进一步分解为:R22 仁 DE,R222=ADG;(1分)R221 上保持的函数依赖为 D f E,键为 D,所以是 BCNF;R222 上保持的函数依赖为 ADf G,键为 AD,所以是 BCNF;最后得保持无损连接特征的分解:R1,R21,R221,R222或表示为AB,AC,DE,ADG(1 分)注:由于选择不符合 BCNF要求的函数依赖有多个,因此选择次序可有不同,最后的结果也不同,原则上按上述评分标准分步给分。35.说明分解 p=R1,R2,R1(ABC)、R2(ADEG)的范 式级别并说明理由 答:R1 是 2NF(1 分),R2 是 1NF;(1 分)R1上的函数依赖集为:Af B,Bf C,码为:A,不存在部分依赖,存在非主属 性 C 对码 A的传递依赖。(1 分)R2上的函数依赖集为:ADf G,Df E码为:AD,存在非主属性 E对码 AD的 部分依赖。(1分)p=R1,R2,R1(ABC)、R2(ADEG)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1