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