Разработка базы данных - ERD. Вопрос о моделировании

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

В основном у меня есть три сущности

  1. организация
  2. Человек
  3. попечитель

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

Мой вопрос: правильно ли было бы иметь два основных отношения с внешним ключом к Доверительному управляющему. Один от Организации> Попечитель и второй от Персона> Попечитель. Где одно из полей FK Доверительного управляющего всегда будет НЕДЕЙСТВИТЕЛЬНО в зависимости от того, является ли Доверительный управляющий физическим или юридическим лицом.

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

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

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

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

2 ответа

Решение

trustee_model

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

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

trustee_model_2

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

Другие вопросы по тегам