資料庫中的非主屬性和主屬性 以及候選碼和關鍵碼分別指什麼

2021-03-29 00:25:00 字數 2152 閱讀 5963

1樓:匿名使用者

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依次進行判斷;找出所有的候選碼後,演算法結束.。

2樓:若水小天

主屬性——包含在任一候選關鍵字中的屬性稱主屬性。

非主屬性——不包含在主碼中的屬性稱為非主屬性。

非主屬性是相對與主屬性來定義的。

候選碼——若關係中的某一屬性組的值能唯一的標識乙個元組,而其任何真子集都不能再標識,則稱該屬性組為候選碼。

例如:在學生實體中,「學號」是能唯一的區分學生實體的屬性,同時又假設「姓名」、「年齡」的屬性組合足以區分學生實體,那麼和都是候選碼

關鍵碼——唯一可以決定整個關係的碼就是關鍵碼關係模式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樓:匿名使用者

主屬性:乙個屬性只要在任何乙個候選碼中出現過,這個屬性就是主屬性。回

非主屬性:答與上面相反,沒有在任何候選碼中出現過,這個屬性就是非主屬性。

所以 此時的主屬性是:h,l,i,j。 非主屬性是:k

正規化的判斷:

第一正規化(1nf)無重複的列 ‍屬性不可分

第二正規化(2nf)屬性完全依賴於主鍵[消除非主屬性對主碼的部分函式依賴] 符合1nf,並且,非主屬性完全依賴於碼

第三正規化(3nf)屬性不依賴於其它非主屬性[消除傳遞依賴] 符合2nf,並且,消除傳遞依賴

‍ bc正規化(b**f):符合3nf,並且,主屬性不依賴於主屬性

由於存在 j->k,所以k部分依賴於候選碼(ij),所以不滿足第二正規化。所以該模式只屬於第一正規化。

4樓:滿天海晨星

在有多個候bai選碼的時候僅僅對於這

du道題目的話選

zhi哪乙個當

dao作主鍵都可以的,主屬性包

回括:h,l ,i和j,非主屬性就答是剩下的屬性了……先去看看主屬性和非主屬性的定義就清楚了,判斷正規化的話需要明白各個正規化的定義。一二正規化很好理解。

所謂第一正規化(1nf)是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的,即滿足第二正規化(2nf)必須先滿足第一正規化(1nf)。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被唯一地區分。

第三正規化就是要求乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊。在第二正規化的基礎上,資料表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函式依賴則符合第三正規化。 鮑依斯-科得正規化(b**f):

在第三正規化的基礎上,資料庫表中如果不存在任何欄位對任一候選關鍵字段的傳遞函式依賴則符合第三正規化。還有兩三個正規化需要理解,再理解了所有正規化之後看看題目屬於那個正規化就很明白了

資料庫中字段和屬性一樣嗎,在資料庫中字段和欄位名有什麼區別

屬性就是你資料庫表裡面的比如說id,username之類的東西 也就是字段 豎過來的一列叫屬性 橫過來的一行叫元組 也就是表中某一行的各個值 在資料庫中字段和欄位名有什麼區別 字段就是記錄的屬性,欄位名就是某個具體屬性,從範圍而言,字段應該包含欄位名 一張資料表分為行和列,一行就是一跳記錄。可能有很...

oracle資料庫中資料庫和表空間是等同的嗎

不等同。簡單的說,資料庫是乙個整體,乙個資料庫下可保護多個使用者 多個表 多個儲存過程 多個job 多個檢視等。而表空間可以認為是資料實體檔案的分類,比如有使用者表空間 系統表空間 索引表空間等,乙個表空間可以保護多個實體檔案。可以設定表空間的儲存大小,但實際使用多少由已存在的資料來決定。比如設定使...

資料庫中聚集索引和非聚集索引的區別知乎

sql server提供了兩種索引 聚集索引和非聚集索引。其中聚集索引表示表中儲存的資料按照索引的順序儲存,檢索效率比非聚集索引高,但對資料更新影響較大。非聚集索引表示資料儲存在一個地方,索引儲存在另一個地方,索引帶有指標指向資料的儲存位置,非聚集索引檢索效率比聚集索引低,但對資料更新影響較小。聚集...