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

第一范式:

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

第二范式:

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

第三范式:

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

第四范式:

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

第五范式:

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

PS.通常數(shù)據(jù)庫(kù)設(shè)計(jì)滿足第三范式即可,越往后付出代價(jià)越大;若追求性能,不一定遵循這些范式。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容