代码之家  ›  专栏  ›  技术社区  ›  GH DevOps

多对多关系中同类型的SQL Server关系表设计

  •  0
  • GH DevOps  · 技术社区  · 6 月前

    我有一张桌子叫 Device ,另一张名为 Action 。我把它们和我的连接表连接起来 DeviceActions 在两个PK上。

    这是一个简化的ERD模型:

    DeviceERD

    如果内部每个设备的每个操作只记录一次 设备操作 一切都很好。然而,一个设备可能多次执行相同的操作。我不能在 设备操作 在不违反PK/FK约束的情况下 DeviceId ActionId .

    我如何设置我的连接表,以便它可以存储具有相同操作Id的相同设备Id?

    以下是我正在寻找的记录示例:

    DeviceDataExample

    设备2536两次具有相同的动作Id(1)。我添加了PK 设备操作 并制作 设备ID ActionId FK在连接表中,但我不知道这是否是正确的方法,尤其是在表开始增长时:

    New Device ERD

    1 回复  |  直到 6 月前
        1
  •  1
  •   Bart McEndree    6 月前

    将ID PK添加到DeviceActions表是最好的解决方案。