如何使用PHP/MySQL创建和构造虚拟学分系统
在PHP/MySQL中构建虚拟学分系统的最佳方法是什么 很明显,我需要为每笔交易(借方/贷方)提供一张表。我想我需要该表中的以下列:如何使用PHP/MySQL创建和构造虚拟学分系统,php,mysql,payment-gateway,payment,credits,Php,Mysql,Payment Gateway,Payment,Credits,在PHP/MySQL中构建虚拟学分系统的最佳方法是什么 很明显,我需要为每笔交易(借方/贷方)提供一张表。我想我需要该表中的以下列: 交易ID(唯一的交易ID从1开始自动递增) UserID(主用户表中的用户唯一ID) 类型(赚取、购买、花费等) ItemID(如果花费在项目上) 金额(正数或负数) 问题: 1)此表中是否需要其他列? 2)我还需要其他表格吗? 例如,我是否需要另一个表来跟踪每个用户的总数?或者我会简单地将每个用户的总数计算为他们所有事务的总和吗 起初,这个信用系统将纯粹是“
(唯一的交易ID从1开始自动递增)交易ID
(主用户表中的用户唯一ID)UserID
(赚取、购买、花费等)类型
(如果花费在项目上)ItemID
(正数或负数)金额
user\u id
,而是使用account\u id
。每个用户可能有一个以上的帐户,每个帐户有一个类型(查找)和货币。此外,我会避免使用“用户”一词,而使用“参与方”(参与方角色关系模型)
第二,总是有至少两方参与:资金从一个账户流向另一个账户。物料采购时,个人账户余额减少,组织账户余额增加
另外,我不会使用item\u id
,而是使用类似event\u id
的东西。每个事务都与一个业务事件关联。事件是系统中可能发生的各种事件的公共父表。每个事件
的详细信息表将包含特定于事件类型的信息。例如,您可以有购买\u事件
,存款\u事件
,等等
因为transaction
表是许多(可能数千)插入的主题,所以我不会在每次需要帐户余额时查询它。在科目
表中保留合并余额是有意义的
我希望这是有意义的。一些注释
我认为,如果你想建立一个坚实的系统来处理财务问题,使用金融界的一些基本概念是有意义的。我不想说你必须完全实现所有的会计功能,但是很多事情对我来说都是合理的
首先,金融交易涉及到将资金从一个账户转移到另一个账户,因此我不会使用user\u id
,而是使用account\u id
。每个用户可能有一个以上的帐户,每个帐户有一个类型(查找)和货币。此外,我会避免使用“用户”一词,而使用“参与方”(参与方角色关系模型)
第二,总是有至少两方参与:资金从一个账户流向另一个账户。物料采购时,个人账户余额减少,组织账户余额增加
另外,我不会使用item\u id
,而是使用类似event\u id
的东西。每个事务都与一个业务事件关联。事件是系统中可能发生的各种事件的公共父表。每个事件
的详细信息表将包含特定于事件类型的信息。例如,您可以有购买\u事件
,存款\u事件
,等等
因为transaction
表是许多(可能数千)插入的主题,所以我不会在每次需要帐户余额时查询它。在科目
表中保留合并余额是有意义的
我希望这是有意义的。除非您真的知道系统应该做什么,否则很难说数据库的体系结构。但我仍然在努力 我认为在一个表中存储这么多信息不是一个好主意 这样做我会做得更好-
交易(id、用户id、金额、时间戳)
,此表包含有关每次付款的最低信息
其他一切都是分开的,例如交易\类型(交易\ id,类型)
和交易\项目(交易\ id,项目)
关于学分。如果购买的是同一种货币,您只需再添加一种交易类型,如有必要,可将表添加为transactions\u psid(transaction\u id,psid)
如果货币不同,这一切都取决于系统上的负载。只有一个具有唯一事务id的表是好的,直到它变成太多记录。除非您确实知道系统应该做什么,否则很难说明数据库的体系结构。但我仍然在努力 我认为在一个表中存储这么多信息不是一个好主意 这样做我会做得更好-
交易(id、用户id、金额、时间戳)
,此表包含有关每次付款的最低信息
其他一切都是分开的,例如transactions\u type(transaction\u id,type)