2012-09-06 43 views
0

我需要保留对发票付款的记录。我有一个付款表,有几个字段。我需要存储在特定付款中使用的发票。付款发票关系是一对多的。我无法改变这一点。我是否创建一个存储以逗号分隔的发票的字段,还是创建一个新表来存储这些发票?SQL Server 2008 R2逗号分隔字段与新表,优点和缺点?

注意:当我提到发票时,我只是指发票号码(它是唯一标识符)。

这两种方法的优点和缺点是什么?

回答

2

除了没有(甚至不1NF指出一个属性(列)需要有不同值,即没有几个)被归一化,也有关于许多问题 - 索引,连接,查询和多用一个“逗号分隔的字段”。

总之 - 你犯了一个新的表,这些发票存放在

0

我的建议是使用单独的表,并参照键列。其优点是

  1. 便于查询
  2. 性能改进
  3. 索引创建
  4. 易于阅读和更多...

有关详细信息阅读 - 正常化。