Я просматриваю модель базы данных. Мне нужна помощь с частью модели. На этом этапе меня интересует только логическая модель, а не реализация. Я хочу принять наилучшую практику.Схема данных для сложных объектов - этот подход проще
Краткое описание проблемы
База данных используется приложение, которое управляет судебных дел в юридической фирме.
В каждом случае имеется несколько сторон. (По партийным вопросам я имею в виду какое-то юридическое лицо в реальном мире, у которого есть доля в деле.)
Существует около 40 различных типов сторон.
2 из этих типов могут быть одним человеком, единой организацией или несколькими лицами и/или организациями, объединенными в любой комбинации.
Другие 38 типов могут быть как отдельным человеком, так и отдельной организацией.
Каждый случай всегда имеет две стороны сложных типов (то есть потенциально сочетание лиц и организаций).
Обычно на каждый случай приходится от 5 до 10 партий.
Опции
Каждая сторона моделируется как потенциально combintation любого числа лиц и организаций. Таблицы будут выглядеть следующим образом:
- Case
<
- CasePartyAssignment ->
партия
Где все стороны потенциально сочетание лиц и организаций: - партии
<-
PartyPersonAssignment->
Person - партия
<-
PartyOrgAssignment->
Организация
- Case
В качестве альтернативы, я моделирую это с 3 различными типами таблиц CasePartyAssignment.
Первый такой же, как 1 выше, которая охватывает сложный сценарий:
Case
<-
CaseComplexPartyAssignment->
ComplexPartyВ дополнение добавить специальные таблицы для простых сценариев:
Дело
<-
CasePersonAssignment->
Лицо- Case
<-
CaseOrgAssignment->
Организация
Как я понимаю, оба варианта имеют свои преимущества и недостатки. Например, в варианте 1 я создаю единственный способ хранения данных, который сам по себе является простым из-за согласованности. Но это означает, что я также моделирую ту вечеринку, которую я знаю, - это простой Человек, использующий PartyPersonAssignment, предназначенный для моделирования сложной вечеринки.
У кого-нибудь есть какие-либо соображения или мнения об этих параметрах?
Спасибо за ваш вклад. Я продолжу вариант 1. – emeargnc