将曲线数据存储在SQL Server表中

时间:2016-01-18 19:36:43

标签: sql-server json curve

我有一个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,因为我可以更好地控制数据 - 数据类型和约束。

有什么类似的经验可能是最好的方法,还是有人关心他们的想法?

1 个答案:

答案 0 :(得分:2)

我会选择1. MS SQL Server是一个关系数据库,并且存储键:值对,如选项2中的规范化,并不适合SQL Server处理。如果你真的想要选项2,我会使用SQL Server以外的东西。