數(shù)據(jù)庫設(shè)計中的五大范式

第一范式:

對于表中的每一行,必須且僅僅有唯一的行值.在一行中的每一列僅有唯一的值并且具有原子性。(第一范式是通過把重復(fù)的組放到每個獨立的表中,把這些表通過一對多關(guān)聯(lián)聯(lián)系起來這種方式來消除重復(fù)組的。) 即無重復(fù)列。

第二范式:

第二范式要求非主鍵列是主鍵的子集,非主鍵列活動必須完全依賴整個主鍵。主鍵必須有唯一性的元素,一個主鍵可以由一個或更多的組成唯一值的列組成。一旦創(chuàng)建,主鍵無法改變,外鍵關(guān)聯(lián)一個表的主鍵。主外鍵關(guān)聯(lián)意味著一對多的關(guān)系。
(第二范式處理冗余數(shù)據(jù)的刪除問題。當某張表中的信息依賴于該表中其它的不是主鍵部分的列的時候,通常會違反第二范式。)

第三范式:

第三范式要求非主鍵列互不依賴。
(第三范式規(guī)則查找以消除沒有直接依賴于第一范式和第二范式形成的表的主鍵的屬性。我們?yōu)闆]有與表的主鍵關(guān)聯(lián)的所有信息建立了一張新表。每張新表保存了來自源表的信息和它們所依賴的主鍵。)

第四范式:

第四范式禁止主鍵列和非主鍵列一對多關(guān)系不受約束。

第五范式:

第五范式將表分割成盡可能小的塊,為了排除在表中所有的冗余。

PS.通常數(shù)據(jù)庫設(shè)計滿足第三范式即可,越往后付出代價越大;若追求性能,不一定遵循這些范式。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容