Как правильно организовать базу данных учета перевода средств между счетами?

Добрый день,

существует база данных, в которой размещены записи с операциями по счетам: доход, расход
структура:
id | type | account | money | date |

type - тип операции (дебет, кредит)
account - с какого счета
money - соклько

появилась задача внести третий тип операции, перевод с одного счета на другой

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

Допустим со счета "Банк" переводим 10 000 на счет "Карта"
Какой алгоритм следует применить?
Если списать с банка 10 000 и добавить к Карте 10 000 - то отчеты будут не корректны.

Спасибо.
  • Вопрос задан
  • 424 просмотра
Пригласить эксперта
Ответы на вопрос 2
@LiguidCool
Транзакции? Ну и какбы неплохо было бы логировать транзакции/операции.
Ответ написан
Комментировать
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Обычно операции - это справочник.
Записи можно генерировать документами, документ на приход, документ на расход и документ на перевод, который при проводке генерирует 2 записи приход и расход.
В справочнике операций делается ссылка на документ из которого в случае чего можно вытащить данные по событию проводки (пользователь, дата и т.д. - своего рода лог операций). У документа можно сделать обратный маршрут, который бы удалял операции в справочнике.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы