��对一个实体集来说,它的侯选码不是唯一的,也就是说几个不同的属性集都可以做侯选码的情况是存在的。对customer实体集来说,假设不同客户的名字是不同的,那么customer-name属性也是一个侯选码。不同侯选码的组合是一个超码,但绝对不是一个新的侯选码。虽然social-security和customer-name一起能区分customer实体,但它们的组合并不能称为侯选码。
��我们用主码来代表被数据库设计者选中的,用来在同一实体集中区分不同实体的侯选码。码(主码、侯选码和超码)是实体集的性质,而不是一个个实体的性质。实体集中的任意两个实体都不允许同时在码属性上具有相同的值。码的指定实际上也代表了被建模的现实世界中的约束。例如,如果customer-name可以作为customer的主码,实际上就表示了不同的客户有不同的名字。
��
��
|