MySQL 第二正規化

2013-05-17_111218

這是MySQL 5實力養成暨評量裡的1-37.『滿足所有非主鍵的欄位,必須只能由主鍵來做唯一識別的資料表是哪一階段的正規化型式?』

答案:(B) 2NF

正規化的問題看起來短暫時間是記不起來的,僅有的方法似乎就是一直試誤,然後警惕一下看能不能記起來,像是第二正規化的資訊可在資料庫正規化找到,我們另外補充聯合大學的資料庫課程投影片給各位再學習:

第二正規化(Second Normal Form,2NF)

定義:一個關聯表為第二正規化表格,若且唯若關聯表中,所有非鍵值屬性皆完全功能相依於主鍵
作法:

  • 拆解關聯:將部份相依於主鍵之非鍵值屬性取出,並與所屬之決定因素建立新的關聯,並將相依因素自原關聯刪除。
  • 決定外來鍵

2013-05-17_114250

2013-05-17_114357

第二正規化型式所產生的異常(Anomalies):

  • 新增記錄時(輸入時必須等主鍵輸入才可進行)
  • 當公司想評估一個新的點時(如:苗栗),無法加入這個新的點的評估等級,除非已經在那裡設分公司了(∵在當地沒有實際設公司,沒有主鍵值可以對應!!)。
  • 更新資料時(需要一起修改許多相關的值組)
  • 如果要把高雄的評等做更動,就要先將所有高雄的記錄給找出來(∵高雄的資料有很多筆,怕有些會沒改到,產生資料不一致)。
  • 刪除記錄時(刪除時會把過多的資訊刪掉)
  • 假設高雄分公司的評等資料只有一筆。如果要刪除高雄分公司的資料時,則必須連帶地刪除高雄的評估資料(∵遞移相依),如果以後還想在高雄設點,就要重新做評估了。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

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