我正在开展一个学校项目,该项目需要创建一个ER图和一个从该图中派生出来的数据库模式。该模式具有一些非常严格的大小要求(不超过x个表)。我遇到了一个问题,我的一些实体遵循“is-a”类型关系,最好用EER模型描述,我们不允许使用它。这是我正在努力实现的非常粗略的概述:
我需要跟踪几个具有许多(完全独特的属性)的独特[部分]。它们都共享一些属性,如(QuantityInStock)。我有[机器] 使用任何这些不同[部分]的任何(数量)。
如果我遵循ER模型,我相信机器将与每种独特的零件类型具有单独的M对N关系。应该将每个M-to-N关系转换为自己的表。由于我们允许拥有严格的最大表数,因此这是不可能的。
如果我遵循EER模型,翻译过程只会生成一个或两个额外的表 - 而不是每个[Part]的另一个表。
我需要完成的是以某种方式将“is-a”关系(即[ThisPartType]“is-a”[Part])转换为在ER模型中工作的东西。我需要一些方法将不同的独特部件与使用这些部件的机器联系起来。
举一个我想要的例子:
机器A使用PartA [1]中的30个,PartB [21]中的47个,PartC中的22个[18]和PartD [54]中的3个。
机器B使用PartC [12]中的8个和PartD [44]中的1个。
机器C使用PartF [0]中的1个和PartZ [28]中的5个。
我想访问PartB [21](半径,线程宽度)的唯一信息位,以及查询所有PartC中最重的部分。但我还需要能够以不需要更多表的方式将这些部件分配给机器。
我希望这有点道理。感谢您提供的任何提示。