оформление банковской базе данных


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

Мой вопрос заключается в том, что Как я должен обрабатывать транзакции между таблицами, зная, что транзакции возможны между всеми таблицами?

Например, клиент может снять деньги с помощью дебетовой карты, перевести деньги с расчетного счета на кредит или внести деньги на расчетный счет с помощью проверять.

Мое первое решение состоит в том, чтобы создать одну таблицу транзакций для всех транзакций и мощности (0...1 н) так что только один тип оплаты и один счет, так что я должен пойти с ним или просто создать таблицу транзакций для каждой связи между двумя таблицами?

1 5

1 ответ:

Если "я создал таблицу для каждого счета, кредита, депозита, текущего счета" означает, что у вас есть более четырех таблиц, то вы делаете что-то очень и очень неправильно. У вас должна быть одна таблица для клиентов и одна таблица для транзакций. Транзакция-это перемещение денег с одного счета на другой, поэтому простая таблица транзакций будет содержать поля id, дата транзакции, кредитный счет, дебетовый счет, сумма. В бухгалтерском учете часто бывают операции, которые включают в себя несколько кредитные и дебетовые счета, поэтому они не могут быть сохранены в простой схеме транзакций, описанной выше.

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

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