主碼,候選碼,外碼的聯系和區別如下:
1、若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼。
2、若一個關系有多個候選碼,其中任何一個都可以做主碼,主碼的諸屬性就稱為主屬性。
3、一個表中如果有一個字段,存儲另外一個表的主鍵,這個字段就是外鍵,又稱外碼。
碼是數據系統中的基本概念。所謂碼就是能唯一標識實體的屬性,他是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。如果K是一個超碼,那么K的任意超集也是超碼,也就是說如果K是超碼,那么所有包含K的集合也是超碼。所以候選碼是最小超碼,它們的任意真子集都不能成為超碼。如果K是超碼,那么所有包含K的集合都不能是候選碼從多個候選碼中任意選出一個做為主碼,如果候選碼只有一個,那么候選碼就是主碼。