我们有一个ERP系统,可将其输入到SQL Server数据库中。我们有一个带有新数据类别的新产品,我需要在我们的ERP系统中创建一个字段,以容纳一系列数字。色温就是我在这里使用的示例:
范围为3000k-6500k
我的团队希望将这些数字放在一个字段中,因为它们不想在两个字段中输入数据。我觉得我们应该有2个字段的最小值和最大值。从数据库角度来看,最佳实践是什么?将数据填充到一个字段中还是将范围分为两个字段?
谢谢!
答案 0 :(得分:2)
您应该执行2个字段。诸如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