非主屬性是什么?
給定一個(gè)關(guān)系模式后,非主屬性是確定了么?有一種看法是所有候選碼包括的屬性統(tǒng)稱(chēng)為主屬性,其余的屬性是非主屬性。還有一種看法是對(duì)于若干個(gè)碼,當(dāng)前選定一個(gè)作為主碼,那么這個(gè)主碼包含的屬性之外的屬性就是非主屬性,哪個(gè)對(duì)?另外,非主屬性和非碼屬性是一回事么?不包含在主碼中的屬性稱(chēng)為非主屬性。
非主屬性是相對(duì)與主屬性來(lái)定義的。內(nèi)
例如:在關(guān)系——學(xué)生容(學(xué)號(hào),姓名,年齡,性別,班級(jí))中,主碼是“學(xué)號(hào)”,那么其他的“姓名”、“年齡”、“性別”、“班級(jí)”就都可以稱(chēng)為非主屬性。
設(shè)有關(guān)系模式R(U,F),其中U={,,…,}是關(guān)系模式的屬性集合,記為U=,其中{,,…,},{,,…,},且,m為自然數(shù)且不大回于n.表示關(guān)系模式答R(U,F)的主屬性,表示R(U,F)的非主屬性.F為關(guān)系模式R(U,F)的數(shù)據(jù)依賴(lài)集.
那么上面的命題可以表述為:
關(guān)系模式R(U,F)的數(shù)據(jù)依賴(lài)集F中,不存在這樣的元素,X→Y,且X,Y.
也即對(duì)于數(shù)據(jù)依賴(lài)X→Y,如果滿(mǎn)足X,Y,那么X→YF .
這么深的問(wèn)題想在這里問(wèn)出很精準(zhǔn)的答案是不可能的
主屬性是所有候選碼的屬性和,其他的為非主屬性。主要屬性,可以起到唯一標(biāo)識(shí)的作用,例如:教師,有教師編號(hào),姓名,性別等屬性,編號(hào)是主屬性,其他是非住屬性.
什么是碼,主碼,主屬性,非主屬性
碼:代表數(shù)目的符號(hào)
主碼
我們?cè)诮?shù)據(jù)庫(kù)的時(shí)候,需要為每張表回指定一個(gè)主碼,主碼也叫主鍵答。
所謂主碼就是在實(shí)體集中區(qū)分不同實(shí)體的候選碼。
一個(gè)實(shí)體集中只能有一個(gè)主碼,但可以有多個(gè)候選碼。
必須注意兩點(diǎn):
1.主碼的選擇必須慎重。
例如:人的姓名是不可以做主碼的,因?yàn)榭赡苡卸鄠€(gè)人重名,而身份證可以做主碼。
2.主碼的選擇應(yīng)該是那些從不或極少變化的屬性。
例如:一個(gè)人的地址就不應(yīng)該作為主碼的一部分,因?yàn)樗芸赡茏兓?br />候選碼
若關(guān)系中的某一屬性組的值能唯一的標(biāo)識(shí)一個(gè)元組,而其任何真子集都不能再標(biāo)識(shí),則稱(chēng)該屬性組為候選碼。
例如:在學(xué)生實(shí)體中,“學(xué)號(hào)”是能唯一的區(qū)分學(xué)生實(shí)體的,同時(shí)又假設(shè)“姓名”、“年齡”的屬性組合足以區(qū)分學(xué)生實(shí)體,那么{學(xué)號(hào)}和{姓名,年齡}都是候選碼
主屬性
包含在任一候選關(guān)鍵字中的屬性稱(chēng)主屬性。
非主屬性
不包含在主碼中的屬性稱(chēng)為非主屬性。
非主屬性是相對(duì)與主屬性來(lái)定義的。
例如:在關(guān)系——學(xué)生(學(xué)號(hào),姓名,年齡,性別,班級(jí))中,主碼是“學(xué)號(hào)”,那么其他的“姓名”、“年齡”、“性別”、“班級(jí)”就都可以稱(chēng)為非主屬性
數(shù)據(jù)庫(kù)中的“主屬性”、“碼”、“主碼”的區(qū)別是什么?
在數(shù)據(jù)記錄(元組)的屬性或?qū)傩缘募希覀兎Q(chēng)之為碼(候選碼)。
當(dāng)我們指定其中一個(gè)用來(lái)區(qū)分開(kāi)每個(gè)記錄(元組)的碼為主碼。
主屬性是指包含在候選碼中的屬性。
換句話(huà)說(shuō):主碼和碼的關(guān)系就像班長(zhǎng)和班長(zhǎng)候選人之間的關(guān)系。
每個(gè)班長(zhǎng)候選人,我們可稱(chēng)之為主屬性,只不過(guò)在數(shù)據(jù)庫(kù)中,候選碼可能是多個(gè)屬性共同組成的。
先說(shuō)候選碼,候選碼就是可以區(qū)別一個(gè)元組(即表中的一行數(shù)據(jù))的屬性回或?qū)傩缘募洗穑热鐚W(xué)生表student(id,name,age,sex,deptno),其中的id是可以唯一標(biāo)識(shí)一個(gè)元組的,所以id是可以作為候選碼的,既然id都可以做候選碼了,那么id和name這兩個(gè)屬性的組合可不可以唯一區(qū)別一個(gè)元組呢?顯然是可以的,此時(shí)的id可以成為碼,id和name的組合也可以成為碼,但是id和name的組合不能稱(chēng)之為候選碼,因?yàn)榧词谷サ鬾ame屬性,剩下的id屬性也完全可以唯一標(biāo)識(shí)一個(gè)元組,就是說(shuō),候選碼中的所有屬性都是必須的,缺少了任何一個(gè)屬性,就不能唯一標(biāo)識(shí)一個(gè)元組了,給候選碼下一個(gè)精確的定義就是:可以唯一標(biāo)識(shí)一個(gè)元組的最少的屬性集合。而碼是沒(méi)有最少屬性這個(gè)要求的。另外,一個(gè)表的候選碼可能有多個(gè),從這些個(gè)候選碼中選擇一個(gè)做為主碼,至于選擇哪一個(gè)候選碼,這個(gè)是無(wú)所謂的,只要是從候選碼中選的就行。
至于主屬性,剛才提到了,一個(gè)表可以有多個(gè)候選碼,那么對(duì)于某個(gè)屬性來(lái)說(shuō),如果這個(gè)屬性存在于所有的候選碼中,它就稱(chēng)之為主屬性
以上來(lái)自熱心網(wǎng)友
在數(shù)據(jù)庫(kù)的表(關(guān)系)中能夠用于唯一區(qū)分開(kāi)每個(gè)記錄(元組)的屬性或?qū)傩缘募?,我們稱(chēng)之為碼(候選碼)。
當(dāng)我們指定其中一個(gè)用來(lái)區(qū)分開(kāi)每個(gè)記錄(元組)的碼為主碼。
主屬性是指包含在候選碼中的屬性。
換句話(huà)說(shuō):主碼和碼的關(guān)系就像班長(zhǎng)和班長(zhǎng)候選人之間的關(guān)系。
每個(gè)班長(zhǎng)候選人,我們可稱(chēng)之為主屬性,只不過(guò)在數(shù)據(jù)庫(kù)中,候選碼可能是多個(gè)屬性共同組成的。
相關(guān)推薦:
刑事證據(jù)不清(刑事案件證據(jù)不足事實(shí)不清楚怎么辦)
仲裁有刑事責(zé)任嗎(被仲裁委員會(huì)仲裁以后會(huì)怎樣)
打架刑事對(duì)辦戶(hù)口(案底滿(mǎn)一年辦理戶(hù)口會(huì)被查嗎)
刑事犯有選舉權(quán)嗎(有刑事案底的可以參加選舉嗎)
測(cè)謊刑事證據(jù)效力(測(cè)謊儀能不能作為刑事證據(jù))