第七章 补充讲义 一、 范式举例 例 1:已知 R,请问 R为几范式
零件号 单价 P1 25 P2 8 P3 25 P4 9 BCNF
(25改成 15还是 BCNF
如:课程号与学号) 例 2:已知 R,请问 R为几范式
材料号 材料名 生产厂 M1 线材 武汉 M2 型材 武汉 M3 板材 广东 M4 型材 武汉 2NF
例 3:已知 R,请问 R为几范式
A D E A1 D1 E2 A2 D6 E2 A3 D4 E3 A4 D4 E4 BCNF
例 4:R(X,Y,Z),F={XY->Z},R为几范式
例 5:R(X,Y,Z),F={Y->Z,XZ->Y},R为几范式
R的候选码为{XZ,XY},(R中所有属性都是主属性,无传递依赖) 二、 求闭包 数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规范的(直观问题好办,复杂问题难办了),所以,这对分析数据模型,达到规范化设计要求,还有差距,为此,从规范数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规范化程度
例1. 已知关系模式R(U、F),其中,U={A,B,C,D,E}; F={AB C, B D, EC B , ACB} ,求(AB)+F
解:设X(0)=AB ○1 计算X(1),在F 中找出左边为AB 子集的FD,其结果是:ABC,BD ∴X(1)=X(0)UB=ABUCD=ABCD 显然,X(1)≠X(0) ○2计算X(2),在F中找出左边为ABCD子集的FD,其结果是:CE,ACB ∴X(2)=X(1)UB=ABCDUBE=ABCDE 显然,X(2)=U 所以,(AB)+ F=ABCDE
(等于 U,所以AB 是唯一候选关键字) 例2.设有关系模式R(U、F),其中U={A,B,C,D,E,I};F