資料庫中的函式依賴 鍵和正規化

2021-08-20 07:27:40 字數 1537 閱讀 8988

附更加詳細的解釋:

部分函式依賴:設x,y是關係r的兩個屬性集合,存在x→y,若x』是x的真子集,存在x』→y,則稱y部分函式依賴於x。

舉個例子:學生基本資訊表r中(學號,身份證號,姓名)當然學號屬性取值是唯一的,在r關係中,(學號,身份證號)->(姓名),(學號)->(姓名),(身份證號)->(姓名);所以姓名部分函式依賴與(學號,身份證號);

完全函式依賴:設x,y是關係r的兩個屬性集合,x』是x的真子集,存在x→y,但對每乙個x』都有x』!→y,則稱y完全函式依賴於x。

例子:學生基本資訊表r(學號,班級,姓名)假設不同的班級學號有相同的,班級內學號不能相同,在r關係中,(學號,班級)->(姓名),但是(學號)->(姓名)不成立,(班級)->(姓名)不成立,所以姓名完全函式依賴與(學號,班級);

傳遞函式依賴:設x,y,z是關係r中互不相同的屬性集合,存在x→y(y !→x),y→z,則稱z傳遞函式依賴於x。

例子:在關係r(學號 ,宿舍, 費用)中,(學號)->(宿舍),宿舍!=學號,(宿舍)->(費用),費用!=宿舍,所以符合傳遞函式的要求;

1 、第一正規化(1nf)

在任何乙個關聯式資料庫中,第一正規化(1nf)是對關係模式的基本要求,不滿足第一正規化(1nf)的資料庫就不是關聯式資料庫。

所謂第一正規化(1nf)是指資料庫表的每一列(即每個屬性)都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。簡而言之,第一正規化就是無重複的列。

2、 第二正規化(2nf)

第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的,即滿足第二正規化(2nf)必須先滿足第一正規化(1nf)。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被唯一地區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。員工資訊表中加上了員工編號(emp_id)列,因為每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。這個唯一屬性列被稱為主關鍵字或主鍵、主碼。

第二正規化(2nf)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。簡而言之,第二正規化就是非主屬性依賴於主關鍵字。

3 、第三正規化(3nf)

滿足第三正規化(3nf)必須先滿足第二正規化(2nf)。在滿足第二正規化的基礎上,切不存在傳遞函式依賴,那麼就是第三正規化。簡而言之,第三正規化就是屬性不依賴於其它非主屬性。

最後簡單的總結一下:

1、第一正規化(1nf):乙個關係模式r的所有屬性都是不可分的基本資料項。

2、第二正規化(2nf):關係模式r屬於第一正規化,且每個非主屬性都完全函式依賴於鍵碼。

3、第三正規化(3nf):關係模式r屬於第一正規化,且每個非主屬性都不偉遞領帶於鍵碼。

4、 bc正規化(bcnf):關係模式r屬於第一正規化,且每個屬性都不傳遞依賴於鍵碼。

資料庫中候選碼,函式依賴,正規化總結

候選鍵 候選碼 能夠唯一標識一條記錄的最小屬性集 主鍵 主碼 某個能夠唯一標識一條記錄的最小屬性集 是從候選碼裡人為挑選的一條 主屬性包含在任一候選碼中的屬性稱主屬性。簡單來說,主屬性是候選碼所有屬性的並集 非主屬性不包含在候選碼中的屬性稱為非主屬性。非主屬性是相對於主屬性來定義的。第二正規化 消除...

關聯式資料庫設計理論 函式依賴和正規化

表裡的一列就是乙個值,只講一件事,不可分。比如說 你寫手機號,號,寫兩個就不行。官話 屬性不可分,具有原子性 表不是有乙個主鍵嘛,這個唯一識別符號用於確定每一行,乙個值確定乙個行,這個屬性稱為碼,它是主屬性,碼可能是由多個主屬性組成的。2nf就是確保其他的屬性,都由這個碼來確定,比如碼是 學生學號,...

資料庫中的正規化

1nf 第一正規化是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能又重複的屬性。第一正規化的模式要求屬性值不可再 成更小部分,即屬性項不能是屬性組合或由組屬性組成。2nf 第二正規化,是在第一正規化的基礎上建立起來的。即滿足第二正規化必須先滿...