我有大约250种产品,它们都有52周的历史和52周的预测。我需要将这些数字存储在SQL中,但无法找出最佳方法。我以前只使用过几次数据库,所以我的知识非常有限......
我考虑过使用纯文本和读/写分隔符。但它在很多方面感觉很糟糕,并使整个数据库变得毫无用处。
然后我想在桌子上添加52列,但我读到这是一个坏主意。
所以现在我回到了我开始的地方,它只是一张带有
的桌子[ID] [WEEK_NUMBERS] [HISTORY_NUMBERS] [FORECAST_NUMBERS]
这是最好的方法吗?
~25000-30000行不是问题吗?
答案 0 :(得分:2)
你会使用这样的表:
create table ProductHistory (
ProductHistoryId int identity primary key,
ProductId int not null references Products(ProductId),
Type varchar(255) not null,
Week date not null, -- storing this as a date is a guess
Number decimal(38, 10), -- should probably be decimal, but the scale and precision might be overkill,
constraint chk_ProductHistory_type (type in ('Forecast', 'Actual')
);
这是一个例子。目前还不清楚:
week
?Number
的正确类型是什么?但这个想法是一样的。 。 。每个产品/周组合至少一行。