iT邦幫忙

2023 iThome 鐵人賽

DAY 16
1

今天來聊聊資料庫的正規化。

什麼是正規化?

  • 是建構資料時所運用的一個技術。
  • 目的
    • 降低重複性 : 提升效能
    • 確保資料的一致性 : 避免發生錯誤。

看起來是個不錯的酷東西!

那在資料庫中,是怎麼正規化的呢?

資料庫正規化(Normalization)

  • 正規化時會有一些規則,而每一條規則都稱為正規形式

    • 假設此資料庫符合第一條規則,則被稱為「第一正規化形式(1NF)」。
    • 假設此資料庫符合第二條規則,則被稱為「第二正規化形式(2NF)」,依此類推。
  • 正規化是循序漸進的過程。也就是説資料表必須滿足第一正規化的條件之後,才能進行第二正規化。

  • 形式:

    • 第一 -> 第二 -> 第三 -> BCNF -> 第四 -> 第五
    • 其中BCNF被視為大部分所需的最高正規形式

第一正規化規則(1NF)

目的 : 去除重複群

  • 確保每個欄位都只有單一的值,不允許有集合、陣列或重複的項目。
  • 確保沒有兩筆以上的資料是完全重複的。
  • 主鍵以外的所有欄位都相依於主鍵。

舉例來說:

假設原本資料表長這樣
https://ithelp.ithome.com.tw/upload/images/20231001/20162596NqAhI14ZkK.png

第一正規化變變變!

https://ithelp.ithome.com.tw/upload/images/20231001/20162596rRr66eR0Xu.png

原本一個欄位有多個資料,第一正規化後,使每個欄位內只有一個資料。

雖然看起來紀錄的筆數變多,但每個欄位的長度皆可固定,以便查詢。


剩下的正規化方法我們明天繼續聊~


上一篇
【DAY15】關聯式資料庫(Relational Database)
下一篇
【DAY17】資料庫正規化 (2) 2NF
系列文
30天全端:關於網站實作的聊聊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言