我有一个要求,我需要创建一个数据库,其中用户可以有多种付款方式,并且可以针对这些多种付款方式处理多个交易。
我创建了以下架构
为什么这些表格:
用户:此表包含有关用户的信息。例如:名字、姓氏、电子邮件等
user_payment_method:由于单个用户可以有多种付款方式,我创建了一个表来标识他拥有的所有付款方式,以便我可以在交易表中引用它们,并且可以确切地知道交易是在哪种付款方式上进行的。
事务:此表包含有关所有事务的所有数据。例如:时间、user_id、user_method_id、金额等
payment_method:这个表作为一个联结表(数据透视表)来引用所有可能存在的支付方式。由于所有付款方式都有不同的详细信息,因此我无法为此制作一张表格。
特定付款方式表:bank_transfer 和 paypal 等表包含用户对该付款方式的具体详细信息。例如:贝宝密钥或银行帐号
问题
我坚持在payment_method
和之间建立关系specific payment method tables
。
如何在 payment_method 表的单个列中引用不同的付款方式。我是否为每种特定的付款方式创建一个联结(数据透视表)表?
编辑:如果有人有更简单的不同方法,请告诉我我对所有想法持开放态度。