我有一个数据库,在这里需要将“余额和付款”分解为不同的“钱桶”,以显示它们的分配方式。例如,有本金,利息,滞纳金,退票费,杂项等。最多有10个不同的钱桶。
这两种方法中的哪一种是为此设计数据库的更好方法,为什么?
选项A
PAYMENTS
AccountId
// Other payment-related columns
TotalPaid
PrincipalPaid
InterestPaid
MiscPaid
BadCheckChargesPaid
...
选项B
PAYMENTS
AccountId
// Other payment-related columns
TotalPaid
PAYMENT_DETAILS
PaymentId
PaymentTypeId
AmountPaid
在大多数情况下,仅使用1-3种不同的余额类型
最佳答案
选项B是规范化程度更高,更灵活的选项(以后可以轻松添加新存储桶),并且可以赢得我的投票。