对于学校项目,我们必须创建自己的数据库。我决定创建一个数据库来管理我的电子元件库存。作为一项要求,我们需要创建一个 ER 图,然后从该图中派生数据库模式。对我来说不幸的是,教授认为我创建的图表可以简化,“部分”实体是不必要的。
如果我删除 Part 实体,那么为了让 Circuit 实体“使用”任意数量的任意部分,并使每个部分与可能的任何电路相关联,我将必须与每个组件建立单独的 M-to-N 关系类型到电路。这些关系中的每一个都会生成一个新表。这肯定会超过项目允许的严格的最大表数。
如果教授特别提到部分是不必要的,那么必须有某种方法将其删除,从而产生更简单的 ER 图和模式 - 但我看不出它是什么。
也许你们可以看到它是什么并给我一个提示?
编辑:丹 W 有一个很好的建议。我可以通过为每种零件类型(电容器、电阻器等)提供自己的密钥来消除零件。然后在使用部分内部,包括这些组件的外键。我不得不假设表的每个条目只与一个部分相关联,其余部分为空。这是生成的架构。此架构应该运行良好。但现在我必须弄清楚对 ER 图的哪些修改与该模式相对应。
EDIT2:我得出的结论是,我正在寻找的关系是 n-ary。根据几个来源,要将 n 元转换为模式,您需要将每个参与实体类型的关系的主键作为外键包含在内。然后添加简单的属性。这就是我想出的。