Как смоделировать, является ли значение исходным или измененным значением? - PullRequest
0 голосов
/ 08 ноября 2019

Я создам приложение для управления, и у меня есть некоторые проблемы с моделированием базы данных.

У меня есть такой случай:
- у организации есть несколько услуг для продажи (смоделировано с помощью таблицы «Prestation»). ).
- организация имеет клиентов (смоделирована с помощью таблицы «клиент»).
- у клиента есть контракты, и контракт может иметь поправки к контракту (контакт - это «контрат», а изменение - «авенант» в схеме).

Когда клиент подписал контракт,у него есть услуги, связанные с этим контрактом (который я смоделировал с помощью «prestclient»).
У каждой услуги есть своя цена, связанная с договором.

Моя проблема в том, что, когда цена изменяется из-за изменения, я не могу сказать из таблицы «prestclient», является ли цена первоначальной ценойиз контракта или из-за изменения этого контракта.


Итак, мой вопрос: как я могу изменить мою схему, чтобы получить эту информацию?

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

Вот моя модель (как новичок):

My MCD

1 Ответ

2 голосов
/ 08 ноября 2019

Если вы хотите узнать только, является ли цена оригинальной или измененной, вы можете добавить логический столбец к предварительному клиенту 'isOriginal'.

Если вы хотите точно знать, какие изменения применяются, вам нужно сделатьБольше. Я предполагаю, что поправка может обновлять несколько цен, а цена может быть изменена несколькими поправками. В этом случае вы можете добавить таблицу prestclient_Avenant, относящуюся к prestclient и Avenant, чтобы записать, какие поправки изменили какие цены. Если поправка может обновлять только одну цену, вы можете добавить в Avenant столбцы, указывающие, какая цена какой услуги была изменена этой поправкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...