SQL - 引用“替换”事件

时间:2017-06-26 16:44:44

标签: sql database database-design

如果这个问题的标题不是很明确,我很抱歉 - 我不确定该怎么命名。

假设我正在设计一个跟踪无人机附着传感器的数据库。这些传感器有时会老化,需要更换。我想保留这些事件的记录。我正在跟踪每个传感器的维护记录。因此,有一个SensorWork表,我可以跟踪特定传感器上的所有维护工作。

我想跟踪传感器A何时替换传感器B - 我希望能够打印出“传感器A替换传感器B”的记录。所以在我的SensorWork表中,我想跟踪替换。但是我该怎么做?我不想存储两个传感器的ID,因为这两个传感器都已存储在DroneSensor表中,因此在SensorWork表中包含新传感器和旧传感器的ID将是多余的。我认为问题出现了,因为理想情况下我想引用“替换事件”,但“替换事件”实际上是DroneSensor表中的两行。我知道我可以通过存储DroneSensorID的ID然后使用日期字段来查找前一个传感器来实现。如果需要,我会这样做,但我想避免根据日期字段来做。理想情况下,我想要一些方法来轻松跟踪测量特定属性的传感器序列(例如,我希望看到测量温度的所有传感器的历史“序列” - 我假设只有一个传感器将一次测量温度。)考虑到传感器在一天被移除而在几天之后不被替换的潜在情况也是很好的,因此记录中存在短暂的间隙。我觉得我可能会错过一些明显的解决方案 - 但也许我不是。

这是一个简化的数据库图表:

Simplified DB Diagram

有什么建议吗?

0 个答案:

没有答案