付款数据库设计

时间:2012-11-08 00:01:53

标签: database-design sql-server-express

我目前正在尝试设计一种可以跟踪每月付款的会员类型数据库设计。我有几个表用于跟踪成员,以跟踪PLANTYPES(例如,个人成员加上成本$ 25.00)或员工成员加上成本$ 15.00),其中包括成本字段。

我还有一个DUES表,我试图跟踪会员费用,具体取决于分配给每个成员的计划类型。所以我的问题是,到目前为止,我有以下字段

DUAAMT, PAID(YES OR NO), DESC(COMMENTS),MEMID(LINKED FIELD TO MEMBERS TABLE),
PID(LINKED FIELD TO THE PLANTYPES TABLE)

我无法找出正确的方法来跟踪会员在该月的欠款情况,如果他们付出额外的费用,我会如何跟踪?

我的想法是有一个信用额度字段,其中任何额外的钱将在这个领域,并且一旦月到期我将检查该成员是否有任何现有信用,如果不是他们将欠该月的全部金额

2 个答案:

答案 0 :(得分:2)

会费是按月计算的吗?

您需要定义一个Transaction表。

会费表将定义会费金额以及金额和到期日等事项。

每天(或一周或一个月),您运行一个将事务附加到Transaction表的进程。这会根据会费金额调整余额。

当会员支付他的会费时,相反的交易将应用于交易表,余额将变为0.如果会员超额支付,多付款只会导致正余额。

您可以通过获取每个成员的最新交易并按余额和按日期过滤来创建显示成员余额,已到期付款的成员和逾期成员的视图。

每个计划每位会员有1个会费。 每次会员收费或付款时,您都有1笔交易,因此通常每月有2笔交易。

所以你会:

会费:会员ID PlanID ,DueDate

交易:会员ID TransactionID ,金额,日期,类型(会费,付款,购买),RunningBalance

答案 1 :(得分:0)

我会有另一张付款表(memid,amount,{balance}),我会跟踪会员付款(他们可以支付3美元3次= 9美元,还欠其余会员费用)。