MySql 三正規化

2021-09-25 23:02:46 字數 1272 閱讀 5577

目錄

1. 第一正規化(1nf:每一列保持原子特徵)

2、第二正規化(2nf):

解決方案:只要不存在復合主鍵

3、第三正規化(3nf):

解決方案:實體單獨建表

正規化總結:1nf:確保每列保持原子性2nf:確保表中的每列都和主鍵相關3nf:確保每列都和主鍵列直接相關,而不是間接相關

列是基本資料項,不能在進行拆分,否則設計成一對多的關係,不滿足第一正規化,不能稱之為 關係型資料庫。

學生表(學號、姓名、性別、年齡,位址)

例:陝西省西安市西安郵電大學

例:陝西省西安市長安區子午大道西安郵電大學

拆分改造後:

學生表(學號、姓名、性別、年齡、位址id)

位址表(位址id、省、市、區)

屬性完全依賴於主鍵(針對聯合主鍵 → 消除部分依賴),

1nf基礎上,非主屬性完全依賴於主鍵,如果不是完全依賴主鍵,應該拆分成新的主體,拆分成一對多的關係

這裡的(學生,課程)是乙個碼

乙個課程,一定指定了某個教材,一年級語文肯定用的是《小學語文1》,那麼就有課程->教材

(學生,課程)->教材,(學生,課程)是個碼,課程可以決定教材,是部分依賴。

出現這樣的情況,就不滿足第二正規化。解決:將乙個表分解成兩個或若干個表。

2nf基礎上、屬性(某一列)不依賴於其他非主屬性(消除依賴傳遞);

將存在傳遞依賴的字段,以及依賴的字段本身單獨取出,形成乙個單獨的表,然後在需要對應的資訊的時候,將對應的實體表的主鍵加進來。

資料庫正規化的作用:

進行資料庫設計時欄位、庫表劃分的依據

資料庫正規化的優點:

減少資料冗餘(最主要的好處、其他好處因此而附帶)

消除異常(插入異常、更新異常、刪除異常)

讓資料組織的更加和諧

資料庫正規化的缺點:

應用正規化越高、表越多、表越多帶來的問題:

查詢時需要連線多個表,增加了查詢的複雜性

查詢時需要連線多個表,降低了資料庫查詢的效能

正規化不是越高越好,一般滿足3nf即可。

Mysql三正規化

第一正規化 屬性不可分 第二正規化 表中的非主屬性必須完全依賴於全部主鍵,而不是部分主鍵.第三正規化 表中的非主屬性必須完全依賴於全部主鍵,而不是依賴非主鍵屬性 1 第一正規化 元組的分量不可再分 2 第二正規化 所有分量唯一決定主鍵碼,不允許部分依賴 3 第三正規化 不允許傳遞依賴。1nf,第一正...

MySQL三正規化與反三正規化

目錄反三正規化 對於三正規化和反三正規化的選擇 參考cs notes 資料庫 資料庫系統原理.html 正規化 屬性不可再分 即表中的字段不能再拆分 例 乙個name屬性可以分為firstname屬性和lastname屬性,則不符合第一正規化。表中有鍵碼,非主屬性完全依賴鍵碼 即表中的非主屬性完全依...

mysql正規化學習 Mysql三大正規化

據庫設計正規化 什麼是正規化 簡言之就是,資料庫設計對資料的儲存效能,還有開發人員對資料的操作都有莫大的關係。所以建立科學的,規範的的資料庫是需要滿足一些 規範的來優化資料資料儲存方式。在關係型資料庫中這些規範就可以稱為正規化。什麼是三大正規化 第一正規化 當關係模式r的所有屬性都不能在分解為更基本...