用于交易/费用的MySQL关系数据库设计

时间:2013-09-18 21:42:57

标签: mysql database-design relational-database

我对我的应用程序的最佳设计模式感到好奇。我有处理交易的客户。然后我向他们收取费用。然后我将费用转给我,余额给他们。目前我有一个交易表来支持所有这些,我觉得它很难看。

交易表有

ID | trans_id | amount | type | status | client_id | transfer_id | created | modified

使用这个模型,我假设我可以存储各种类型的交易。我可以为客户1存储$ {100}的金额charge,并为其存储fee $ 2.00金额。当我转移资金时,我可以添加一行transfer类型,然后使用此转移的ID更新之前的行。但我觉得这会使查询变得非常复杂。

我是否应该为chargefeetransfer设置单独的表?

1 个答案:

答案 0 :(得分:1)

拥有一个包含不同表的关系数据库将是非常有益和高效的。关系设计结构将通过使用主键和外键来减少冗余,并且可以防止重复。因此,请使用具有单独表的关系数据库。