Разработка базы данных счетов - PullRequest
1 голос
/ 06 февраля 2011

Дизайн базы данных счетов может выглядеть примерно так ... http://www.databaseanswers.org/data_models/invoices_and_payments/index.htm

Сейчас, если пользователь решает изменить / пересмотреть код продукта / описание

Будет изменен предыдущий заказ и код / ​​описание счета-фактуры: (

Что ты делаешь? Вместо этого скопируйте описание кода продукта в таблицу счетов?

1 Ответ

6 голосов
/ 06 февраля 2011

У вас есть два варианта:

  • либо вы делаете таблицу Products «разрешенной по времени» (также известную как «временная база данных»), например, вы сохраняете «предыдущее» состояние вашего отдельного продукта в своей таблице и присваиваете каждой записи пару ValidFrom / ValidTo дат. Таким образом, если вы измените свой продукт, вы получите новую запись, а предыдущая останется нетронутой, на которую ссылаются те счета, которые ее использовали; обновляется только ValidTo дата для продукта

или

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

См. Этот другой Вопрос Stackoverflow для временных баз данных в качестве другого входа, а также ознакомьтесь с этой статьей на Simple-Talk: Проектирование базы данных: архитектура на момент времени

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