仅用于存储时间序列数据的DB的ER图看起来合适吗?第一次尝试数据库设计

时间:2019-04-23 01:52:12

标签: database-design

ERD Picture

我正在设计一个数据库,用于存储各种类型的熔炉的时序操作数据(能耗,温度等)。这是我第一次尝试DB设计,所以我希望它不会成为垃圾!

数据库的一些用法示例如下(例如,我们存储5个炉子的数据):

  • 用户指定时间范围(例如2018年5月1日至2018年6月1日)和参数(例如能耗),并可以检索1至5号炉的2018年5月1日至2018年6月1日能耗的时间序列数据。
  • 用户指定一个炉子(例如5号炉)和一个时间段,并检索许多参数的时间序列数据

  • 用户为电炉2指定数据类别(例如“电气”),并检索所有时间序列数据以获取电参数(能耗,电压等)

等等。

如果不清楚,这里是ERD中某些表/属性的描述:

值:表中的实际数据点(值)和一个复合主键,以赋予数据点唯一性,其中包含time_value,series_id和parameter_id。请注意,我用来设计ERD的软件不允许使用复合主键(仅将time_value加粗),但希望可以从series_id_alsoPK和parameter_id_alsoPK的标题中清楚看出,它们包含在PK中以形成复合键

参数:这代表每个时间序列数据集的“变量名称”,例如功率,温度,产气率

类别:多个变量名称将归为一个类别,例如,电源,电流将归入“电气”类别,而天然气产量将归入“过程”类别

系列:对于每个操作和参数,每个时间系列数据集都将具有唯一的系列ID。例如,series_ID 1是2019年3月1日至3月3日炉3的天然气生产率。Series_ID 2是同一时期的炉1的天然气生产率。等

操作和fce_type:操作可能是“巴西熔炉5”,类型可能是“感应炉”

我想知道我是否在正确的轨道上。 “值”表的复合键是解决此问题的最佳方法吗?这是处理大型时间序列数据集的最有效方法吗?我经历了NF1-4,从这个角度来看我认为还可以。

0 个答案:

没有答案