2017-04-26 100 views
0

是一个主要的属性只候选键的成员,或者它也可以superkeys?我有点困惑,因为我正在阅读某个主要属性可能是任何键的成员的地方,而其他人则说它需要成为候选键的成员。主属性和键

回答

1

一个主要属性是一个候选键中的一员。通常,“密钥”是“候选密钥”的同义词,而“超级密钥”是与其他属性一起的“候选密钥”(因此,使用该术语,“超级密钥”不能是“候选密钥” )。

稍微不同的术语,从另一方面说,一个“超密钥”的东西,决定了所有其他属性(因此,即使是“候选键”被认为是“超密钥”)。有了这个术语,有人一适当(或者严格)“超密钥”时,它是一个“候选键” togetehr与其他属性的会谈。

因此,简言之:

  • “候选键”是决定相关的所有属性,并且使得我们不能删除任何属性,而不会失去这个属性的一组属性(和根据这个定义,大家同意)

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

最后,当你发现术语“键”独自一人,这几乎总是“候选键”的代名词。

+0

感谢您的帮助 – StudentCoderJava

+0

中正是superkeys。使用“superkey”表示CK的正确超集是该术语的不正确使用。 (我有兴趣看到能够胜任的材料的这种用途的参考。)另外,“钥匙”本身经常意味着超级钥匙。例如在SQL约束中。 – philipxy