如果不知道所有细节,比如什么材料、工艺等,很难确定什么是最好的,但这里有一个选择:
您将有一个装配表,其中将包含每个装配的 ID 和一个用于跟踪 Parts 表中的 Part_ID 的列。您将拥有一个零件表,其中每个零件都有自己的唯一 ID。仅使用零件信息(如序列号、描述等)创建零件表,并对材料、工艺、工具等执行相同操作。然后您可以创建表将它们链接在一起。因此,您将拥有一个包含 part_id 和 material_id 的表。这样,一个零件可以与许多材料相关联,而不止一个零件可以与同一材料相关联。对于其他关系(零件到流程)、(零件到工具)等也可以这样做。
您不想将装配 ID 存储在零件表中,因为一个零件可能是多个不同装配的一部分。更好的选择是让装配表包含唯一的 ID,可能还有名称和描述信息,然后让另一个表跟踪哪些部件进入装配。
因此,将其分解:(*已编辑以反映多对多关系)
Assembly Parts Material Parts_Materials etc
-------- ----- -------- ------- -----
ID (PK) Parts_ID (PK) Material_ID (PK) Part_ID
Parts_ID (FK) Attribute1 Attribute1 Material_ID
Attribute2 Attribute2
... ...
就 db 而言,您可能会发现 Access 易于使用并且一开始会理解您的想法,但最终会希望转换为 SQL 数据库。