我有一个SQL Server表,我需要在其中存储每日利率数据。
每天都会针对多个时段发布费率。例如,1天的费率可能是0.12%,180天的费率可能是0.070%,依此类推。
我正在考虑存储数据的两个选项。
一个选项是为日期创建列,"天"和率:
Date | Days | Rate
=========================
11/16/2015 | 1 | 0.12
11/16/2015 | 90 | 0.12
11/16/2015 | 180 | 0.7
11/16/2015 | 365 | 0.97
另一个选择是存储"天"并通过JSON字符串(或XML。)
进行评分Date | Rates
=============================================================
11/16/2015 | { {1,0.12}, {90,0.12}, {180, 0.7}, {365, 0.97} }
仅通过批量插入导入数据;当我们需要删除时,我们只删除所有记录并重新导入;没有必要更新。因此,我的需求主要是将指定日期或日期范围的速率读入.NET应用程序进行处理。
我喜欢选项2(JSON) - 在我的应用程序中创建对象会更容易;但我也喜欢选项1,因为我可以更好地控制数据 - 数据类型和约束。
有什么类似的经验可能是最好的方法,还是有人关心他们的想法?
答案 0 :(得分:2)
我会选择1. MS SQL Server是一个关系数据库,并且存储键:值对,如选项2中的规范化,并不适合SQL Server处理。如果你真的想要选项2,我会使用SQL Server以外的东西。