資料庫設計三正規化(重要,面試)

2022-09-19 11:54:11 字數 1539 閱讀 2277

4、資料庫設計三正規化

4.1、資料庫設計正規化

4.2、資料庫設計正規化

3個第一正規化:要求任何一張表必須有主鍵,每乙個字段原子性不可再分

第二正規化:建立在第一正規化的基礎之上,要求所有非主鍵字段完全依賴主鍵,不要產生部分依賴。

第三正規化:建立在第二正規化的基礎上,要求所有非主鍵字段直接依賴主鍵,不要產生傳遞依賴

宣告:三正規化是面試官常問

設計資料庫表的時候,按照以上的正規化進行,可以避免表中資料的冗餘,空間的浪費

4.3、第一正規化

最核心,最重要的正規化,所有表的設計都需要滿足

必須有主鍵,每乙個字段原子性不可再分

4.4、第二正規化

建立在第一正規化的基礎之上

要求所有非主鍵字段完全依賴主鍵,不要產生部分依賴。

不滿足第一正規化

學生編號 教師編號,兩個字段聯合做主鍵,復合主鍵(pk:學生編號+教師編號)

經過修改後滿足第一正規化,不滿足第二正規化,張三依賴1001,王老師依賴001,是部分依賴

產生部分依賴的缺點:資料冗餘,空間浪費

為了讓以上表滿足第二正規化,需要這樣設計:

使用三張表表示多對多關係!!

學生表學生編號(pk)     學生名字

1001          張三

1002          李四

1003          王五

教師表 

教師編號(pk)    教師姓名

001          王老師

002          趙老師

學生教師關係表

id(pk)      學生編號(fk)      教師編號(fk)

1            1001          001

2            1002          002

3            1003          001

4            1001          002  

背口訣:多對多,三張表,關係表兩個外來鍵(重要)

4.5、第三正規化

建立在第二正規化的基礎上

要求所有非主鍵字段直接依賴主鍵,不要產生傳遞依賴

一對多關係乙個教室多個學生

滿足第一正規化:有主鍵

滿足第二正規化:因為主鍵不是復合主鍵,沒有產生部分依賴。主鍵是單一主鍵

一年一班依賴01  01依賴1001 產生了傳遞依賴

不符合第三正規化要求:產生資料冗餘

背口訣:一對多,兩張表,多的表加外來鍵!!!

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

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

資料庫三大正規化 重要

資料庫正規化1nf 2nf 3nf bcnf 例項 設計正規化 正規化,資料庫設計正規化,資料庫的設計正規化 是符合某一種級別的關係模式的集合。構造資料庫必須遵循一定的規則。在關聯式資料庫中,這種規則就是正規化。關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的正規化。目前關聯式資料庫有六種正規化...

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

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