【发布时间】:2023-04-08 15:32:01
【问题描述】:
我有一个非常具体的数据库。该数据库包含 4 个表。
我有一个组件表。此组件表将始终有一个系统。 系统可能有多个子系统。 每个子系统可以有多个部分。
这意味着为了拥有一个零件,我必须有一个子系统,而要拥有那个子系统,我必须有一个系统。
一个部分始终与一个子系统相关,而该子系统将始终仅与一个系统相关。
问题出在组件上……因为必须有一个系统,而不是一个子系统,因此不是一个部件。
如果我在零件和组件之间创建关系,我将能够知道哪个子系统以及关系中的系统。但是当我只有一个系统时会发生什么?这样我就无法找回系统了。
我的想法是将子系统和系统直接与组件相关联。在组件上总共有 3 个关系。但是那样的话,如果我有一个零件,那么子系统和组件之间的关系将包含已经存在于零件-组件关系中的信息。系统-组件关系也是如此。
如何删除重复的信息?
编辑
为了便于阅读,我将复制@duffymo 的摘要,但有一处更正:
- 四个实体:组件、系统、子系统和部件
- 组件系统是 1:many
- 系统子系统是 0:many
- 子系统部分是 0:many
【问题讨论】: