我有一个名为 的表Device
和另一个名为 的表Action
。我将它们与两个 PK 上的连接表链接起来DeviceActions
。
这是一个简化的 ERD 模型:
如果每个设备的每个操作只记录一次DeviceActions
,则一切正常。但是,一个设备可能不止一次执行相同的操作。如果不违反和DeviceActions
上的 PK/FK 约束,我就无法将相同的操作输入表中。DeviceId
ActionId
我如何设置连接表以便它可以存储具有相同操作 ID 的相同设备 ID?
以下是我所寻找的记录示例:
设备 2536 有两次相同的操作 ID (1)。我在连接表中添加了一个 PKDeviceActions
并创建了DeviceId
FK,ActionId
但我不知道这是否是正确的方法,尤其是对于表开始增长后的性能而言:
将 ID PK 添加到 DeviceActions 表是最好的解决方法。