正常forms – 第二与第三 – 是不同的组合键? 不平凡的依赖?

我已经看过这篇文章,但我不太了解所用的术语(非平凡的函数依赖,superkey)

从我读过的第二范式似乎涉及到复合键,而第三范式涉及到主键。

我不确定这是否正确。

所以第二个正常forms – 有一个复合键,表中的所有字段必须与两个复合键字段相关联。 如果某些东西不相关,那么它应该被重构到另一个表中。

第三范式 – 一切都必须依赖于主键 – 所以我猜测,在第三范式中只有一个键而不是第二范式可以有复合键?

任何意见赞赏。

一个集合的正确子集或超集是不等于它的。

我们说一组列S在function上决定表中的另一个集合T,当第一个子行的每个子行总是出现在第二行的同一个子行中。 我们写S→T并且说S是行列式集合,T是确定的集合。 我们称S→T为函数依赖(FD)。 当S是T的超集时,我们说它是一个微不足道的FD。 当A是T中的一列时,我们说S在function上决定A.

superkey是一组唯一标识行的列。 候选密钥(CK)是不包含适当的超级密钥的超级密钥。 我们可以selectCK作为主键(PK)。 在一些CK中,列是素数。

这足以理解这个答案:

2NF和3NF的区别是这个。 假设某个关系满足A-> Bforms的非平凡函数依赖关系,其中B是一个非优先属性。

如果A不是超级密钥,而是候选密钥的合适子集,则违反2NF

如果A不是一个超级键,那么就违反了3NF

FD是局部的,当且仅当使用行列式的一个适当子集给出具有相同确定列的FD时; 否则就满了。 请注意,这不涉及CK。 当每个非主要列在function上完全依赖于每个CK时,表格在2NF中。

当S→X和X→T而不是(X→S)时,S→T是传递的。 请注意,这不涉及CK。 当它处于2NF时,一个表格处于3NF,并且每个非主要列都不依赖于每个CK。