能解释下吗
谢谢!
书上原文“若一个关系有多个候选码,则选其中一个为主码,主码的诸属性称为主属性,不包含在任何候选码中的属性称为非主属性”
= =!感觉好晕。能举个例子吗
谢谢!
一、含义不同:
主码唯一标识,候选码是可以作为主码的码,主码一定是候选码的子集,但候选码不一定是主码。
二、作用不同:
主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码;此外,应该选择哪些从不或极少变化的属性;
候选码:如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码;
建立主键应该遵循的原则
主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
以上内容参考:百度百科-主关键字