之前一直聽說過 資料庫的三大正規化,但是對他一直處於模糊的認識狀態,今天重新看了一下,稍稍記錄一下,一遍以後查閱
正規化的概念:設計資料庫時,需要遵循一定的規則,才能讓其中的資料準確無誤
正規化不僅僅只有三種,實際上有六種,我們常用的是,第一正規化、第二正規化、第三正規化,合理準確的運用以上三種正規化,就可以保證自己的資料庫不出問題
當然還有三種正規化:巴斯-科德正規化、第四正規化、第五正規化,在目前的學習中用不到,所以沒有過多的去了解他們,不過,運用他們忽然資料庫更加的規矩化
下面挨個說一下常用的三大正規化
1、第一正規化:資料庫中的表中的每一列都是不可分割的原子級資料項
2、第二正規化:在第一正規化的基礎上,非碼屬性必須完全依賴於碼
(在第一正規化的基礎上消除了非主屬性對主碼的部分函式依賴)
上面概念中又很多名詞都沒有接觸過,簡單的解釋一下
1、函式依賴:a-->b,通過a的屬性(或者屬性組)可以唯一確定b屬性的值,稱 b依賴於a
2、完全函式依賴:a-->b,如果a是乙個屬性組,b的屬性值的確定由a中的所有的屬性值共同決定,那麼稱 b 完全依賴於 a
3、部分函式依賴:a-->b,如果a是乙個屬性組,b的屬性值的確定由a中的某一些屬性值確定,稱 b 部分依賴於a
4、傳遞函式依賴:a-->b ,b-->c, 如果通過a的屬性(屬性組)可以確定唯一b屬性值,通過b 的屬性值,可以確定唯一c屬性值,稱 c 傳遞依賴於a
5、碼:在乙個表裡,乙個屬性或者屬性組被其他所有屬性完全依賴,則稱 這個屬性(或者屬性組)為該錶的碼
*主屬性:碼屬性組中的所有屬性
* 非主屬性:除碼屬性組的屬性
3、第三正規化:在第二正規化基礎上,任意非主屬性不依賴於其他非主屬性(在第二正規化基礎上消除了傳遞函式依賴)
我個人理解第三正規化最如初的例子就是建立字典表,將資料進行固定儲存,不會因為其他表中資料的變化而變化
今天就是簡單看了看概念,盡快學習,將**奉上 資料庫設計三大正規化資料庫設計三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...
資料庫三大正規化
1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...
資料庫三大正規化
第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...