數(shù)據(jù)碼是什么意思 數(shù)據(jù)庫中的碼是什么含義?
數(shù)據(jù)庫中的碼是什么含義?代碼是數(shù)據(jù)系統(tǒng)中的一個基本概念。所謂代碼是能夠唯一標識實體的屬性。它是整個實體集的屬性,而不是單個實體的屬性。它包括超級代碼、候選代碼和主代碼。超代碼是一個或多個屬性的集合,允
數(shù)據(jù)庫中的碼是什么含義?
代碼是數(shù)據(jù)系統(tǒng)中的一個基本概念。所謂代碼是能夠唯一標識實體的屬性。它是整個實體集的屬性,而不是單個實體的屬性。它包括超級代碼、候選代碼和主代碼。超代碼是一個或多個屬性的集合,允許我們唯一地標識實體集中的實體。如果K是超碼,那么K的任何超集也是超碼。也就是說,如果K是超碼,那么所有包含K的集合也是超碼。候選代碼也從一組屬性中選擇。因為超代碼的范圍太廣,很多超代碼都不有趣,也不實用。所以候選碼是極小超碼,沒有合適的子集可以是超碼。例如,如果K是超碼,則包含K的所有集合都不能是候選碼;如果K和j不是超碼,則由K和j組成的集合(K,j)可以是候選碼。如果只有一個候選代碼,那么候選代碼就是主代碼。雖然主代碼的選擇比較隨意,但在實際開發(fā)中還是要依靠一定的經(jīng)驗,否則系統(tǒng)的開發(fā)會出現(xiàn)很多問題。一般來說,主代碼應(yīng)該選擇從不更改或很少更改的屬性。http://blog.csdn.net/Student02370236/archive/2005/02/06/282386.aspx
數(shù)據(jù)庫的關(guān)系中如何確定候選碼?
1. 當數(shù)據(jù)庫代碼
代碼是數(shù)據(jù)系統(tǒng)中的一個基本概念。所謂代碼是能夠唯一標識實體的屬性。它是整個實體集的屬性,而不是單個實體的屬性。它包括超級代碼、候選代碼和主代碼。
2. 什么是超代碼
超代碼是一個或多個屬性的集合,允許我們唯一地標識實體集中的實體。如果q是一個超碼,那么q的任何超集也是一個超碼。也就是說,如果q是超碼,那么所有包含q的集合也是超碼但在實際開發(fā)中,還需要依靠一定的經(jīng)驗,否則開發(fā)出來的系統(tǒng)會有很多問題。一般來說,主代碼應(yīng)該選擇從不更改或很少更改的屬性。
4. 如何確定候選代碼
(1)如果某個屬性未出現(xiàn)在函數(shù)依賴集中,則該屬性必須包含在候選代碼中;](2)如果某個屬性未出現(xiàn)在函數(shù)依賴集中任何函數(shù)依賴的右側(cè),則該屬性必須包含在候選代碼中;](3)如果某個屬性僅出現(xiàn)在函數(shù)依賴集中在函數(shù)依賴集的左側(cè),它必須包含在候選代碼中。
(4)例如,如果學(xué)員有一組屬性代碼或?qū)傩栽M,則可以使用它來標識學(xué)員。假設(shè)學(xué)生(實體)有多個屬性:Student ID、ID number、name、gender。因為身份證號ID number name是唯一的學(xué)生,所以{student ID}是一個超級碼,同樣的號碼{student ID,ID number},{student ID,ID card number,name},{student ID,ID card number,name,gender},{ID card number,name},{ID card number,name,gender}也是超級碼。在這里,因為不同的學(xué)生可能有相同的名字,一個學(xué)生不能用他的名字來區(qū)分。{name}和{gender},{name,gender}都不是超代碼。只有{student ID}、{ID number}是候選代碼。
6. 求和
求和:所有代碼都是一個集合。所有可用于標識實體集中唯一實體的集合都是超代碼。如果任何超碼的適當子集不能包含超碼,則稱之為候選碼。數(shù)據(jù)庫設(shè)計器選擇的候選代碼,用于區(qū)分同一實體集中的不同實體。超級代碼包括候選代碼,候選代碼包括主代碼。
希望對您有所幫助,謝謝!