碼 主碼 候選碼辨析

2022-05-24 05:48:09 字數 791 閱讀 6639

三者定義

碼:表中的某個屬性組,它可以唯一確定乙個元組。

候選碼:若關係中某一屬性組的值能唯一的標識乙個元組,則稱該屬性組為候選碼。

主碼:若乙個關係有多個候選碼,擇選其中乙個為主碼。

候選碼中的所有屬性都是必須的,即只有這些屬性在一起時才能確定下乙個元組,而碼卻沒有最少屬性的要求。

例如在學生表s中有如下關係:

s(sid,name,dept)

對於給定乙個學號sid便可唯一的確定這個學生的姓名

name,

所在系dept,

所以sid

是候選碼。

對於(sid,name)的組合也可以唯一確定這個學生

(實際上只要包含

sid就可以唯一確定這個學生

),所以

(sid,name)

是碼,同理

(sid,dept)

也可以是碼。

候選碼的個數不等於候選碼中屬性的個數。

主碼不等於主屬性,主屬性是候選碼屬性組中所包含的每個屬性。

例如在學生選課表sc中有如下關係:

sc(sid,cid,grade)

對於每個學生給定學號sid,和他選課的課程號

cid,便可以唯一確定他所選課程的分數

grade,

所以(sid,cid)

是候選碼,且是乙個候選碼,其中

sid,

cid為兩個主屬性。主碼是從多個

候選碼中挑乙個,由於

sc關係只有乙個候選碼,所以

(sid,cid)

就是主碼。

候選碼 主碼 主屬性 非主屬性

候選碼 指屬性 或多個屬性構成,此時叫屬性組 可以唯一標識元組 行 且其子集不能。候選碼可以1個,也可以多個。當有多個的時候,任意選乙個作為主碼 也可以簡稱 碼,也就是通俗我們講的primary key 非常像 復合主鍵 這個概念,因為有些表的主鍵是多個屬性構成的,沒人規定主鍵只能由乙個屬性構成啊,...

超碼 候選碼 主碼 全碼 主屬性和非主屬性

乙個或多個屬性的集合,這些屬性的組合可以使我們在乙個關係中唯一地標識乙個元組。這個集合可以用來區分同乙個表中的元組,比如id可以作為超碼,因為它是唯一的。當乙個屬性就能區分同乙個表中的元組,這個屬性就是超碼,而且它和同乙個表中的任意屬性組成集合,這個組合都是超碼。舉例 id這個屬性,在該表中,任意不...

資料庫中的超碼 候選碼 主碼

碼是資料系統中的基本概念。所謂碼就是能唯一標識實體的屬性,他是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。超碼是乙個或多個屬性的 集合,這些屬性可以讓我們在乙個實體集中唯一地標識乙個實體。如果k是乙個超碼,那麼k的任意超集也是超碼,也就是說如果k是超碼,那麼所有包含k的集合也是...