我正在寻找处理以下数据库情况的标准方法。
两个数据库表 - 一个名为Part
,一个名为Return
。在Part
中,我们有关于零件编号,成本,收到日期等的信息
Return
用于将该部分返回给供应商。它将具有回溯跟踪编号,发货日期和If Credited。
如果Return
未返回供应商,则部件只能有一个Part
,但可能没有。
我看到的3个选项是:
将Part
和Return
放在同一张表中,但我不喜欢这个想法,表会变得太大。
在“部分”表中创建一个字段,以引用与其相关的Return
记录的ID。我关注的是,Return
Part
无关的自由浮动Return
记录
在Part
表格中创建一个字段,以引用与其相关的PartId
记录的ID,使Part
字段唯一,因此我无法复制{{1 Id。
使用#2或#3是否有任何优势或劣势(或者如果这是一个可行的选择,我猜#1)?
我应该在实际中提到这些表会更大,在应用程序中我会在单独的视图中查看退货和零件信息。
答案 0 :(得分:3)
基本上你有2个实体,Part和Number,1-1关系,其中一个实体是可选的 在这种情况下,您应该为每个实体(即2个表)创建一个表,并使用Part of PK作为Return表中的引用。这是表示此类关系的标准方式。
答案 1 :(得分:2)
解决方案3: 除了你不需要对part_id有一个唯一约束外,只需将它设为PK(几乎相同)