数据库应用中,主码和码还有候选码有区别么?都代表什么意思

如题所述

码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。  超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果k是一个超码,那么k的任意超集也是超码,也就是说如果k是超码,那么所有包含k的集合也是超码。  候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果k是超码,那么所有包含k的集合都不能是候选码;如果k,j都不是超码,那么k和j组成的集合(k,j)有可能是候选码。  是从多个候选码中任意选出一个做为主码,如果候选码只有一个,那么候选码就是主码。虽然说主码的选择是比较随意的,但在实际开发中还是要靠一定的经验,不然开发出来的系统会出现很多问题。一般来说主码都应该选择那此从不或者极少变化的的属性。
  
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-03
候选码(Candidatekey)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
简单的情况:候选码只包含一个属性
主码
若一个关系有多个候选码,则选定其中一个为主码(Primary
key)
全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
相似回答