Sql server 2008 存储数字范围的最佳实践

Sql server 2008 存储数字范围的最佳实践,sql-server-2008,relational-database,Sql Server 2008,Relational Database,我们有一个ERP系统,它将数据输入SQL server数据库。我们有一个新产品,有一个新的数据类别,我需要在我们的ERP系统中创建一个字段来容纳一系列数字。色温是我在这里使用的示例: 范围为3000k-6500k 我的团队希望将这些数字放在一个字段中,因为他们不希望在两个字段中输入数据。我觉得我们应该有两个字段min和max。从数据库的角度来看,这里的最佳实践是什么?将数据填充到一个字段中,还是将范围拆分为两个字段 谢谢 您应该执行两个字段。比如colorRangeLow和ColorRangeH

我们有一个ERP系统,它将数据输入SQL server数据库。我们有一个新产品,有一个新的数据类别,我需要在我们的ERP系统中创建一个字段来容纳一系列数字。色温是我在这里使用的示例:

范围为3000k-6500k


我的团队希望将这些数字放在一个字段中,因为他们不希望在两个字段中输入数据。我觉得我们应该有两个字段min和max。从数据库的角度来看,这里的最佳实践是什么?将数据填充到一个字段中,还是将范围拆分为两个字段


谢谢

您应该执行两个字段。比如colorRangeLow和ColorRangeHigh。我甚至会删除K并用单位(K)命名字段列。这样,您可以将字段保存为整数,而不是nvarchar。如果范围不多,也可以使用链接表。例如,如果所有新产品的颜色范围为5个可能范围中的1个,则有一个包含所有范围的表和tinyint ID字段,然后将相应的tinyint保存到表中。从那里,您可以加入查找表并获取数据

示例1,低量程和高量程

 Table A
 ColorRangeLow(K)      ColorRangeHigh(K) 
 3000                  6500
 2800                  4200
例2,查找表

Table A (Lookup table)
Range        ID
3000-6500    1
2500-8400    2
6000-8400    3
and so on for all possible ranges

Table B (Product Table)
Product      RangeLookUp
A            2
B            3
C            2

SQL code example
SELECT * FROM TableA LEFT JOIN TableB ON TableB.RangeLookUp = TableA.ID

你应该做两个字段。比如colorRangeLow和ColorRangeHigh。我甚至会删除K并用单位(K)命名字段列。这样,您可以将字段保存为整数,而不是nvarchar。如果范围不多,也可以使用链接表。例如,如果所有新产品的颜色范围为5个可能范围中的1个,则有一个包含所有范围的表和tinyint ID字段,然后将相应的tinyint保存到表中。从那里,您可以加入查找表并获取数据

示例1,低量程和高量程

 Table A
 ColorRangeLow(K)      ColorRangeHigh(K) 
 3000                  6500
 2800                  4200
例2,查找表

Table A (Lookup table)
Range        ID
3000-6500    1
2500-8400    2
6000-8400    3
and so on for all possible ranges

Table B (Product Table)
Product      RangeLookUp
A            2
B            3
C            2

SQL code example
SELECT * FROM TableA LEFT JOIN TableB ON TableB.RangeLookUp = TableA.ID

可能重复“他们不想在两个字段中输入数据”这句话有什么可能的理由?PS(显然--)这是一个常见问题。在考虑发帖之前,请始终用谷歌搜索任何错误消息,以及你的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括你的特定字符串/名称;阅读许多答案。如果你发布一个问题,用一句话作为标题。请参阅文本上方的投票箭头鼠标。可能重复“他们不想在两个字段中输入数据”这句话有什么可能的理由?PS(显然--)这是一个常见问题。在考虑发帖之前,请始终用谷歌搜索任何错误消息,以及你的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括你的特定字符串/名称;阅读许多答案。如果你发布一个问题,用一句话作为标题。请参见文本上方的投票箭头(&S)。