2013-05-02 52 views
0

數據庫設計:數據庫表設計爲只讀值

我有兩個值Tsunami_Indicators:

  1. 預警
  2. 晚警告

基於這兩個值有許多Tsunami_Rescue_Activities如:

Early Warning------Build Wall 
Early Warning------Release dock ships 
Early Warning------Alert fishermen 
Early Warning-----etc. 

Late Warning-------Provide radioactive foolproof masks 
Late Warning-------Evacuate coastline 
Late Warning-------Deploy airforce 
Late Warning-------etc. 

所以我應該保持Tsunami_Indicators的兩個值作爲Tsunami_Rescue_Activities表中的下拉列表或創建一個單獨的表作爲Tsunami_Indicators?

我覺得創建晚警告和預警單獨的表Tsunami_Indicators並保持其參考ID在該表Tsunami_Rescue_Activities。

但後來有一個疑問,如果這兩個只讀值正在一臺值得權衡?

請指教。正常化的

規則說「從來沒有在一個元組的任何列清單」,但無疑是「是否有例外情況?」

+0

我感到有點困惑**「下拉列表」 **在數據庫環境。你在使用什麼類型的數據庫? – luksch 2013-05-02 09:34:15

+0

@luksch這是一個Oracle數據庫和應用方面,我們正在使用Hibernate的ORM – dkr 2013-05-02 09:35:35

+0

@luksch:標準化的規則說「從來沒有在一個元組的任何列清單」,但懷疑是「有此規則的例外?」 – dkr 2013-05-02 09:37:36

回答

0

當你有一個靜態碼錶(有人可能會說查找表),這是值得把它放在一個數據庫,並把它正常化3NF。即使是最靜態的查找表也至少有一點變化的風險。

如果當這種變化發生它是通過使比通過改變代碼(也可能有重新分配的代碼,如果不是基於Web)數據庫條目就好辦了。