淺談資料庫正規化

首頁 >> 優先權 >> 淺談資料庫正規化


資料庫正規化(Database normalization)

又稱資料庫的標準化

主要目的有兩個:

  • 減少多餘的資料
  • 保持資料的一致性

第一正規化

去除了重複的項目,

一個欄位只能有一個值

例如:

訂單號碼商品代號1商品代號2商品名稱1商品名稱2

經過第一正規化後:

訂單號碼商品代號1商品名稱1
訂單號碼商品代號2商品名稱2

第二正規化

去除了部分相關性的欄位,

在上述的範例中

訂單號碼商品代號1商品名稱1
訂單號碼商品代號2商品名稱2

商品名稱為非key值,相對於商品代號屬於部分相關

所以必須去除並新增資料表以商品代號相關聯

訂單號碼商品代號
商品代號商品名稱

第三正規化

去除了遞移相關性欄位

範例改為:

商品代號1商品名稱1商品類別號1商品類別名稱1
商品代號2商品名稱2商品類別號2商品類別名稱1

此處的類別名稱屬於非KEY值得商品類別號,

這時必須將商品類別名稱去除並以商品類別號與上方資料表相關聯

商品代號1商品名稱1商品類別號1
商品代號2商品名稱2商品類別號2
商品類別號1商品類別名稱1
商品類別號2商品類別名稱1

其他還有更為進階的正規化步驟,

例如:BCNF 正規化,

這些進階的正規化步驟有時因為規定較為嚴格,

相對來說執行不易,

執行正規化後的效益也有爭議,

故單純就以三個基礎的正規化步驟作結,

這就是今天的主題:

資料庫正規化



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *