数据库设计:引用多个连接的表

时间:2018-12-03 20:18:53

标签: database-design database-schema

抱歉,标题模糊,但我不知道该如何精确地解决我的问题...

我的问题基于以下条件:

  • 名为“ components”的表,其中包含一些带有其附加信息的组件
  • 名为“ specifications”的表,其中包含一些规范及其附加信息,其中每个规范都完全属于一个组件

    到目前为止,我遵循标准的“一对多”方法,使用“组件”的ID作为“规范”中的外键。现在,这是我的问题:我想要有一个名为“方案”的第三张表,该表在每行中(除其他信息外)存储着“组件”中每个可能的组件,正是这些规范之一属于此组件。我怎样才能做到这一点?

    我想到的一种方法是在每个组件的“方案”中添加一列-像这样:

    --------------------------------
    | component_id | component_name |
    --------------------------------
    |   1          |   C1           |
    |   2          |   C2           |
    --------------------------------
    
    -------------------------------------------------------
    | specification_id | component_id | specification_name |
    -------------------------------------------------------
    |   1              |   1          |   S1               |
    |   2              |   1          |   S2               |
    |   3              |   2          |   S3               |
    |   4              |   2          |   S4               |
    -------------------------------------------------------
    
    ----------------------------------------------------------------------------------------------------
    | scenario_id | specification_id_for_component_with_id_1 | specification_id_for_component_with_id_2 |
    ----------------------------------------------------------------------------------------------------
    |   1         |   2                                      |   3                                      |
    ----------------------------------------------------------------------------------------------------

    但是我想确保这些规范确实存在并且属于所引用的组件。此外,对于每个新组件,都必须更改“方案”表。必须有更好的方法...

  • 0 个答案:

    没有答案