2 个表之间有 2 个一对多关系是否可以接受?

Is it acceptable to have 2 one to many relationships between 2 tables?

我有一个公共设施结构(电线杆、塔)的数据库,它们之间有电线。每一段电线都连接到两个结构。我需要定义结构和跨度之间的关系。

我想出了结构 A 与范围 table 中的 "from" 外键字段之间的关系以及结构 B 与范围中的 "To" 外键字段之间的关系table。这是acceptable数据库设计吗?

这是一个图表:

您的模型表明一个跨度恰好与 2 个结构相关。所以我认为你很好,那里。我唯一的评论是,使用名称 "fkFromStructureID" 和 "fkToStructureID" 你暗示了一个可能不存在的方向。这很挑剔,我承认。但是,如果您在真实模型中没有 "direction" 的概念,您可能需要考虑不同的名称。如果方向确实存在,那么这个工作正常。

注意:如果您计划能够 "walk" 使用这些 FK 字段的跨度和结构链,那么您需要确保在进入数据库的过程中管理您的方向。 From 和 To 向后的一个 span 将破坏走链的能力。

是的,这是设计数据库时很常见的要求,您的方法可能是满足此要求的最佳方式。