候選碼、主碼、主屬性

1.候選碼的定義:如果關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼;

2.主碼的定義:如果一個關系有多個候選碼,則選定其中一個為主碼;

3.主屬性定義:候選碼的諸屬性稱為主屬性;

4.非主屬性定義:不包含在任何候選碼中的屬性稱為非主屬性;

5.實體完整性規則:如果屬性(一個或者一組屬性)A是基本關系R的主屬性,則A不能取空值。

碼是數據系統中的基本概念。所謂碼就是能唯一標識實體的屬性,是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。  

超碼是一個或多個屬性的集合,這些屬性可以讓我們在一個實體集中唯一地標識一個實體。如果K是一個超碼,那麼K的任意超集也是超碼,也就是說如果K是超碼,那麼所有包含K的集合也是超碼。  

候選碼是從超碼中選出的,自然地候選碼也是一個或多個屬性的集合。因為超碼的范圍太廣,很多是我們並不感興趣即無用處的。所以候選碼是最小超碼,它們的任意真子集都不能成為超碼。例如,如果K是超碼,那麼所有包含K的集合都不能是候選碼;如果K,J都不是超碼,那麼K和J組成的集合(K,J)有可能是候選碼。

按照上面碼的定義看看外碼的定義如下:

設F是基本關系R的一個或者一組屬性,但不是關系R的碼。K(s)是基本關系S的主碼。如果F與K(s)相對對應,則稱F是R的外碼。

綜上:F是非主屬性組,必定可以取空值,但是課本例子包括課後題都說F可以是主屬性,當為主屬性時,為瞭保持實體完整性,不可以取空值。

发表回复

相关推荐

征信很重要,应该去哪里查?这四种安全查询方法你要知道!

春秋时期孔丘在《论语.颜渊》中写道,自古皆有死,民无信不立。历史一代女皇武则天,在《臣轨下.诚信章》中对诚信有这样的诠 ...

· 刚刚

為什麼要學習?

不學習行不行?答案是不行!非要學習不可嗎?回答這個問題需要明白:什麼是學習?什麼因素推動我們需要學習?學習使自身系統...

· 2分钟前

21世紀近10年評分最高的5部劇,《甄嬛傳》排第4,第一名實至名歸

標題:21世紀近10年評分最高的5部劇,《甄嬛傳》排第4,第一名實至名歸現在的人們比較喜歡看劇,可以說看劇都已經成瞭人們生...

· 3分钟前

证券的发行和交易

一、证券的发行 发行股票或债券的公司叫发行人,购买股票或债券的该种证券的持有人,通称为投资者。由发行人充当卖方第一次 ...

· 4分钟前

第一次蒸饅頭的體會和記錄細節---一個饅頭引發的思考!

前幾天(2022.04.22)收到瞭政府發放的小麥粉,反而有些焦慮瞭,因為我們很少做面食,但是最近好久沒有吃饅頭和包子瞭,...

· 5分钟前