MySQL 資料庫的設計三正規化

2021-09-21 01:10:02 字數 1502 閱讀 9557

定義:每乙個欄位是原子性不能再分。

舉例:  下圖就不符合第一正規化,因為contact列中不是原子性可以再分為phone和qq

經過修改後下圖就滿足第一正規化。

定義:第二正規化事建立在第一正規化的基礎之上,要求資料庫中所有非主鍵字段完全依賴主鍵,不能產生部份依賴。

也就是說不要使用聯合主鍵

舉例:如下圖的表使用了聯合主鍵(學生編號和老師編號)

綜合分析:1.以上雖然確定了主鍵,但此表會出現大量冗餘

2.出現冗餘的原因在於:學生姓名依賴於學生編號,而沒有依賴老師編號,老師姓名依賴於老師編號,而沒有依賴於                        學生編號

解決方案:將學生表和老師表分開,分別是學生表、老師表、學生老師關聯表

定義:建立在第二正規化的基礎之上,要求非主鍵字段不能產生傳遞依賴於主鍵字段

舉例:學生資訊表

綜合分析:1、從上圖表看出,班級名稱字段存在冗餘,因為班級名稱字段沒有直接依賴於主鍵

2、班級名稱字段依賴於班級編號,班級編號依賴於學生編號,這就產生了依賴傳遞!

解決方案:可知學生和班級的關係為一對多,所以分別建學生表、班級表,學生表外來鍵與班級表關聯即可。 

一對多,在多的一方新增外來鍵。 

資料庫正規化 三正規化設計

資料庫第一正規化 原子性 表中每一列都不可以再分割成更小的列 資料庫第二正規化 不產生區域性依賴 每張表只描述一件事情 資料庫第三正規化 表中每列都直接依賴於主鍵,而不是通過其它列間接依賴於主鍵 什麼是資料庫正規化 學習第一正規化的應用 什麼是正規化 一種規則,指導程式設計師建立表的規則 程式設計師...

mysql三正規化 MySQL資料庫三正規化

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

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...