代码之家  ›  专栏  ›  技术社区  ›  HaxElit

数据库模型相关关系

  •  2
  • HaxElit  · 技术社区  · 14 年前

    一张照片更公正,所以我先从它开始。

    因此,在我的关系类型表中,我有几个不同的类型(所有者、审阅者、审批者等)。
    在我的关系“状态表”中,某些类型的“状态”不同:

    < Buff行情>

    审查人:(待定反馈,收到反馈)
    批准人:(待定、批准、拒绝)

    < /块引用>

    我的问题是,我不知道如何实施关系,如果关系类型为反馈,则表示 ,将状态限制为仅反馈状态。
    现在,这种建模方式,反馈的关系类型可以具有任何逻辑不一致的状态。此外,并非所有类型都有状态。

    那么,有什么关于如何建模的技巧来加强这种依赖性吗?

    谢谢,劳尔

    因此,在我的关系类型表中,我有几个不同的类型(所有者、审阅者、审批者等)。
    在我的关系“状态表”中,我对某些类型具有不同的状态:

    审查人:(等待反馈,收到反馈)
    批准人:(待定决定、批准、拒绝)

    我的问题是我不知道如何加强这种关系 如果关系类型为反馈,则将状态限制为仅反馈状态' .
    现在,这种建模方式,反馈的关系类型可以具有任何逻辑不一致的状态。而且,并非所有类型都具有状态。

    那么,有什么关于如何建模的技巧来加强这种依赖性吗?

    谢谢,劳尔

    3 回复  |  直到 14 年前
        1
  •  0
  •   Jeff Mattfield    14 年前

    也许您需要一个组合的外键 Status_Id 具有 Type_Id .

        2
  •  1
  •   joelt    14 年前

    您可以创建另一个表 TypeStatus(ID, Type_Id, Status_Id) . 它将有FK到“类型”和“状态”表,并且“关系”表将有一个FK到这个新表,而不是两个FK到现有表。我想,您还可以从状态表中删除_type_i d列。

        3
  •  0
  •   bobs    14 年前

    我会把 Project_Resource_Relation_Type_Id 列从 Project_Resource_Relation 表。这将从中移除关系 项目资源关系 Project_Resource_Relation_Type.

    关系类型已与 项目资源关系 通过表 Project_Resource_Relation_Status 表。这个 项目资源关系状态 表已强制类型和状态之间的关系。