Разработка базы данных - ERD.Вопрос о моделировании - PullRequest
3 голосов
/ 26 июля 2010

Надеюсь, кто-то сможет быстро посоветовать мне лучший способ смоделировать мой ERD (я использую IDEF1X и ER, а не нотацию Чена), хотя это не имеет большого значения

В основном у меня есть три организации

  1. Организация
  2. Лицо
  3. Доверительный управляющий

Бизнес-правила утверждают, что Доверительный управляющийможет быть как человеком, так и организацией.

Мой вопрос: было бы правильно иметь два основных отношения с внешним ключом к Доверительному управляющему.Один от Организации> Попечитель и второй от Персона> Попечитель.Где одно из полей FK Доверительного управляющего всегда будет NULL в зависимости от того, является ли Доверительный управляющий физическим или юридическим лицом.

Или было бы лучше иметь какую-то ассоциативную таблицу между человеком и организацией (person_organisation) и создать отношение PK, FK от person_Organisation> Trustee.

Второй вариант выглядит лучше, поскольку могут существовать другие объекты, которые также должны иметь связь как с Организацией, так и с персоналом.

Надеюсь, это имеет смысл.

Большое спасибо заранее

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

trustee_model

РЕДАКТИРОВАТЬ

Ну, это тоже должно работать:

trustee_model_2

1 голос
/ 26 июля 2010

Мне кажется, что Доверительный управляющий - это только один пример роли, которую человек может сыграть в организации.Итак, на самом деле, мы говорим о трехсторонней ассоциации Person_Organization_Role, где все три являются первичным ключом.Теперь это можно разбить на Person_Organization> PO_Role, но я предпочитаю не заходить так далеко.

...