В настоящее время наша база данных настроена таким образом, что платежная транзакция записывает идентификатор типа платежа, а это связано с таблицей типа платежа (наличными, чеком, кредитом), которая содержит эти значения. Пример:
Платежная транзакция:
- ID
- Количество
- Дата
- Идентификатор типа платежа
Тип платежа:
- ID
- Тип оплаты (наличные, кредит)
Мой вопрос заключается в том, должен ли я просто удалить таблицу типов платежей и просто сохранить значение типа платежа в виде текста внутри платежной транзакции.
Это похоже на этот вопрос . за исключением типов платежей, совершенно очевидно, что никакой новой информации никогда не потребуется для добавления данных для каждого типа платежа. «Кэш» ни с чем не связан, мне ничего не нужно знать о самом Кэш, он просто есть.
Насколько я могу судить, плюсы и минусы замены таблицы типов платежей одним полем будут следующими:
Плюсы
- Удаляет в основном ненужное соединение всякий раз, когда необходимо найти тип платежа.
- Тип платежа для транзакции всегда будет точно отражать то, что было на момент регистрации транзакции. т. е. если я изменю запись «Наличные» в таблице типов платежей на «Кредит» (по какой-либо причине), все платежные транзакции, которые связаны с наличными, теперь будут связаны с кредитом.
Минусы
- Сохранение типа платежа в виде текстового поля замедлит сортировку по типу платежа и сделает такую сортировку более беспорядочной, чем сейчас.
- Тип платежа для транзакции всегда будет точно отражать то, что было на момент регистрации транзакции. т. е. если бы у меня была опечатка, а тип платежа был сохранен как «Каш», я мог бы легко исправить эту опечатку, и все транзакции, связанные с этим типом платежа, будут автоматически обновлены.
Я склоняюсь к удалению таблицы типов платежей и добавлению одного поля в таблицу платежных транзакций, что вы порекомендуете, что это лучший способ действий?