Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ER图:具有父关系的产品_Sql_Entity Relationship - Fatal编程技术网

Sql ER图:具有父关系的产品

Sql ER图:具有父关系的产品,sql,entity-relationship,Sql,Entity Relationship,你好,我有以下情况: 我有一个产品实例表,它只是一个已经分配给部门和员工的产品 好吧,但我有以下业务逻辑:产品可以是设备,也可以是组件,也就是说,产品可以有子产品 思考电脑机箱如何是一个具有遗产代码的设备,并且具有子产品(组件),例如: 主板, 回忆录, vga 等等 所有这些部件都连接到设备上 我用更少的桌子达成了这个目标: 但我遇到了一些问题: 我的组件不需要部门id,因为它们不属于该部门,而是属于该部门的设备 所以我来做这个建模,但我不知道这样做是否是一件好事,有没有人能帮我找到一个更

你好,我有以下情况:

我有一个产品实例表,它只是一个已经分配给部门和员工的产品

好吧,但我有以下业务逻辑:产品可以是设备,也可以是组件,也就是说,产品可以有子产品

思考电脑机箱如何是一个具有遗产代码的设备,并且具有子产品(组件),例如: 主板, 回忆录, vga

等等 所有这些部件都连接到设备上

我用更少的桌子达成了这个目标:

但我遇到了一些问题: 我的组件不需要部门id,因为它们不属于该部门,而是属于该部门的设备


所以我来做这个建模,但我不知道这样做是否是一件好事,有没有人能帮我找到一个更干净/更坚固的解决方案?

如果我正确理解了你的描述,只有一件设备可以直接分配给一个部门,不是构成设备的单个组件

假设是这样的话,我建议你把这个问题分成两个独立的任务,因为它们实际上是不相关的,试图将它们作为一个单一的模型来处理会引起混淆:

  • 为设备实例和部门之间的关系建模
  • 对组成设备的组件(及其实例)的层次结构进行建模
  • 一旦你有了这两个模型,如果你需要的话,你可以将它们联系起来,但是逻辑上它们是分开的,你可以在不影响另一个的情况下改变其中一个

    希望这有帮助

    更新1 (回答您的问题)

    您构建了1个子模型,其中包括设备实体和描述产品建模方式的组件实体(以及任何其他相关实体)

    构建第二个子模型,描述如何将设备分配给部门


    两个子模型共用的唯一实体是设备实体;但是,显然,如果需要,您可以在同一个图表上显示两个子模型-即使它们在逻辑上是分开的(除了一个公共实体:设备)

    不是一个拥有一个或多个设备的部门,并且设备是一个产品,其组成中可以有一个或多个组件。2。我不明白,你能给我举个例子吗?在什么情况下,你说我在这个主题上提出的第二个建模选项似乎是正确的?换句话说,一个设备的例子:它是一台计算机,它的组成是一个或多个产品。你能给我一个关于这个子模型的简单例子吗?我不明白怎么工作。