Database design 数据库设计-ERD。建模问题

Database design 数据库设计-ERD。建模问题,database-design,entity-relationship,foreign-key-relationship,erd,Database Design,Entity Relationship,Foreign Key Relationship,Erd,希望有人能很快为我推荐一种建模ERD的最佳方法(我使用的是IDEF1X&ERWin而不是Chen符号),尽管这并不重要 基本上我有三个实体 组织机构 人 受托人 商业规则规定受托人可以是个人或组织 我的问题是,与受托人有两个主要的外键关系是否正确。一个来自组织>受托人,另一个来自个人>受托人。其中,受托人的FK字段之一将始终为空,具体取决于受托人是个人还是组织 或者最好在个人和组织(个人组织)之间建立某种关联表,并从个人组织>受托人创建PK、FK关系 第二种选择似乎更好,因为可能还有其他实体也需

希望有人能很快为我推荐一种建模ERD的最佳方法(我使用的是IDEF1X&ERWin而不是Chen符号),尽管这并不重要

基本上我有三个实体

  • 组织机构
  • 受托人
  • 商业规则规定受托人可以是个人或组织

    我的问题是,与受托人有两个主要的外键关系是否正确。一个来自组织>受托人,另一个来自个人>受托人。其中,受托人的FK字段之一将始终为空,具体取决于受托人是个人还是组织

    或者最好在个人和组织(个人组织)之间建立某种关联表,并从个人组织>受托人创建PK、FK关系

    第二种选择似乎更好,因为可能还有其他实体也需要链接到组织和个人

    希望这是有道理的


    在我看来,受托人只是一个人在组织中可以扮演的角色的一个例子。所以说真的,我们说的是一个三方协会,个人,组织,角色,三者都是主要的关键。现在,这可以分解为个人、组织、职位,但我的偏好是不要走那么远。

    编辑

    嗯,这也应该有效:


    你好,贾斯汀。非常感谢您的回复。如果某人未与任何组织关联,您的解决方案是否仍然有效?实际的表将是(person\u id、org\u id、role\u id),因此您仍将有一个person表,其中可能有关联中未引用的行。为建议干杯。很明显,我仍在学习,因此非常感谢您提出的任何解决方案。我很高兴。现在我看到了达米尔的解决方案,我意识到我解决了错误的问题菲达米尔,太好了。我确实考虑过supertype子类型方法,但我也有一些其他实体,可以是组织或个人,它们之间的关系不足以合并到一个通用的supertype中,例如Trusteer,利益相关者和股东。在我看来,像利益相关者和股东这样的实体实际上是一个人或一个组织都可以履行的角色,就像Justin K的例子。Damir,非常感谢ERD,一旦有人为你做了这件事,它总是那么明显。非常感谢!:)我可能会使用这个解决方案,看看结果如何(如果一切顺利,甚至可以用你的名字命名属性!哈哈)