在数据库中存储许多产品的许多日期



我目前在数据库中存储了"许多"产品(6k到14k(。我现在需要每个产品的价格历史,具体来说:每天20个价格。

在关系数据库中,我会使用两个表,其中一个描述项目,另一个描述特定时间的价格。

因此,一个产品有一个价格历史。

使用关系数据库是一种合适的方法吗(几个月后,数据库中有数百万个数据点(,或者如果合适的话,你会使用例如influence吗?

如果您有其他与日期相关的字段,那么您需要三个表:

  • 产品(祖父母(
  • DateHistory(Product的子项,PriceHistory的父项(
  • PriceHistory(子代到DateHistory,孙代到产品(

中间的表保存日期,第三个表保存一天中的时间,带有DateHistory的外键。

如果日期中没有其他列,则折叠为两个表。

  • 产品
  • PriceHistory(列包括主键、产品外键、日期、时间和价格(

在这个两列方案中,如果您需要在一个日期的不同时间表示二十个价格,那么您有二十个PriceHistory行恰好共享相同的日期值。

如果您的数据库提供了强大的日期时间处理功能,那么您可以将日期和时间组合到一个字段中。让数据库在需要时使用其理解日期-时间值的能力按日期分组。

最新更新