-1

我正在为一家小型融资公司开发一个应用程序,他们可以在其中输入付款金额。日期将自动生成。我的问题是,考虑到一些贷款将短至 6 个月,而其他贷款将长达 84 个月,将这些付款保存在 MySQL 中的最佳方法是什么?

我正在考虑一个有 169 列的表:

REC_ID 作为主键、Date1、Amt1、Date2、Amt2 等...

但是,它的效率如何?在 6 个月的贷款中,在这 169 列中,只有 13 列会被使用。

提前感谢您的输出。

4

2 回答 2

3

创建一个付款表,其中包含贷款 ID 的外键。

付款表看起来像这样

id|loan_id|payment_date|payment_amount

有一个单独的贷款表,看起来像

id|loan_amount|loan_length

当您需要了解已经支付了多少笔款项时,请在支付表上运行查询,并使用 loan_id 作为搜索参数。

于 2012-09-25T19:54:22.120 回答
0

这将严重违反关系设计范式,每个付款和日期可能应该是表中与帐户表具有多对一关系的自己的元组。

Accounts (REC_ID, other_stuff, other_stuff) Primary key(REC_ID);
Payments (REC_ID, timestampe, amt) Primary key (REC_ID, timestampe);

还可以考虑使用外键来强制每次付款都存在有效贷款。而且我猜该政策将是级联的,以便删除负载和重命名贷款将传递到付款表。

于 2012-09-25T20:04:33.653 回答