關係模式和正規化判斷 候選碼主碼(筆記)

2021-09-19 11:42:15 字數 1403 閱讀 3637

相關概念:

非主屬性:不包含在任何乙個候選碼中的屬性。

第一正規化(1nf):無重複的列。第一正規化是關係模式的基本要求。

第二正規化(2nf):在滿足第一正規化的前提下,非主屬性非部分依賴於主關鍵字。要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性。

第三正規化(3nf):在滿足第二正規化的基礎上,要求乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊,即:屬性不依賴於其它非主屬性。不存在非關鍵字的傳遞關係。

例如1:假定選課關係表為selectcourse(學號,姓名,年齡,課程名稱,成績,學分),關鍵字為組合關鍵字(學號,課程名稱),因為存在如下決定關係:

(學號,課程名稱) → (姓名,年齡,成績,學分)

這個資料庫表不滿足第二正規化,因為存在如下決定關係:

(課程名稱) → (學分)

(學號) → (姓名,年齡)

即存在組合關鍵字中的字段決定非關鍵字的情況。

例如2:假定學生關係表為student(學號,姓名,年齡,所在學院,學院地點,學院**),關鍵字為單一關鍵字"學號",因為存在如下決定關係:

(學號) → (姓名,年齡,所在學院,學院地點,學院**)

這個資料庫是符合2nf的,但是不符合3nf,因為存在如下決定關係:

(學號) → (所在學院) → (學院地點,學院**)

即存在非關鍵字段"學院地點"、"學院**"對關鍵字段"學號"的傳遞函式依賴。

附:主鍵和外來鍵

1.主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。

身份證號是唯一能確定你這個人的,其他都可能有重複,所以,身份證號是主鍵。

2.外來鍵用於與另一張表的關聯。是能確定另一張表記錄的字段,用於保持資料的一致性。

比如,a表中的乙個字段,是b表的主鍵,那他就可以是a表的外來鍵。

候選碼(candidate key)或候選鍵

如果在乙個關係中,存在多個屬性(或屬性組合)都能用來惟一標識該關係的元組,這些屬性

(或屬性組合)都稱為該關係的候選碼或候選鍵。

例如,在學生登記表關係中,如果姓名不允許重名時,學號和姓名都是候選碼。

主碼(primary key)或主鍵

在乙個關係的若干個候選碼中指定乙個用來惟一標識該關係的候選碼稱為該關係的主碼或主

鍵。例如,在學生登記表關係中,學號一般都是惟一的,如果姓名不允許重名時,存在兩個候選

碼:學號和姓名,若選中學號作為惟一標識,那麼,學號就是學生登記表關係的主碼或主鍵。

資料庫 碼 屬性 候選碼 主碼的關係

碼 唯一標識實體的屬性集稱為碼。例如學號是學生實體的碼 屬性實體所具有的某一特性稱為屬性 候選碼設k為r中的屬性或屬性組合,若k u,則k為r的候選碼 主碼若候選碼多於乙個,則選定其中乙個為主碼 1.碼和候選碼,屬性的區別 碼是唯一確定一條記錄的屬性或屬性集合,因此碼其實也就是候選碼的簡稱。但是碼一...

超碼 候選碼 主碼 全碼 主屬性和非主屬性

乙個或多個屬性的集合,這些屬性的組合可以使我們在乙個關係中唯一地標識乙個元組。這個集合可以用來區分同乙個表中的元組,比如id可以作為超碼,因為它是唯一的。當乙個屬性就能區分同乙個表中的元組,這個屬性就是超碼,而且它和同乙個表中的任意屬性組成集合,這個組合都是超碼。舉例 id這個屬性,在該表中,任意不...

求關係模式的候選碼

求閉包的方法 理解定義 閉包就是由乙個屬性直接或間接推導出的所有屬性的集合 例項 有關係模式r a,b,c,d,e,f f是r上的函式依賴集合,f 則的閉包是?由b c得出此時閉包為abc,所以c在集合中,由c de得出此時閉包為abcde,此時依賴關係已全部用齊 ab的閉包就為abcde。求關係模...