- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络数据库—03
关系数据库基础学习内容 学习目标 关系代数 关系代数的符号 相 容 传统的集合运算 乘 积 选 择 投 影 连 接 自然连接 自然连接的步骤 外部连接 外部并 查询优化 例 子 查询优化的原则 关系模式设计 关系模式设计 关系模式设计 关系模式的范式 函数依赖 范式与规范化 几个概念 函数依赖 完全函数依赖 部分函数依赖 传递函数依赖 范式与规范化 第一范式 第二范式 第二范式 第三范式 第三范式 Boyce-Codd范式(BCNF) BCNF BCNF 规范关系的步骤 规范关系应考虑的问题 1)确定所有的侯选关键字 2)确定关系的主属性和非主属性 3)选定主键 4)找出属性间的函数依赖 5)根据应用特点,确定规范到几范式 6)分解必须是无损的 7)分解后的关系必须是独立的 练习题 R(A,B,C,E,F,G,H) F{(ABC?H),(B?G), (C?E),(E?F) } R1(A,B,C,H) R2(C,E,F) R3(A,B,C,G,H) R1,R2,R3分别属于什么范式 关系模式的分解 如果不分解关系模式,对数据操作会出现异常情况。 分解就是运用关系代数的投影运算把一个关系模式分解为几个关系模式,就是用几个小表代替原来的一个大表,使数据结构更合理。 要求:通过自然连接运算可以把分解后的几个表还原成原来的大表,还原信息不能多也不能少。 分解前的准备 ---函数依赖的推理规则 自反律 如果Y?X?U,则X?Y 增广律 如果X?Y,且Z?U,则XZ?YZ 传递律 如果X?Y,Y?Z,则X?Z 分解前的准备 ---函数依赖的推理规则 合并律 如果X?Y,X?Z, 则X?YZ 伪传递律 如果X?Y,YW?Z,则XW?Z 分解律 如果X?Y,Z ?Y,则X?Z 分解关系的基本原则 分解关系的基本原则 分解关系的基本原则 分解关系的基本原则 分解原则 分解必须是无损的 无损分解的判定 关系模式R(学号S,课程号C,成绩G,任课教 师TN,教师专长TS) 函数依赖F={(S,C)?G,C?TN,TN?TS} ρ1={SCG(S,C,G),CTN(C,TN),TNTS(TN,TS)} ρ2={SCG(S,C,G),GTNTS(G,TN,TS)} 判断分解是否为无损分解 判定算法 1.构造表,根据模式填入aj或bij 2.根据函数依赖修改表中项目 3.如果表中有一行为全a,则分解为无损分解 无损分解的判定 无损分解的判定 验证是否为无损分解 关系模式R(工号S,工种T,定额N) 函数依赖F={S?T,T?N} ρ1={SN(S,N),TN(T,N)} ρ2={SN(S,N),ST (S,T)} ρ3={ST(S,T),TN(T,N)} ρ1={SN(S,N),TN(T,N)} ρ2={SN(S,N),ST (S,T)} ρ3={ST(S,T),TN (T,N)} 简单判定方法 关系模式R(工号S,工种T,定额N) 函数依赖F={S?T,T?N} ρ1={SN(S,N),TN(T,N)} ρ2={SN(S,N),ST (S,T)} ρ3={ST(S,N),TN(T,N)} 规范到BCNF和3NF的算法 规范到BCNF的算法P104 规范到3NF的算法P106 规范到BCNF的算法 初始分解为ρ={R}; 如果分解中的关系都是BCNF,转4; 如果分解ρ找出不是BCNF的关系模式,在S上存在X?A,A!∈X且X不是S的超关键字。用{S1,S2}代替S,S1=X∪A,S2=S-A。计算出S上的函数依赖闭包在S1,S2的投影,然后转2; 分解结束,输出分解ρ。 R(A,B,C,D)F={A?B,B?C,D?B} 将关系分解为{ACD,BD},求函数依赖在这关系上的投影; R1(A,C,D)和R2(B,D)是BCNF吗?如果不是,请规范到BCNF。 解:1.经判断,R2属于BCNF,而R1不是,R1需要进一步分解; 2.考虑A?C,分解为ρ={(A,C),(A,D)} 3.经判断,所有关系均为BCNF,分解结束。 规范到3NF的算法 如果Fmin中有某个函数依赖X?A使XA=R,则令ρ={R},转3; 对Fmin中每个函数依赖X?A,单独构成一个关系模式XA。如果Fmin中有X?A1,X?A2,…X?An,则可以用XA1A2…An取代n个模式XA1,XA2…XAn; 分解结束,输出ρ。 (H,S,r,C,T)(C?T,Hr?C,HS?r,HT?r) 根据函数依赖及算法可以分解得到: ρ={(C,T),(H,r,C),(H,S,r),(H,T,r)} 练习题 P115 2.8题 P115 2.9题 P118 2
文档评论(0)