1樓:匿名使用者
碼應該就是唯一標識資料行的,主碼就只能有一個,候選碼可以有多個,都是唯一的
資料庫中「候選碼」是什麼概念?
2樓:匿名使用者
1.超碼:
超碼是一個或多個屬性的集合,這些屬性可以讓我們在一個實體集(所謂的實體集就是student表中多條記錄的集合)中唯一地標識一個實體。如果k是一個超碼,那麼k的任意超集也是超碼,也就是說如果k是超碼,那麼所有包含k的集合也是超碼。
1.1例子:
因為通過id可以找到唯一一個學生,所以是一個超碼,同理、、、、、也是超碼.
2.候選碼:
雖然超碼可以唯一標識一個實體,但是可能大多數超碼中含有多餘的屬性。所以我們需要候選碼。如果任意超碼的真子集不能包括超碼,則稱其為候選碼;超碼包括候選碼。
2.1例子:
在上例中,只有、都是候選碼;另外,如果***和name可以唯一標識一個學生,則也為超碼,但是,***和name並不能唯一標識一個學生,這與現實生活是違反的,因為現實有同名同姓的人,則不能作為超碼。
資料庫應用中,主碼和碼還有候選碼有區別麼?都代表什麼意思
3樓:匿名使用者
候選碼(candidatekey)
若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼簡單的情況:候選碼只包含一個屬性
主碼若一個關係有多個候選碼,則選定其中一個為主碼(primary key)
全碼(all-key)
最極端的情況:關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(all-key)
資料庫中資料庫中 碼、候選碼、外部碼之間的關係是什麼
4樓:仁昌居士
主碼是從候選碼中挑出來的一個作為主碼,主碼和外部碼提供了一種表示不同關係之間內
相互關容聯的手段。
資料庫中碼又稱資料庫主碼,是資料庫中唯一能標識一個記錄值的內部記錄標誌符。
若關係中的一個屬性或屬性組的值能夠唯一地標識一個元組,且他的真子集不能唯一的標識一個元組,則稱這個屬性或屬性組做候選碼。
關係模式r中屬性或屬性組x並非r的候選碼,但x是另一個關係模式的候選碼,且x與r的主碼對應,則稱x是r的外部碼,也稱外碼。
5樓:匿名使用者
候選bai碼,有時簡稱為碼,主要是用du來表示zhi一個實體的屬性或屬性組;如
dao果有多個候選專碼的話,則從中選擇一
屬個作為主碼。而外部碼指的是如果一個關係r的屬性或者屬性組k,並不是這個關係的碼,而是另一個關係s的碼,則稱k是關係r的外部碼,簡稱外碼。
6樓:shine左瞳
碼是可以唯一標識實體的屬性或屬性集,候選碼,外碼,主碼都是碼
關聯式資料庫中的候選碼和主屬性有什麼區別
7樓:du知道君
二維表中,能夠惟bai一確定記錄du
的一個欄位或zhi
幾個欄位的組合被稱dao為「超關版鍵字」。「超關鍵字」權雖然能唯一確定記錄,但是它所包含的欄位可能是有多餘的。
如果一個超關鍵字去掉其中任何一個欄位後不再能唯一地確定記錄,則稱它為「候選關鍵字。候選關鍵字既能唯一地確定記錄,它包含的欄位又是最精煉的。也就是說候選關鍵字是最簡單的超關鍵字。
主關鍵字(primary key)是表中的一個或多個欄位,它的值用於唯一地標識表中的某一條記錄。
比如在一張成績表中,有欄位:學號,科目,成績,任課老師。
學號+科目+任何其他欄位就是超關鍵字,但是如果去掉學號或者科目中的一個就無法確定成績,所以學號和科目是兩個候選關鍵字。
只有知道了學號和科目你才能確定一條記錄,所以學號和科目兩個欄位組成了主關鍵字。
資料庫原理 碼和候選碼的區別
8樓:匿名使用者
先說候選碼,候選碼就是可以區別一個元組(即表中的一行資料)的屬性或屬版性的集合,比如學權生表student(id,name,age,***,deptno),其中的id是可以唯一標識一個元組的,所以id是可以作為候選碼的,既然id都可以做候選碼了,那麼id和name這兩個屬性的組合可不可以唯一區別一個元組呢?顯然是可以的,此時的id可以成為碼,id和name的組合也可以成為碼,但是id和name的組合不能稱之為候選碼,因為即使去掉name屬性,剩下的id屬性也完全可以唯一標識一個元組,就是說,候選碼中的所有屬性都是必須的,缺少了任何一個屬性,就不能唯一標識一個元組了,給候選碼下一個精確的定義就是:可以唯一標識一個元組的最少的屬性集合。
而碼是沒有最少屬性這個要求的。另外,一個表的候選碼可能有多個,從這些個候選碼中選擇一個做為主碼,至於選擇哪一個候選碼,這個是無所謂的,只要是從候選碼中選的就行。
至於主屬性,剛才提到了,一個表可以有多個候選碼,那麼對於某個屬性來說,如果這個屬性存在於所有的候選碼中,它就稱之為主屬性
說了這麼多,有點亂,希望你明白了
9樓:可以叫我表哥
碼是抄資料系統中的基本概念。
所謂碼就是能唯一標識實體的屬性,他是整個實體集的性質,而不是單個實體的性質。它包括超碼,候選碼,主碼。所有碼都是一個集合。
所有可以用來在實體集中標識唯一實體的集合,都是超碼。如果任意超碼的真子集不能包括超碼,則稱其為候選碼。被資料庫設計者選中的,用來在同一實體集中區分不同實體的候選碼。
超碼包括候選碼,候選碼包括主碼。
候選碼(candidatekey)
若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼。
簡單的情況:候選碼只包含一個屬性。
10樓:匿名使用者
主碼錶示可以唯一表示一條記錄的東西。
比如記錄一個學生,你可以通過學號或者身份回證找到唯一的一答個同學。
這時候學號和身份證號碼就是候選碼,表示你可以從裡面選一個出來做主碼。比如選中學號標識你,學號就是主碼了(主鍵)。
11樓:斷劍寫殘章
主碼,簡
復單地說,在一個關係表中主碼制能夠唯一地標識每一個元組。也就是說,元組在主碼屬性上是不能有重複的。例如,把學生表的學號當主碼的話,就不能有兩個學號是一樣的學生。
主碼是一個屬性或屬性組。
候選碼,一個關係表裡只能有一個主碼,成為主碼的條件上面說了:夠唯一地標識每一個元組。凡是達到這個條件的屬性,都是候選碼。主碼就是從候選碼裡選出來的。
主屬性,當主碼只有一個屬性時,那主屬性自然是主碼了。當主碼是一個屬性組時,這個屬性組包含的屬性都是主屬性。
換一種說法,非主屬性就是除開主碼以外的屬性。這樣應該好理解多了。
資料庫的關係中如何確定候選碼
12樓:
1.只在fd右部出現的屬性,不屬於候選碼;
2.只在fd左部出現的屬性,一定存
在於某候選碼當中回;
3.外部屬性一定存在於任答何候選碼當中;
4.其他屬性逐個與2,3的屬性組合,求屬性閉包,直至x的閉包等於u,若等於u,則x為候選碼。
13樓:匿名使用者
(1)如果
有屬性不在函式依賴集中出現,那麼它必須包含在候選碼中;
(2)如果有屬性不在版函式依
權賴集中任何函式依賴的右邊出現,那麼它必須包含在候選碼中;
(3)如果有屬性只在函式依賴集的左邊出現,則該屬性一定包含在候選碼中。
(4)如果有屬性或屬性組能唯一標識元組,則它就是候選碼;
資料庫應用中,主碼和碼還有候選碼有區別麼?都代表什麼意思
14樓:冠淑華倫氣
候選碼(baicandidatekey)
若關係中的du某一屬性zhi組的值能唯一地標識一個dao元組,則稱該屬性組
版為候選碼
簡單的情權況:候選碼只包含一個屬性
主碼若一個關係有多個候選碼,則選定其中一個為主碼(primarykey)
全碼(all-key)
最極端的情況:關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(all-key)
15樓:督水荷隆夏
碼是資料copy系統中的基本概念bai。所謂碼就是du
能唯一標識實體的屬性zhi,他是整個實體集的性質,dao而不是單個實體的性質。它包括超碼,候選碼,主碼。 超碼是一個或多個屬性的集合,這些屬性可以讓我們在一個實體集中唯一地標識一個實體。
如果k是一個超碼,那麼k的任意超集也是超碼,也就是說如果k是超碼,那麼所有包含k的集合也是超碼。 候選碼是從超碼中選出的,自然地候選碼也是一個或多個屬性的集合。因為超碼的範圍太廣,很多是我們並不感興趣即無用處的。
所以候選碼是最小超碼,它們的任意真子集都不能成為超碼。例如,如果k是超碼,那麼所有包含k的集合都不能是候選碼;如果k,j都不是超碼,那麼k和j組成的集合(k,j)有可能是候選碼。 是從多個候選碼中任意選出一個做為主碼,如果候選碼只有一個,那麼候選碼就是主碼。
雖然說主碼的選擇是比較隨意的,但在實際開發中還是要靠一定的經驗,不然開發出來的系統會出現很多問題。一般來說主碼都應該選擇那此從不或者極少變化的的屬性。
資料庫中的非主屬性和主屬性、以及候選碼和關鍵碼分別指什麼?
16樓:匿名使用者
1、非主屬性
不包含在任何一個候選碼中的屬性稱為非主屬性。非主屬性是相對與主屬性來定義的。
2、主屬性
在一個關係中,如果一個屬性是構成某一個候選關鍵字(候選碼)的屬性集中的一個屬性,則稱它為主屬性(primeattribute)。
3、候選碼
若關係中的一個屬性或屬性組的值能夠唯一地標識一個元組,且他的真子集不能唯一的標識一個元組,則稱這個屬性或屬性組做候選碼。
4、關鍵碼
關鍵碼在資料結構中關鍵碼指的是資料元素中能起標識作用的資料項,例如,書目資訊中的登陸號和書名等。其中能起唯一標識作用的關鍵碼稱為「主關鍵碼」,如登陸號;反之稱為「次關鍵碼」。
擴充套件資料
求解候選碼基本演算法的具體步驟:
第1 步,求關係模式r< u,f > 的最小函式依賴集f。
第2步,按照上面的定義,分別計算出ul,ur,ub(ul表示僅在函式依賴集中各依賴關係式左邊出現的屬性的集合;ur表示僅在函式依賴集中各依賴關係式右邊出現的屬性的集合;另記ub=u-ul-ur)。
第3步,若ul≠φ,計算ul的閉包,若ul+=u,則ul為r的唯一的候選碼,演算法結束;若ul+≠u,轉第4步,若ul=φ,轉第5步。
第4步,將ul依次與ub中的屬性組合,利用上述的定義4判斷該組合屬性是否是候選碼;找出所有的候選碼後,演算法結束。
第5步,對ub中的屬性及屬性組合利用上述的定義4依次進行判斷;找出所有的候選碼後,演算法結束.。
17樓:若水小天
主屬性——包含在任一候選關鍵字中的屬性稱主屬性。
非主屬性——不包含在主碼中的屬性稱為非主屬性。
非主屬性是相對與主屬性來定義的。
候選碼——若關係中的某一屬性組的值能唯一的標識一個元組,而其任何真子集都不能再標識,則稱該屬性組為候選碼。
例如:在學生實體中,「學號」是能唯一的區分學生實體的屬性,同時又假設「姓名」、「年齡」的屬性組合足以區分學生實體,那麼和都是候選碼
關鍵碼——唯一可以決定整個關係的碼就是關鍵碼關係模式r(a,b,c,d),f是r上成立的fd集,f=——d→a ab→c——
因為d決定a,所以ab可以決定c 就相當於db決定c,所以db可以決定a和c,即db可以決定整個r關係
存上下級關係資料的表有什麼特點,關聯式資料庫的特點
3全部關聯式資料庫的主要特點列舉如下 1.資料集中控制,在檔案管理方法中,檔案是分散的,這些檔案之間一般是沒有聯絡的,因此不能按照統一的方法來控制 維護和管理。而資料庫則可以集中控制 維護和管理有關資料。2.資料獨立,資料庫中的資料獨立於應用程式,包括資料的物理獨立性和邏輯獨立性,給資料庫的使用 調...
資料庫是什麼,什麼是資料庫
什麼是 資料庫 我們舉個例子來說明這個問題 每個人都有很多親戚和朋友,為了保持與他們的聯絡,我們常常用一個筆記本將他們的姓名 地址 等資訊都記錄下來,這樣要查誰的 或地址就很方便了。這個 通訊錄 就是一個最簡單的 資料庫 每個人的姓名 地址 等資訊就是這個資料庫中的 資料 我們可以在筆記本這個 資料...
oracle資料庫和資料庫的關係是什麼?下面是問題
oracle資料庫,分為兩個部分 1 軟體部分。這部分你說的沒錯,確實是一個應用軟體。就好象你的word一樣,word本身是一個應用程式。2 資料庫部分,資料庫是用軟體建立的,按照一定規則儲存和處理資料的載體。再舉例就好象你的word文擋。你的word文擋是利用word建立的。這裡的資料庫確實是利用...