第一正規化(1nf):
在任何乙個關聯式資料庫中,第一正規化(1nf)是對關係模式的基本要求,不滿足第一正規化(1nf)的資料庫就不是關聯式資料庫。所謂第一正規化(1nf)是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義乙個新的實體,新的實體由重複的屬性構成,新實體與原實體之間為一對多關係。在第一正規化(1nf)中表的每一行只包含乙個例項的資訊。簡而言之,第一正規化就是無重複的列。
第二正規化(2nf):
第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的,即滿足第二正規化(2nf)必須先滿足第一正規化(1nf)。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被惟一地區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的惟一標識。第二正規化(2nf)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列,以儲存各個例項的惟一標識。簡而言之,第二正規化就是非主屬性非部分依賴於主關鍵字。
第三正規化(3nf):
滿足第三正規化(3nf)必須先滿足第二正規化(2nf)。第三正規化(3nf)要求乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊。簡而言之,第三正規化就是屬性不依賴於其它非主屬性。如果關係模式r(u,f)中的所有非主屬性對任何候選關鍵字都不存在傳遞信賴,則稱關係r是屬於第三正規化的。即在一正規化的基礎上加上沒有傳遞以來就是第三正規化。
bcnf:
如果關係模式r(u,f)的所有屬性(包括主屬性和非主屬性)都不傳遞依賴於r的任何候選關鍵字,那麼稱關係r是屬於bcnf的。或是關係模式r,如果每個決定因素都包含關鍵字(而不是被關鍵字所包含),則rcnf的關係模式。
1nf直到bcnf的四種正規化之間有如下關係:
bcnf包含了3nf包含2nf包含1nf
資料庫之正規化
第一正規化 資料庫表中的字段都是單一屬性的,不可再分。這個單一屬性由基本型別構成,包括整型 實數 字元型 邏輯型 日期型等 第二正規化 資料庫表中不存在非關鍵字段對任意候選關鍵字段的部分函式依賴 部分函式依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況 也即所有非關鍵字段都完全依賴於任意一組...
資料庫之正規化
1.第一正規化 1nf 屬性不可拆分 或 無重複的列 這個簡單,就是乙個屬性不允許再分成多個屬性來建立列。事實上,在目前的dbms中是不可能拆分屬性的,因為他們不允許這麼做。2.第二正規化 2nf 完全函式依賴 先講講什麼是部分函式依賴。部分函式依賴,就是多個屬性決定另乙個屬性,但事實上,這多個屬性...
資料庫理論之正規化
完全函式依賴 y完全函式依賴x,就是y依賴x的所有屬性,即x中少一項都推不出y 部分函式依賴 y部分函式依賴x,就是y依賴x的一部分屬性,即x的真子集也可能推出y 第一正規化 每個屬性都不可再分 第二正規化 第一正規化 每個非主屬性都完全函式依賴主碼 第三正規化 第二正規化 消除傳遞依賴 候選碼 能...