此篇博文是我的第一篇文章,在複習資料庫正規化部分的時候做的筆記。
正規化指:規範化的關係模式,由於規範程度不同,產生了不同的正規化、
乙個低一級的關係正規化通過模式分解可以轉換成若干高一級正規化的關係模式的集合。這個過程稱為關係模式的規範化。
關係模式規範化的必要性:關係模式規範化,使之達到較高的正規化是設計好關係模式的唯一途徑。否則,所設計的關聯式資料庫會產生一系列的問題。
關係模式應滿足的基本要求:
1元組的每個分量必須是不可分的書記向
2資料庫中的資料冗餘應盡可能的少
3關聯式資料庫不能因為資料更新操作而引起資料不一致的問題
4當執行插入操作時,資料庫中的資料不能產生插入異常現象
5資料庫中的資料不能在執行刪除操作時產生刪除異常問題
6資料庫設計應考慮查詢要求,資料組織應合理。
正規化是衡量關係模式優劣的標準,正規化的級別越高,其資料冗餘和操作異常現象就越少。正規化之間的聯絡可以表示為 1nf←2nf←3nf←4nf←5nf,後面正規化可以看做是前面正規化的特例。1nf 2nf不重要,最重要的是3nf 和bcnf。
第一正規化:
如果乙個關係模式r的所有屬性都是不可分的基本資料項,則這個關係屬於第一正規化。
第二正規化:
若關係模式r屬於第一正規化,且每個非主屬性都完全函式依賴於主鍵,則r屬於第二正規化。
第二正規化不允許關係模式中的非主屬性部分函式依賴於主鍵。
第三正規化:
若關係模式r屬於第一正規化,且每個非主屬性都不傳遞函式依賴於主關鍵字,則r屬於第三正規化。若r屬於第三正規化,則每個非主屬性既不部分函式依賴於主鍵,也不傳遞函式依賴於主鍵。
3nf是乙個可用的關係模式應滿足的最低正規化,也就是說,乙個關係模式如果不服從3nf,實際上它是不能用的。
bc正規化:
若關係模式r屬於第一正規化,且每個屬性都不傳遞依賴於主關鍵字,則r屬於bc正規化,通常bc正規化的條件有多重等價的表示:每個非平凡以依賴的左邊必須包含主關鍵字;每個決定因素必須包含主關鍵字。從定義可以看出,bc正規化既檢查非主屬性,又檢查主屬性,顯然比第三正規化限制更嚴,當只檢查非主屬性而不檢查主屬性時,就成了第三正規化。因此可以說任何滿足bc正規化的關係都必須滿足第三正規化。
在關聯式資料庫中,對關係模式的基本要求是滿足第一正規化。在此基礎上,為了消除關係模式存在插入異常、刪除異常、修改異常和資料冗餘等毛病,要對關係模式進一步規範化,使之逐步達到2nf、3nf、bcnf、4nf。
對於乙個已經滿足1nf的關係模式,當消除了非主屬性對主鍵的部分函式依賴後,它就屬於2nf,當消除了主屬性對主鍵的部分和傳遞依賴函式,它就屬於3nf,當消除了主屬性對主鍵的部分和傳遞函式依賴,它就屬於bcnf,當消除了非平凡且非函式依賴的多值依賴,它就屬於4nf。
SQL Server 關聯式資料庫規範化理論
類似的問題統稱為操作異常。為什麼會出現以上種種操作異常現象呢?是因為這個關係模式沒有設計好,這個關係模式的某些屬性之間存在著 不良 的函式依賴關係。如何改造這個關係模式並克服以上種種問題是關係規範化理論要解決的問題,也是我們討論函式依賴的原因。解決上述種種問題的方法就是進行模式分解,即把乙個關係模式...
資料庫學習 關聯式資料庫規範化理論
關聯式資料庫規範化理論 乙個關聯式資料庫由一組關係模式組成,乙個關係由一組屬性名組成,關聯式資料庫設計就是如何把已給定的相互關聯的一組屬性名分組,並把每一組屬性名組織成關係的問題。所謂規範化,就是用形式更為簡潔 結構更加規範的關係模式取代原有關係的過程。實體之間的關係1 1 1 n m n 上述屬性...
關聯式資料庫的規範化
文章分類 資料庫 一 函式依賴 在資料庫中,函式依賴是最基本 最重要的一種依賴。在資料庫中,屬性值之間會發生聯絡,這類聯絡稱為函式依賴。設有屬性集u上的關係模式r u x,y是u的子集,若對於任乙個關係r中的任一元組在x中的屬性值確定後,則在y中的屬性值必確定,則稱y依賴於x。二 正規化和規範化方法...