天天看點

資料庫設計原則之三大範式

首先聲明,本文為筆記記錄。可能不适合作為部落格文章,是以如果看着不舒服,還望“另請高明”,(^__^) 嘻嘻……

資料庫設計的時候有三大範式,現簡述如下:

原則就是使得表列為原子性,每一個字段内容不能再分解。

第二範式要求滿足如下兩個要求,

這一點,隻要是有主鍵就可以實作。因為主鍵的存在使得每一行資料都具有唯一性。

依賴的定義:主鍵确定了其他字段,其他字段依賴于主鍵而存在。

部分依賴: 某個字段值依賴于部分字段,則發生這種現象的前提是該表主鍵位置擁有多個字段。
完全依賴: 某個字段完全依賴與主鍵的所有字段。當一個表的主鍵僅有一個字段時,必然是完全依賴。

将部分依賴轉換成完全依賴,拆表!

将原來存在部分依賴的表拆分,簡單來說就是該表主鍵有幾個字段,就拆成(幾個+1)的表,前幾個字段将分别作為其所在表的唯一主鍵,即成為完全依賴模式。最後一個表為之前的那幾個字段并存的聯合主鍵。用于維護表與表之間的關系。

也就是說,有些字段的值能夠使用現有的表列來計算得出,這樣的字段就屬于備援字段,會産生傳遞依賴現象。

将傳遞依賴部分提取出來,拆表!

将原來的表中存在傳遞依賴的字段提取出來,建立一個表。該新表的主鍵即為原表中被依賴的那個字段。此字段在原來的表中将作為外鍵而存在。