默认值存储

时间:2009-07-17 11:48:25

标签: .net sql-server design-patterns configuration default-value

我有以下三个表:

  • 项目
  • ItemCode(项目与代码之间的多对多关系)

然后我在第三个表上有以下示例数据:

Item | Code
-----+-----
001  | A
002  | A
003  | B

有可能添加了一个新项目,但还没有代码。我将为此项目分配默认代码,例如“Z”。

我的问题是,哪个更好:

  • 每次创建新项目时在ItemCode表中添加一个条目(代码值为“Z”)

OR

  • 从配置文件中检索默认值(并将ItemCode表保持清除默认值条目)

其他注意事项:无论是否为项目分配了代码,都将始终返回默认代码。因此,上述数据的结果将是:

Code A: Item 001, Item 002
Code B: Item 003
Code Z: Item 001, Item 002, Item 003

1 个答案:

答案 0 :(得分:1)

要么:在知道代码(从文件中读取)之前,不要在ItemCode中放置一行

或者:使CodeCode中的Code列可以为空,因此它是Unknown / Undefined(取决于你的迂腐)并且左连接/ isnull。

我个人不喜欢存储“默认”或“占位符”值。如果您不知道代码,那么什么都不知道。如果你有2个新项目怎么办?

另一个问题是:你能否在客户端处理这个问题?