南京邮电大学数据库系统课后习题解答.ppt
文本预览下载声明
4.24 设有关系模式R(ABCD),其上的FD集
F={A→B,B→C,D→B}。;R(ABCD),F={A→B,B→C,D→B}。
F1 ={A→C ,D→C} ,F2 ={D→B}
②ACD和BD是BCNF吗?如不是,试分解成BCNF。
解:分析出键→分析函数依赖类型或按定义→判断范式
(a)用推理规则或求属性闭包法找出键
Key1: AD
Key2: D
(b) 对R1 、 F1 : AD→C 部分依赖 1NF
分解方法:算法4.6
ρ1={AC, AD} 或 {AD, DC}
对R2、 F2 : 按定义4.24 达BCNF;4.28设有R(职工编号,日期,日营业额,部门名,
部门经理)。
每职工每天一营业额:(职工编号,日期)→日营业额
每职工只在一部门工作:职工编号→部门名
每部门名只有一位部门经理:部门名→部门经理;(2)∵(职工编号,日期)→部门名 ∴ 1NF
(职工编号,日期)→部门经理
消除部分依赖 职工编号→(部门名,部门经理 )
ρ={R1,R2}={(职工编号,日期,日营业额),
(职工编号,部门名,部门经理)}
F1={(职工编号,日期)→日营业额}
Key1: (职工编号,日期),R1无部分依赖,达2NF
F2={职工编号→部门名,部门名→部门经理}
Key2: 职工编号, R2无部分依赖,达2NF ;(3)分解成3NF
R1无传递依赖,达3NF
R2中:职工编号→部门经理 是传递依赖关系
将R2分解为3NF模式集
R21(职工编号,部门名)
R22(部门名,部门经理 )
ρ={(职工编号,日期,日营业额),
(职工编号,部门名),(部门名,部门经理)};4.30 设有关系模式R(ABCD),其上的FD集为
② F={AB→C,C→A,C→D}, ρ={ACD, BC}
⑤ F={A→B,B→C,C→D}, ρ={AB,AD,CD}
解② :(1)R的关键码 AB、BC
(2) ρ中有R1(ACD), R2(BC)
R1∩R2=C, R1-R2=AD,
由F经合并性推理得: C→AD,ρ无损
(3) F1 ={C→A,C→D} , F2 = φ
(F1∪F2)+ ≠F+
分解ρ不保持函数依赖
(4)R1的F1 ={C→A,C→D} Key1: C
按定义4.19 R1 达BCNF
R2的Key2: BC R2 达BCNF;扩展: ②和⑤的关系模式ρ各达到第几范式?
应该为数据库模式中的每个模式达到的范式;⑤ F={A→B,B→C,C→D}, ρ={AB,AD,CD}
解⑤ :(1)R的关键码 A
(2)ρ:R1(AB), R2(AD),R3(CD) 按算法4.3 有损;4.21设有关系模式R(ABC ),其上的FD集为
F={ B→C,C→A }, 那么分解ρ={AB, AC}
相对于F是否是无损分解和保持FD?说明理由
解
(1) ρ中有R1(AB), R2(AC)
R1∩R2=A, R1-R2=B, R2-R1=C
在F中推导不出 A→B或A→C,ρ有损
(2) F1 ={B→A } , F2 = {C→A }
(F1∪F2)+ ≠F+,丢失了B→C
显示全部