有一个表或分成两个表

时间:2017-12-14 11:35:45

标签: sql sql-server

我必须下载大约10,000种证券的每日金融价格。价格将从1980年开始至今。我必须以美元和当地货币下载价格。

我的问题是,是否有两张如下表,一张是美元价格,另一张是本币。或者我应该在下面的表格中添加一个字段Currency nvarchar(3)。哪种更好的做法?

   datePrice date
   id   nvarchar(11)
   price float

1 个答案:

答案 0 :(得分:1)

不要使用2张桌子 - 这只是一个糟糕的解决方案。

我还建议添加varchar(3)字段也是一个不好的解决方案,因为您最终会有大量重复。

如果你绝对确定你只有2种货币,那么你的一个表中的2个字段就足够了(usdPrice,localPrice)。

但是,可扩展性更高的解决方案是安全表(Id /其他信息)和将外键存储回securityId的引用表,CurrencyId的外键,日期和价格