数据库系统原理及应用教程第四版课后答案苗雪兰第7章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1.1 关系模式规范化的必要性
1. 关系模式应满足的基本要求
1) 元组的每个分量必须是不可分的数据项。 2) 数据冗余应尽可能少。 3) 不能因为数据更新操作而引起数据不一致问题。 4) 当执行数据插入操作时,数据不能产生插入异常 现象。 5) 数据不能在执行删除操作时产生删除异常问题。 6) 数据库设计应考虑查询要求,数据组织应合理。
XF+={ Ai | Ai∈U,X→Ai∈F+}
(2) 属性集闭包XF+的求法
1) 选X作为闭包XF+的初值XF(0)。 2) XF(i+1)是由XF(i)并上集合A所组成,其中A为F中 存在的函数依赖Y→Z,而AZ,YXF(i)。 3) 重复步骤2)。一旦发现XF(i)= XF(i+1),则XF(i)为所
焊接 显像管 调试 测试 电视机 电源 装配 调试 焊接 开关 调试
2. 多值依赖的定义和性质
设有关系模式Байду номын сангаас〈U〉,U是属性集,X、Y是U的子集。如果 R的任一关系,对于X的一个确定值,都存在Y的一组值与之 对应,且Y的这组值又与Z=U-X-Y中的属性值不相关,此时 称Y多值依赖于X,或X多值决定Y,记为X→→Y。 多值依赖具有以下性质: 1) 多值依赖具有对称性。即若X→→Y,则X→→Z,其中 Z=U-X-Y。 2) 函数依赖可以看作是多值依赖的特殊情况。即若X→Y, 则X→→Y。这是因为当X→Y时,对X的每一个值x,Y有一 个确定的值y与之对应,所以X→→Y。 3) 在多值依赖中,若X→→Y且Z=U-X-Y≠υ,则称X→→Y为 非平凡的多值依赖,否则称为平凡的多值依赖。
李华
李华 李华 张平 张平 张平 张平 陈兵 陈兵 陈兵 陈兵
20
20 20 21 21 21 21 20 20 20 20
男
男 男 女 女 女 女 男 男 男 男
计算机系
计算机系 计算机系 计算机系 计算机系 计算机系 计算机系 数学系 数学系 数学系 数学系
王民
王民 王民 王民 王民 王民 王民 赵敏 赵敏 赵敏 赵敏
k≥2,则用{X→Aj|j=1,2,…k}来取代X→Y。
2) 逐一检查F中各函数依赖X→A,令G=F-{X→A},
若A∈XG+,则从F中去掉此函数依赖。
3) 逐一取出F中各函数依赖X→A,设X=B1B2…Bm,
逐一检查Bi(i=1,2,…,m),如果A∈(X-Bi)F+, 则以X-Bi取代X。
【例】设F={A→BC,B→AC,C→A},对F进行极小化处理。 解:1) 把F中的函数依赖转换成右部都是单属性的函数依赖, 分解后的函数依赖集仍用F表示。 F={A→B,A→C,B→A,B→C,C→A} 2) 去掉F中冗余的函数依赖。 判断A→B。设:G1={ A→C,B→A,B→C,C→A}, 得:AG1+=AC ∵ BAG1+ ∴ A→B不冗余 判断A→C。设:G2={ A→B,B→A,B→C,C→A}, 得:AG2+=ABC ∵ CAG2+ ∴ A→C冗余 判断B→A。设:G3={ A→B,B→C,C→A}, 得:BG3+=BCA ∵ ABG3+ ∴ B→A冗余 判断B→C。设:G4={ A→B,C→A}, 得:BG4+=B ∵ CBG4+ ∴ B→C不冗余 判断C→A。设:G5={ A→B,B→C }, 得:CG5+=C ∵ ACG5+ ∴ C→A不冗余 Fm={ A→B,B→C,C→A}
1) 所有非主属性对每一个码都是完全函数依赖。
2) 所有的主属性对每一个不包含它的码,也是完全依赖。 3) 没有任何属性完全函数依赖于非码的任何一组属性。
7. BCNF和3NF的比较
1) BCNF不仅强调其他属性对码的完全的直接 的依赖,而且强调主属性对码的完全的直接 的依赖,它包括3NF,即RBCNF,则R一定 属于3NF。 2) 3NF只强调非主属性对码的完全直接依赖, 这样就可能出现主属性对码的部分依赖和传 递依赖。
本章教学目标、重点和难点
教学目标:使学生了解关系模式规范化的必要性,
理解函数依赖、多值依赖及其关系范式定义,掌
握关系范式判断方法。
教学重点:关系模式规范化,函数依赖、多值依
赖、1-4NF的定义,关系范式判断方法。
教学难点:1-4NF的定义,关系范式判断方法,关
系模式的分解。
第7章 关系规范化理论和优化技术
4. 函数依赖集的最小化
(1) 最小函数依赖集的定义 1) F中任一函数依赖的右部仅含有一个属性。 2) F中不存在这样的函数依赖X→A,使得F与F{X→A}等价。 3) F中不存在这样的函数依赖X→A,X有真子集Z使 得 F-{X→A}∪{Z-A}与F等价。
(2) 最小函数依赖集的求法
1) 逐一检查F中各函数依赖X→Y,若Y=A1A2…Ak,
3. 函数依赖集闭包F+和属性集闭包XF+
(1) 函数依赖集闭包F+和属性集闭包XF+的定义 定义:在关系模式R〈U,F〉中,为F所逻辑蕴含 的函数依赖的全体叫做F的闭包,记作F+。
定义:设有关系模式R〈U,F〉,X是U的子集,称
所有从F推出的函数依赖集X→Ai中Ai的属性集为X
的属性闭包,记作XF+。即:
传递
P
称Z对X传递函数依赖。传递函数依赖记作X → Z。
传递例如,在教学模式中,因为:学号→系名,系名→系主 任;所以:学号 → 系主任。
传递
3. 1NF 的定义、 2NF 的定义
如果关系模式R,其所有的属性均为简单属性,即每个属性都 是不可再分的,则称R属于第一范式,记作R1NF。 若R1NF,且每一个非主属性完全依赖于码,则R2NF。
数据结构
数据库 电路 程序设计 数据结构 数据库 电路 高等数学 数据结构 数据库 离散数学
74
82 65 92 82 78 83 72 94 83 87
3. 模式分解是关系规范化的主要方法
上述的关系模式: 教学(学号,姓名,年龄,性别,系名,系主任, 课程名,成绩).
可以按“一事一地”的原则分解成“学生”、“教
2. 函数依赖的概念
1) 设R〈U〉是属性集U上的关系模式,X、Y是U的子集。若对于 R〈U〉的任意一个可能的关系r,r中不可能存在两个元组在X上 的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或 Y函数依赖于X函数,记作X→Y。
例如,对于教学关系模式:教学〈U,F〉; U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩}; F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主 任,(学号,课程名)→成绩}.
2. 关系规范化可能出现的问题
数据冗余大, 插入异常, 删除异常, 更新异常。
学号 98001 姓名 李华 年龄 20 性别 男 系名 计算机系 系主任 王民 课程名 程序设计 成绩 88
98001
98001 98001 98002 98002 98002 98002 98003 98003 98003 98003
7.1 关系数据模式的规范化理论 7.2 关系模式的分解算法
7.1 关系数据模式的规范化理论
范式(Normal Form)是指规范化的关系模式。由 满足最基本规范化的关系模式叫第一范式,第一范 式的关系模式再满足另外一些约束条件就产生了第 二范式、第三范式、BC范式等等。一个低一级的 关系范式通过模式分解可以转换成若干高一级范式 的关系模式的集合,这种过程叫关系模式的规范化。
P P
龄,(学号,课程号)→性别 , (学号,课程名)→系名,(学号,课程名)→系
主任;(学号,课程名)→成绩}. 显然,教学模式不服从2NF,即:教学2NF。
P
P
P
5. 3NF 的定义
关系模式R〈U,F〉中若不存在这样的码X、属性组Y及非 主属性Z(ZY)使得X→Y、Y X、Y→Z成立,则称R〈U, F〉3NF。 可以证明,若R3NF,则每一个非主属性既不部分函数依 赖于码,也不传递函数依赖于码。 考查学生_系关系,由于存在:学号→系名,系名→系主任。
则: 学号 传递 → 系主任。所以学生_系3NF。 如果分解为: 学生(学号,姓名,年龄,性别,系名); 教学系(系名,系主任). 显然分解后的各子模式均属于3NF。
6. BCNF的定义
关系模式R〈U,F〉1NF。若X→Y且YX时X必含有码, 则R〈U,F〉BCNF。 也就是说,关系模式R〈U,F〉中,若每一个决定因素都包 含码,则R〈U,F〉BCNF。由BCNF的定义可以得到结 论,一个满足BCNF的关系模式有:
集为{S,T,J},非主属性为(空集)。
由于STJ模式中无非主属性,所以它属于3NF;但因 为存在T→J,由于T不是码,故STJBCNF。
7.1.3 多值依赖及关系的第4范式
1. 研究多值依赖的必要性
例如,给定一个关系模式JPW(产品,零件,工序),其中每种产品由多 种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零 件和工序如图所示。
例如,关系模式STJ(S,T,J)中,S表示学生,T表示
教师,J表示课程。语义为:每一教师只能讲授一门
课程,每门课程由若干教师讲授;每个学生选修某
门课程就对应一个固定的教师。由语义可以得到 STJ模式的函数依赖为: F={(S,J)→T,T→J} 显然:(S,J)和(T,S)都是关系的码;关系的主属性
完全函数依赖、传递函数依赖
2) 在R〈U〉中,如果X→Y,并且对于X的任何一个真子集
X’,都有X’
F Y,则称Y对X完全函数依赖,记作:X→ Y;
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依
P 赖,记作: X→ Y。 F 例如,在教学关系模式:(学号,课程名)→成绩, (学号,
课程名)→姓名 3) 在R〈U〉中,如果X→Y,(YX),Y X,Y→Z,则
求XF+。
例子
【例】已知关系R〈U,F〉,其中U={A,B,C,D,E}, F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)F+。
设X=AB
∵ XF(0)=AB
XF(1)=ABCD
XF(2)=ABCDE XF(3)= XF(2)=ABCDE ∴ (AB)F+=ABCDE={A,B,C,D,E}
7.2 关系模式的分解算法
7.2.1 关系模式分解的算法基础
1. 函数依赖的逻辑蕴含
设F是R〈U〉函数依赖集,X和Y是属性集U的子 集。如果从F中的函数依赖能推出X→Y,则称F逻 辑蕴含X→Y,或称X→Y是F的逻辑蕴含。
2. Armstrong公理系统
(1) Armstrong公理系统:设U为属性集,F是U上的函数依赖集, 于是有关系模式R〈U,F〉。 1) 自反律:若YXU,则X→Y为F所蕴含。 2) 增广律:若X→Y为F所蕴含,且ZU,则XZ→YZ为F所 蕴含。 3) 传递律:若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。 (2) Armstrong公理的三个推理 1) 合并规则:由X→Y,X→Z,有X→YZ。 2) 伪传递规则:由X→Y,WY→Z,有XW→Z。 3) 分解规则:由X→Y及ZY,有X→Z。
① X→Y,但Y X,则称X→Y是非平凡的函数依赖。若不特别 声明,总是讨论非平凡的函数依赖。 ② X→Y,但YX,则称X→Y是平凡的函数依赖。 ③ 若X→Y,则X叫做决定因素(Determinant),Y叫做依赖 因素(Dependent)。 ④ 若X→Y,Y→X,则记作X↔Y。 ⑤ 若Y不函数依赖于X,则记作X Y。
学系”和“选课”三个关系,其关系模式为:
学生(学号,姓名,年龄,性别,系名称);
教学系(系名,系主任); 选课(学号,课程名,成绩).
7.1.2 函数依赖及其关系的范式
1. 关系模式的简化表示法
关系模式的完整表示是一个五元组: R〈U,D,Dom,F〉. 其中:R为关系名;U为关系的属性集合;D为属性集U中 属性的数据域;Dom为属性到域的映射;F为属性集U的 数据依赖集。 关系模式可以用三元组来为: R〈U,F〉.
在教学中:属性集={学号,姓名,年龄,系名,系主任,课程名,成绩}. 函数依赖集={学号→姓名,学号→年龄,学号→性别,学号→系名,
系名→系主任,(学号,课程名)→成绩}.
主码=(学号,课程名). 非主属性=(姓名,年龄,系名,系主任,成绩)。 非主属性对码的函数依赖: {(学号,课程名)→姓名,(学号,课程名)→年