
我现在正在设计的数据库中有上面的表,在MySQL中。该数据库的主要目的是为数据库创建材料清单,并加强对这些材料清单的修订控制。
部件表遵循单表继承,有3种不同类型的部件:连接器、终端、密封件。
每种类型的简介
连接器:这些是汽车级连接器,用于制造汽车线束。
终端:连接器中插入了卷曲的电线。终端被卷曲在电线上,以建立无焊点.当连接者在一辆车中与其对应者交配时,这些终端就会与相应的终端交配。
密封件:这是一种特殊类型的密封件,插入到电线上,以防止水/灰尘进入互连线。
连接器可以与多种类型的终端一起使用,也可以与多种类型的连接器一起使用。
连接器和密封之间的关系是相似的。封口和终端没有关系。
我的目标是:
我对数据库设计很陌生,我很难从树林中看到森林。就我个人而言,我认为我应该放弃单一表格的想法,用单独的表格来连接,密封和终端,并制定它们之间的关系。
这仍然回答了我如何可以显示替代品和反部件连接器。
发布于 2014-09-27 10:15:09
如果您正在寻找单表继承的替代方案,请查找类表继承。在您的例子中,这意味着四个表代替了部件:部件、连接器、密封条和终端。如果最后三个表中的每个表都使用了parts表中的共享主键,那么您将强制执行"is-a“关系的1到1性质,而不是相互排斥的特性。
更重要的是,你还没有在你的口头描述中描述部分和其他部分之间的关系。这些关系可能是您创建的BOMS中固有的,但它们在这里并不明显。如果您对这些关系进行建模,它会使数据库更有功能吗?我不知道,随便。
如果您有困难看到森林的树木,这可能是你试图设计的解决方案,而没有分析问题。我发现用ER模型分析主题是很方便的。这将主题分解为实体、关系和属性,但没有提到表设计。提示:您的模型是关系模型,而不是ER模型,即使您使用ER图解约定。同样,在我的经验中,一旦我有了一个描述问题的ER模型,那么设计一个设计解决方案的关系模型就很容易(虽然繁琐)。
https://stackoverflow.com/questions/26072974
复制相似问题