【问题标题】:Website Transactions in MySQL DatabaseMySQL 数据库中的网站事务
【发布时间】:2011-08-18 11:07:27
【问题描述】:

美好的一天,

我目前正在为我的网站设计数据库结构。我只需要一个方面的社区帮助,因为我从来没有做过类似的事情。

网站将包含三种付款方式:

  1. 内部付款(托管类付款)。用户可以向其他用户付款。
  2. 存款。用户将资金添加到他们的帐户中。
  3. 退出。用户可以要求提款。款项将汇入他们的银行/PayPal 帐户。

基本上,我需要一些技巧来获得最好的设计。

这就是我的想法:
deposits - 此表将存储有关存款的信息
deposits_data - 此表将存储有关存款交易的信息(例如 PayPal IPN 返回的数据)payments - 用于存储内部付款的表
withdrawals - 用于存储提款请求信息的表
transactions - 用于存储有关所有交易信息的表(使用 ENUM() 字段调用具有以下值的类型可能:内部、存款、取款)

请注意,我已经有一个表 logs 来存储每个用户操作。

不幸的是,我觉得我的设计方法在这方面并不是最好的。您能分享一些想法/提示吗?

PS。我可以使用“托管”名称进行内部付款还是应该选择其他名称?

编辑
DEPOSITSPAYMENTSWITHDRAWALS 表存储特定的交易详情。 TRANSACTIONS 表仅存储有限的信息 - 它是一种日志表 - 带有 details 字段(其中包含要在用户日志部分显示的文本,例如:“用户 1 向您发送了付款”)/

当然我有用户表等。

【问题讨论】:

  • 我有同样的数据库设计方案,你能告诉我你在支付表中存储什么样的内部付款,以便它可以帮助我设计我的数据库。谢谢

标签: mysql database database-design database-schema


【解决方案1】:

我可以为内部使用名称“escrow”吗? 付款还是我应该选择不同的 名字?

Escrow 具有特定的财务/法律含义,这与您看起来的意思不同:“交付给第三方或由合同一方委托的书面协议(或财产或金钱)满足某些条件后返回" (source)

所以选择一个不同的名字似乎是个好主意。

至于设计,DEPOSITS、PAYMENTS 和 WITHDRAWALS 将存储哪些数据,哪些 TRANSACTIONS 不会?此外,您需要一个 ACCOUNTS 表。还是您打算只使用现有的 USERS 表(我想您有这样的东西)?您可能应该为外部各方准备一些东西,即使您暂时只打算支持 PayPal。

【讨论】:

  • 我想发表评论,但有点太长了,所以我编辑了我的问题。感谢您的回答!
猜你喜欢
  • 2017-04-11
  • 1970-01-01
  • 2012-09-26
  • 2019-11-17
  • 2019-04-15
  • 1970-01-01
  • 2017-07-15
  • 2017-12-30
  • 2019-02-23
相关资源
最近更新 更多