数据库表设计为只读值

时间:2013-05-02 09:29:18

标签: database binary normalization

数据库设计:

我有两个值作为Tsunami_Indicators:

  1. 早期预警
  2. 迟到警告
  3. 基于这两个值,有许多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中。

    但是后来怀疑这两个只读值是否值得交易?

    请告知。

    规范化规则说“永远不要列出元组中任何列的列表”,但怀疑是“此规则是否有例外?”

1 个答案:

答案 0 :(得分:0)

当你有一个静态代码表(有些人可能会说查找表)时,值得将它放在数据库中并将其规范化为3NF。即使是最静态的查找表也至少有很小的变化风险。

如果发生这样的更改,通过创建数据库条目比通过更改代码(并且可能必须重新分发代码,如果它不是基于Web的)更容易处理。