对计算列进行非规范化时有哪些权衡取舍?

时间:2010-11-30 15:36:53

标签: sql-server database-design normalization calculated-columns

我希望我不会在这里提出一个太明显的问题。

对于我目前的项目,我正在使用sql server 2008设计一个相对简单的数据库。对于其中一个表,我决定引入一个“计算列”(不保留)。它的表达式只是2个其他数字列的产物,它存在的唯一原因是方便(我正在对网页进行一些单向数据绑定)。

但我意识到使用计算列违反了第一个普通形式。这让我感到疑惑:Wat是权衡利弊?如果计算列的唯一原因是方便,它是否超过非规范化?

2 个答案:

答案 0 :(得分:1)

“使用计算列违反了第一个普通形式”:完全没有!它没有存储,它会随时使用最新数据重新计算。所以这是一个很好的解决方案,就像在视图中有一个计算列一样。

答案 1 :(得分:0)

  

它的表达只是产品   其他2个数字列及其中   存在的唯一理由是   方便(我正在做一些单向的   数据绑定到网页。)

然后将计算放在SELECT语句中,而不是放入数据库中。