【发布时间】:2012-09-06 09:29:37
【问题描述】:
我需要记录根据发票支付的款项。我有一个带有几个字段的付款表。我需要存储在特定付款中使用的发票。付款到发票的关系是一对多。我无法改变这一点。我是创建一个字段来存储用逗号分隔的发票,还是创建一个新表来存储这些发票?
注意:当我说发票时,我只是指发票号(它是唯一标识符)。
这两种方法的优缺点是什么?
【问题讨论】:
标签: sql-server database-design
我需要记录根据发票支付的款项。我有一个带有几个字段的付款表。我需要存储在特定付款中使用的发票。付款到发票的关系是一对多。我无法改变这一点。我是创建一个字段来存储用逗号分隔的发票,还是创建一个新表来存储这些发票?
注意:当我说发票时,我只是指发票号(它是唯一标识符)。
这两种方法的优缺点是什么?
【问题讨论】:
标签: sql-server database-design
除了根本没有被规范化(甚至1NF 声明一个属性(列)需要具有不同 值,即不是多个)之外,还有很多关于索引的问题,使用“逗号分隔字段”进行连接、查询等操作。
简而言之 - 您创建一个新表来存储这些发票。
【讨论】:
我的建议是使用单独的表格并参考关键列。优点是
有关更多详细信息,请阅读 - 规范化。
【讨论】: