關係型數據庫設計的三大範式

1、什麼是範式數據庫

簡言之就是,數據庫設計對數據的存儲性能,還有開發人員對數據的操做都有莫大的關係。因此創建科學的,規範的的數據庫是須要知足一些規範的來優化數據數據存儲方式。在關係型數據庫中這些規範就能夠稱爲範式。數據庫設計

2、三大範式性能

2.1 第一範式優化

當關系模式R的全部屬性都不能在分解爲更基本的數據單位時,稱R是知足第一範式的,簡記爲1NF。知足第一範式是關係模式規範化的最低要求,不然,將有不少基本操做在這樣的關係模式中實現不了。設計

通俗講就是,每一列屬性都是不可再分的屬性值,確保每一列的原子性。開發

2.2 第二範式效率

若是關係模式R知足第一範式,而且R的全部非主屬性都徹底依賴於R的每個候選關鍵屬性,稱R知足第二範式,簡記爲2NF。數據

通俗講就是,表中的每個非主屬性,必須徹底依賴於本表主鍵。一個表只描述一件事情,只要數據列中出現數據重複,就要把表拆分開來。關係型數據庫

2.3 第三範式查詢

設R是一個知足第二範式條件的關係模式,X是R的任意屬性集,若是X非傳遞依賴於R的任意一個候選關鍵字,稱R知足第三範式,簡記爲3NF。

通俗講就是,確保每列都和主鍵列直接相關,而不是間接相關。

3、如何區分三大範式

第一範式和第二範式在於有沒有分出兩張表;第二範式是說一張表中包含了所種不一樣的實體屬性,那麼要必須分紅多張表;第三範式是要求已經分紅了多張表,那麼一張表中只能有另外一張表中的id(主鍵),而不能有其餘的任何信息(其餘的信息一概用主鍵在另外一表查詢)。

4、違反三大範式

有時候,在設計數據庫表時,爲了效率,不得不作出違反三大範式的設計。好比訂單明細表保存商品信息等。

相關文章
相關標籤/搜索