MySQL之三正規化

2022-10-09 12:45:16 字數 560 閱讀 5118

一、什麼是資料庫設計正規化?

資料庫表的設計依據。教你怎麼進行資料庫表的設計。

二、資料庫設計正規化共有?

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

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

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

宣告:三正規化是面試官經常問的,所以一定要熟記在心!

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

三、總結表的設計?

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

多對多:三張表,關係表兩個外來鍵!

一對一:外來鍵唯一!

四、總結

資料庫設計三正規化是理論上的。實踐和理論有的時候有偏差。

最終的目的都是為了滿足客戶的需求,有的時候會拿冗餘換執行速度。因為在sql當中,表和表之間連線次數越多,效率越低。(笛卡爾積)

有的時候可能會存在冗餘,但是為了減少表的連線次數,這樣做也是合理的,並且對於開發人員來說,sql語句的編寫難度也會降低。

mysql設計之三正規化 MySQL設計之三正規化

資料庫設計三正規化 設計資料庫表的時候所依據的規範,共三個規範 第一正規化 要求有主鍵,並且要求每乙個字段原子性不可再分 第二正規化 要求所有非主鍵字段完全依賴主鍵,不能產生部分依賴 第三正規化 所有非主鍵欄位和主鍵字段之間不能產生傳遞依賴 第一正規化 資料庫表中不能出現重覆記錄,每個欄位是原子性的...

MySQL設計之三正規化的理解

設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。但是有些時候一昧的追求正規化減少冗餘,反而會降低資料讀寫的效率,這個時候就要反正規化,利用空間來換時間。目前關聯式資料庫有六種正規化 第一正規化 ...

MySQL設計之三正規化的理解

設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。但是有些時候一昧的追求正規化減少冗餘,反而會降低資料讀寫的效率,這個時候就要反正規化,利用空間來換時間。目前關聯式資料庫有六種正規化 第一正規化 ...