3

希望有人能够快速建议我建立ERD模型的最佳方法(我使用的是IDEF1X & ERWin而不是陈述),但它并不重要。数据库设计 - ERD。建模问题

基本上我有三个实体

  1. 组织
  2. 受托人

业务规则规定,受托人可以是个人或组织。

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

或者在个人与组织(person_organisation)之间建立某种关联表并从person_Organisation> Trustee创建PK,FK关系会更好吗?

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

希望这是有道理的。

许多许多在此先感谢

回答

2

trustee_model

编辑

那么,这应该工作太:

trustee_model_2

+0

嗨达米尔,多棒。 我曾考虑过超类型子类型方法,但我也有一些其他实体可以是组织或人员,这些实体可能不够相关,不足以卷入一个通用超类型,例如受托人,利益相关者和股东。 – Pixelated 2010-07-26 17:05:07

+0

听起来像我这样的实体像利益相关者和股东实际上是一个人或组织可以履行的角色,就像贾斯廷K的例子。 – 2010-07-27 02:56:37

+0

达米尔,非常感谢ERD,一旦有人为你做了它,它总是显得如此明显。非常感谢!:) 我可能会去这个解决方案,看看事情如何平移(甚至可以命名属性后,如果一切顺利!)大声笑) – Pixelated 2010-07-27 08:23:37

1

在我看来,该受托人只是一个角色的人可以在组织中扮演的例子。所以真的,我们正在谈论一个三方联系Person_Organization_Role,其中三个都是主键。现在,这可以分解成Person_Organization> PO_Role,但我的首选是不要采取那么远的事情。

+0

您好贾斯汀。非常感谢回复。 如果一个人没有被任何组织困扰,你的解决方案是否仍然有效? – Pixelated 2010-07-26 15:35:39

+0

实际的表格应该是(person_id,org_id,role_id),所以你仍然会有一个Person表格,并且可能有关联中没有引用的行。 – 2010-07-26 15:51:18

+0

欢呼的建议。我显然还在学习如此非常赞赏你的任何解决方案。 – Pixelated 2010-07-27 08:20:32