我很难理解3 Normal表格。
3 NF:2 NF +无过渡
所以,例如:如果我有,
Integer
那么上面是一种过渡关系,因此不会在3 NF中? 我理解正确吗?
但在这个答案What exactly does database normalization do?中,Float
表示,
A -> B
B -> C
据此,它将在3 NF中。我哪里错了?
答案 0 :(得分:1)
如果它在2NF并且:
,则关系为3NF(素数表示它属于一个键)。
例如参见Wikipedia。
如果只有第一个条件成立,则关系在Boyce-Codd normal form,即:
因此,在您的示例中,如果关系只有三个属性A
,B
和C
以及两个依赖项,则3NF中的不是 ,因为C
不是素数,并且取决于B
,这不是关键。另一方面,如果有其他属性,并且C是密钥或密钥的一部分,那么它可能在3NF(但这取决于其他功能依赖性,应该满足上述条件)。
2NF表示每个非素数属性取决于每个整个候选键,而不是 part 。例如,如果关系具有属性A
,B
和C
,则唯一的关键字为AB
和B -> C
,则此关系为不是在2NF。
答案 1 :(得分:0)
您正在尝试的2部分3nf定义是:
3NF的另一个定义是:
然后BCNF是:
请参阅this answer。
如果您的示例的唯一列是A,B和C,并且您的两个FD形成最小覆盖,则唯一的候选键是A,C依赖于非超级密钥,因此它不在3NF(或BCNF)中。 / p>
你(错误)使用的术语如此草率,以至于你的句子没有任何意义。了解术语以及如何在定义中使用它们来引用各种事物,并以适当的方式使用它们。并从(有信誉的)教科书中获取您的定义。