将曲线数据存储在 SQL 服务器 table

Store Curve Data in SQL Server table

我有一个 SQL 服务器 table,我需要在其中存储每日利率数据。

每天都会发布多个时间段的费率。例如,1 天的利率可能是 0.12%,180 天的利率可能是 0.070% 等等。

我正在考虑 2 个存储数据的选项。

一个选项是为日期、"days" 和汇率创建列:

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。)存储 "days" 和评分

Date       | Rates
=============================================================
11/16/2015 | { {1,0.12}, {90,0.12}, {180, 0.7}, {365, 0.97} }

仅通过批量插入导入数据;当我们需要删除时,我们将删除所有记录并重新导入;无需更新。所以我的主要需求是将指定日期或日期范围的汇率读入 .NET 应用程序进行处理。

我喜欢选项 2 (JSON) - 在我的应用程序中创建对象会更容易;但我也喜欢选项 1,因为我可以更好地控制数据 - 数据类型和约束。

有没有关于什么是最佳方法的类似经验,或者有人愿意提出他们的想法吗?

我会选择选项 1。MS SQL 服务器是一个关系数据库,存储 key:value 对如选项 2 未规范化,并且对于 SQL 来说效率不高服务器来处理。如果你真的想要选项 2,我会使用 SQL Server 以外的东西。