我的问题非常简单。从我所看到的,似乎从1NF,2NF,3NF到Boyce-Codd形式的归一化似乎主要涉及非主要属性的问题。如果我没有记错的话,下表是Boyce-Codd形式:
R(A,B,C), F = {AB->C, A->B}
A,B是复合主键,对我来说似乎很奇怪。
我在这里错过了什么吗?
答案 0 :(得分:1)
如果A-> B,那么{AB}不可能是主键,因为它不是最小的。因此假设 A 是唯一的密钥,则R相对于依赖性AB-> C,A-> B至少在BCNF中。
答案 1 :(得分:0)
如果A确定B(A-> B),则说AB确定C(AB-> C)意味着A确定C(A-> C)。
说A-> B表示没有两个记录,其中B列具有不同的值,但A列具有相同的值。
说AB-> C表示没有两个记录,其中C列具有不同的值,但A和B列均具有相同的值。尽管由于A-> B,我们已经知道,如果A列具有相同的值,那么B列也具有相同的值。因此,我们可以说,看到A-> B然后AB-> C意味着A-> C。
因此,R中的FD是:
要使关系处于BCNF中,必须满足以下条件:
正如您所说,由于您已经在3NF中具有关系,因此我们满足第一个条件。 正如在所有R的FD中一样,行列式是一个超键(A是一个超键),我们满足第二个条件。
因此,R在BCNF中。