資料庫原理碼和候選碼的區別,資料庫原理中(清大出版社)對候選碼的定義「如果一個屬性集的值能夠唯一標示一個關係 」屬性集指什麼

2021-03-12 01:01:48 字數 1988 閱讀 2894

1樓:匿名使用者

先說候選碼,候選碼就是可以區別一個元組(即表中的一行資料)的屬性或屬版性的集合,比如學權生表student(id,name,age,***,deptno),其中的id是可以唯一標識一個元組的,所以id是可以作為候選碼的,既然id都可以做候選碼了,那麼id和name這兩個屬性的組合可不可以唯一區別一個元組呢?顯然是可以的,此時的id可以成為碼,id和name的組合也可以成為碼,但是id和name的組合不能稱之為候選碼,因為即使去掉name屬性,剩下的id屬性也完全可以唯一標識一個元組,就是說,候選碼中的所有屬性都是必須的,缺少了任何一個屬性,就不能唯一標識一個元組了,給候選碼下一個精確的定義就是:可以唯一標識一個元組的最少的屬性集合。

而碼是沒有最少屬性這個要求的。另外,一個表的候選碼可能有多個,從這些個候選碼中選擇一個做為主碼,至於選擇哪一個候選碼,這個是無所謂的,只要是從候選碼中選的就行。

至於主屬性,剛才提到了,一個表可以有多個候選碼,那麼對於某個屬性來說,如果這個屬性存在於所有的候選碼中,它就稱之為主屬性

說了這麼多,有點亂,希望你明白了

2樓:可以叫我表哥

碼是抄資料系統中的基本概念。

所謂碼就是能唯一標識實體的屬性,他是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。所有碼都是一個集合。

所有可以用來在實體集中標識唯一實體的集合,都是超碼。如果任意超碼的真子集不能包括超碼,則稱其為候選碼。被資料庫設計者選中的,用來在同一實體集中區分不同實體的候選碼。

超碼包括候選碼,候選碼包括主碼。

候選碼(candidatekey)

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

簡單的情況:候選碼只包含一個屬性。

3樓:匿名使用者

主碼錶示可以唯一表示一條記錄的東西。

比如記錄一個學生,你可以通過學號或者身份回證找到唯一的一答個同學。

這時候學號和身份證號碼就是候選碼,表示你可以從裡面選一個出來做主碼。比如選中學號標識你,學號就是主碼了(主鍵)。

4樓:斷劍寫殘章

主碼,簡

復單地說,在一個關係表中主碼制能夠唯一地標識每一個元組。也就是說,元組在主碼屬性上是不能有重複的。例如,把學生表的學號當主碼的話,就不能有兩個學號是一樣的學生。

主碼是一個屬性或屬性組。

候選碼,一個關係表裡只能有一個主碼,成為主碼的條件上面說了:夠唯一地標識每一個元組。凡是達到這個條件的屬性,都是候選碼。主碼就是從候選碼裡選出來的。

主屬性,當主碼只有一個屬性時,那主屬性自然是主碼了。當主碼是一個屬性組時,這個屬性組包含的屬性都是主屬性。

換一種說法,非主屬性就是除開主碼以外的屬性。這樣應該好理解多了。

資料庫原理中(清大出版社)對候選碼的定義「如果一個屬性集的值能夠唯一標示一個關係……」屬性集指什麼

5樓:碧血玉葉花

先說候選碼bai,候選碼就是可du以區別一個元組zhi(即表中的一行dao

資料)的屬性內或屬性的集合,比如學生表容student(id,name,age,***,deptno),其中的id是可以唯一標識一個元組的,所以id是可以作為候選碼的,既然id都可以做候選碼了,那麼id和name這兩個屬性的組合可不可以唯一區別一個元組呢?顯然是可以的,此時的id可以成為碼,id和name的組合也可以成為碼,但是id和name的組合不能稱之為候選碼,因為即使去掉name屬性,剩下的id屬性也完全可以唯一標識一個元組,就是說,候選碼中的所有屬性都是必須的,缺少了任何一個屬性,就不能唯一標識一個元組了,給候選碼下一個精確的定義就是:可以唯一標識一個元組的最少的屬性集合。

而碼是沒有最少屬性這個要求的。另外,一個表的候選碼可能有多個,從這些個候選碼中選擇一個做為主碼,至於選擇哪一個候選碼,這個是無所謂的,只要是從候選碼中選的就行。

至於主屬性,剛才提到了,一個表可以有多個候選碼,那麼對於某個屬性來說,如果這個屬性存在於所有的候選碼中,它就稱之為主屬性

說了這麼多,有點亂,希望你明白了

資料庫中alter 和 update的區別

一 功能上的區別 1 alter 修改表結構 例如 增加表的欄位 alter table test add id,int 2 update 修改表資料 例如 修改欄位id列的值 update test set id 2 二 本質上的區別 1 alter是資料定義語言 data difinition ...

資料庫裡的前件和後件具體指什麼,資料庫中的結點是什麼,請舉個詳細的例子,還有跟結點,前件,後件

就是一個資料點,裡面儲存有一定的資料。包括真實資料和用於工作的附加資料,如指標。根節點就是指開頭的那個節點,前件和後件是值某一個節點的前一個,後一個節點。資料庫中的結點是什麼,請舉個詳細的例子,還有跟結點,前件,後件 節點就是一個資料點,裡面儲存有一定的資料。包括真實資料和用於工作的附加資料,如指標...

資料結構和資料庫系統原理和計算機網路和軟體工程這四門課程有什麼關係,難以程度和先學那個好

貌似這四科沒啥大關係,不過根據我們學校的排課,資料結構和資料庫系統原理是同時學的,然後是計算機網路,最後是軟體工程。我覺得這樣安排的原因是 資料結構是程式設計思想,要在學了一門語言之後學習,同時學習程式設計思想的時候,就要試著自己編寫正規的程式,這時就會用到資料庫,所以就開始學習資料庫了。而計算機網...