Key 素属性与键

Key 素属性与键,key,3nf,bcnf,Key,3nf,Bcnf,素数属性只是候选键的一个成员,还是也可以是超级键?当我在某个地方读到prime属性可以是任何键的成员,而其他人说它需要是候选键的成员时,我有点困惑。prime属性是候选键的成员 通常,“密钥”是“候选密钥”的同义词,“超级密钥”是“候选密钥”以及其他属性(因此,使用此术语,“超级密钥”不能是“候选密钥”) 另一方面,一个稍有不同的术语表示“超级键”是决定所有其他属性的东西(因此,即使是“候选键”也被视为“超级键”)。有了这个术语,当它是一个与其他属性结合在一起的“候选键”时,有人会谈论一个适当的

素数属性只是候选键的一个成员,还是也可以是超级键?当我在某个地方读到prime属性可以是任何键的成员,而其他人说它需要是候选键的成员时,我有点困惑。

prime属性是候选键的成员

通常,“密钥”是“候选密钥”的同义词,“超级密钥”是“候选密钥”以及其他属性(因此,使用此术语,“超级密钥”不能是“候选密钥”)

另一方面,一个稍有不同的术语表示“超级键”是决定所有其他属性的东西(因此,即使是“候选键”也被视为“超级键”)。有了这个术语,当它是一个与其他属性结合在一起的“候选键”时,有人会谈论一个适当的(或者可能是严格的)“超级键”

因此,总而言之:

  • “候选键”是一组属性,它决定了关系的所有属性,因此我们不能在不丢失该属性的情况下从中删除任何属性(在这个定义上,每个人都同意)

  • “超级键”可以有两种不同的解释: a) 具有零个或多个其他属性的“候选密钥”;或b)具有其他属性的“候选密钥”

最后,当您单独找到术语“key”时,它几乎总是“候选key”的同义词。

ck是超级key。使用“superkey”来表示CK的适当超集是对该术语的错误使用。(我有兴趣在有能力的材料中看到这种用法的参考资料。)此外,“键”本身常常意味着超级键。例如,在SQL约束中。