數據庫設計原則之三大範式
阿新 • • 發佈:2019-01-26
取出 實現 計算 red ont 部分 tails 這一 原則
首先聲明,本文為筆記記錄。可能不適合作為博客文章,所以如果看著不舒服,還望“另請高明”,(^__^) 嘻嘻……
數據庫設計的時候有三大範式,現簡述如下:
第一範式(1NF): 原子性,數據不可再分
原則就是使得表列為原子性,每一個字段內容不能再分解。
第二範式(2NF):唯一性,消除部分依賴
第二範式要求滿足如下兩個要求,
每一行數據具有唯一性
這一點,只要是有主鍵就可以實現。因為主鍵的存在使得每一行數據都具有唯一性。
消除數據之間的部分依賴
依賴的定義:主鍵確定了其他字段,其他字段依賴於主鍵而存在。
:
部分依賴: 某個字段值依賴於部分字段,則發生這種現象的前提是該表主鍵位置擁有多個字段。
:
完全依賴: 某個字段完全依賴與主鍵的所有字段。當一個表的主鍵僅有一個字段時,必然是完全依賴。
解決辦法:
將部分依賴轉換成完全依賴,拆表!
將原來存在部分依賴的表拆分,簡單來說就是該表主鍵有幾個字段,就拆成(幾個+1)的表,前幾個字段將分別作為其所在表的唯一主鍵,即成為完全依賴模式。最後一個表為之前的那幾個字段並存的聯合主鍵。用於維護表與表之間的關系。
第三範式(3NF):獨立性,消除傳遞依賴
也就是說,有些字段的值能夠使用現有的表列來計算得出,這樣的字段就屬於冗余字段,會產生傳遞依賴現象。
解決辦法
將傳遞依賴部分提取出來,拆表!
將原來的表中存在傳遞依賴的字段提取出來,新建一個表。該新表的主鍵即為原表中被依賴的那個字段。此字段在原來的表中將作為外鍵而存在。
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow
數據庫設計原則之三大範式