資料庫三大正規化(簡單淺顯,面試應急)

2021-10-09 08:16:31 字數 702 閱讀 2980

本人做了一些簡單的總結:

1、第一正規化(不可再分)

任意乙個列【字段】都不可再分

舉例:假設有乙個欄位叫【聯絡**】,真實業務場景【聯絡**】有2大類:【辦公聯絡**】、【私人聯絡**】。

所以,若要滿足第一正規化,【聯絡**】這個字段應該改為【辦公聯絡**】+【私人聯絡**】。

2、第二正規化(完全依賴於主鍵)

非主鍵列要 完全 依賴於主鍵列

舉例:假設有乙個聯合主鍵為:

其他的非主鍵列為:【訂單金額】、【客戶位址】、【折扣力度】

我們假設【折扣力度】是根據:客戶下了何種訂單以及客戶的身份決定的,那麼【折扣力度】完全依賴於【聯合主鍵】

我們假設【客戶位址】只與【訂單號】有關,那麼【客戶位址】就不完全依賴於【聯合主鍵】,它只 部分 依賴於主鍵,此時便不滿足第二正規化

3、第三正規化(直接依賴於主鍵)

非主鍵列要 直接 依賴於主鍵列

舉例:主鍵為a,非主鍵b,非主鍵c

c先依賴於b建立了關係,b依賴於a建立了關係

由此,c 間接 依賴於a建立了關係

a與c的依賴關係是通過b間接形成的,所以就不符合第三正規化

ps:滿足第二正規化,必須先滿足第一正規化;滿足第三正規化,必須先滿足第二正規化

面試之「資料庫三大正規化」

為了能夠更好地理解資料庫的三大正規化,對資料庫中基本概念進行講解。資料庫的設計正規化是資料庫設計 所需要滿足的規範,滿足這些規範的資料庫是簡潔的 明晰的。同時不會發生插入 insert 刪除 delete 和更新 update 異常操作。物件 object 具有相同性質 遵循相同規則的一類事物的抽象...

資料庫三大正規化簡單理解

資料庫設計當中三正規化是經常遇到的,如果實際專案資料庫設計中能達到第三正規化基本也就滿足要求了,那麼如何快速有效的理解三個正規化,同時應用於實際專案中去呢?首先看看標準定義的三個正規化 第一正規化 1nf 所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即...

簡單記憶資料庫三大正規化

書上講了好多,歸結起來3句話 1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 不符合第一正規化的例子 關聯式資料庫...