關聯式資料庫的正規化

2021-07-01 20:19:54 字數 961 閱讀 5354

1、正規化

構造資料庫必須遵循一定的規劃,在關聯式資料庫中這種規則就是正規化(nf即normal form)。正規化是符合一種級別的關係模式的集合。關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的正規化。目前關聯式資料庫有6種正規化:第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、第四正規化(4nf)、第五正規化(5nf)和第六正規化(6nf)。滿足最低要求的正規化是第一正規化1nf,在第一正規化的基礎上進一步滿足更多要求的稱為第二正規化2nf,其餘正規化依次類推。一般說來資料庫只需滿足第三正規化3nf就行了。

1.1  第一正規化

在任何乙個關聯式資料庫中第一正規化1nf是對關係模式的基本要求,不滿足第一正規化1nf的資料庫就不是關聯式資料庫。所謂第一正規化1nf,是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性就可能需要定義乙個新的實體。新的實體由重複的屬性構成新實體與原實體之間為一對多關係。在第一正規化1nf中,表的每一行只包含乙個例項的資訊。

1.2 第二正規化

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

第二正規化2nf要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指自身不能存在僅依賴主關鍵字一部分的實體,如果存在,那麼這個屬性和主關鍵字的這一部分應該分享出來形式乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列以儲存各個例項的唯一標識。例如,員工資訊表中加上了員工編號emp_id列,因為每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。簡而言之,第二正規化就是非主屬性非部分依賴於主關鍵字。

1.2 第三正規化

加入員工資訊表中。如果不存在部門資訊表則根據第三正規化3nf也應該構建它,否則應付有大量的資料冗餘。簡而言之,第三正規化就是屬性不依賴於其它非主屬性。

關聯式資料庫正規化

在建立乙個資料庫的過程中,必須依照一定的準則,這些準則被稱為正規化,從第一到第六共六個正規化,一般資料庫設計只要遵循第一正規化,第二正規化,和第三正規化就足夠了。滿足這些規範的資料庫是簡潔的 結構明晰的,同時,不會發生插入 insert 刪除 delete 和更新 update 操作異常。反之則是亂...

關聯式資料庫正規化

判斷是第幾正規化 概念 設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。種類 目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf...

關聯式資料庫的正規化

構造資料庫必須遵循一定的規則。在 關聯式資料庫中,這種規則就是 正規化。正規化是符合某一種級別的關係模式的集合。關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的 正規化。目前 關聯式資料庫有六種 正規化 第一 正規化 1nf 第二 正規化 2nf 第三 正規化 3nf 第四 正規化 4nf 第五...