菜鳥學資料庫(一) 三正規化

2021-07-05 15:14:06 字數 1180 閱讀 3180

說到軟體開發 就不能不說資料庫 說到資料庫 就不能不說三正規化 其實資料庫正規化一共有六個 除了第一 二 三正規化以 外

還有第四 第五

正規化和乙個bc正規化  在此我們只討論三正規化 有興趣的朋友可以自己找一些專業的書籍進一步學習

第一正規化(1nf)

第一正規化是指資料庫表的每一列都是不可分割的基本資料項 同一列中不能有多個值 即實體中的某個屬性不能有多個

值或者不能有

重複的屬性  

這就是第一正規化的基本概念 什麼意思呢 舉個例子吧 在乙個表裡有乙個「**」字段 其值既有手機號 又有座機號 那麼

這樣就不符合

第一正規化的要求了 此時應該將「**」拆分為「手機」跟「座機」 這樣一來就變成了乙個符合第一正規化的資料表了

總結:字段不能再分

第二正規化(2nf)

第二正規化是在第一正規化的基礎上建立起來的 即滿足第二正規化必須先滿足第一正規化 第二正規化要求資料庫表中的每個

例項或行必須可以被惟一的區分 為實現區分通常需要為表加上乙個列 以儲存各個例項的惟一標識 

要求實體的屬性完全依賴於主鍵 要討論乙個表符不符合第二正規化的前提是 這個表的主鍵為組合主鍵 如果不是組合主

鍵那就談不

上符不符合第二正規化了 

總結:不能部分依賴,就是說當乙個表有組合主鍵時,其他非主鍵的字段必須完全依賴於主鍵。

第三正規化(3nf)

第三正規化是要符合第二正規化 第三正規化就是乙個資料表中不能存在其他資料表中的非主鍵字段 也就是說如果存在其他

表中的字段 

就一定得是那個表的主鍵

假如乙個表有有a b c三個字段 a—>b b—>c 那麼c與a就是傳遞依賴 這樣就不符合第三正規化 而且不管a能不能直接確

定c都屬於

傳遞依賴 所以只有b跟c不依賴於a以外的任何欄位才符合第三正規化

總結:不可以有傳遞依賴,就是說主鍵以外的字段必須依賴主鍵 而不能依賴其他字段

以上就是在下對三正規化的粗淺理解 有不妥之處還請大家多多指教

菜鳥從零學習資料庫(一) 三正規化

菜鳥從零學習資料庫 一 三正規化 說到軟體開發 就不能不說資料庫 說到資料庫 就不能不說三正規化 其實資料庫正規化一共有六個 除了第一 二 三正規化以 外還有第四 第五正規化和乙個bc正規化 在此我們只討論三正規化 有興趣的朋友可以自己找一些專業的書籍進一步學習 第一正規化 1nf 第一正規化是指資...

菜鳥學資料庫 三正規化

說到軟體開發 就不能不說資料庫 說到資料庫 就不能不說三正規化 其實資料庫正規化一共有六個 除了第一 二 三正規化以 外還有第四 第五正規化和乙個bc正規化 在此我們只討論三正規化 有興趣的朋友可以自己找一些專業的書籍進一步學習 第一正規化 1nf 第一正規化是指資料庫表的每一列都是不可分割的基本資...

菜鳥學資料庫 儲存過程

今天繼續我們的sql菜鳥教程,上篇部落格說了說觸發器 sql菜鳥入門級教程之觸發器 今天我們來說說儲存過程。其實,觸發器也屬於儲存過程,只不過它比較特殊。下面切入正題,讓我帶領眾菜鳥們一起學習一下儲存過程。儲存過程簡介 儲存過程 stored procedure 是資料庫系統中,一組為了完成特定功能...