我遇到了将关系转换成BCNF关系的问题。所以首先我必须把它转换成3NF。所以在这里我得到了什么。BCNF转换是否正确?
运输(船舶,容量,日期,货物,价值)PK:运输,日期。
FDs:Ship-> Capacity,(Ship,Date) - > Cargo,(Capacity,Cargo) - > Value。
这里我得到什么时转换为3NF。
R1(船舶,日期,货物)PK:船舶,日期 R2(船舶,容量)PK:船舶 R3(Calacity,货物,值)PK:Calacity,货物
所以第一和第二满足BCNF因为
- 船舶,日期为R1的主键和仅R1的可用FD是, 船舶,日期 - >货物和
- 船舶是R2的主键和只有R2的可用FD被船 - >能力。
但是R3并不是因为货物和容量不是运输的关键。所以我要再拍关系R4使得
R4(船舶,容量,货物)
所以请有人可以验证我的结果?这些天我正在学习BCNF。
你能解释一下这个算法吗?我无法理解,当建立新的关系时。作为这种关系的例子是BCNF中的Ship-> Capacity FD? – User9125
航运关系的PK是船期和日期。 – User9125
有一个标准算法可以分解为BCNF。确定* BCNF中的关系是*是不同的算法/测试。 (它是前面算法的一部分。)(找到一个BCNF的定义。)尽可能地发布一个问题,描述你需要的地方,给出你正在使用的引用,并且询问你需要去掉什么。 – philipxy