gpt4 book ai didi

php - 每月租金发票和付款数据库架构

转载 作者:可可西里 更新时间:2023-11-01 08:29:39 24 4
gpt4 key购买 nike

我正在尝试为我的应用程序创建一个架构。我的申请是关于属性(property)(房屋/公寓)租金管理。

我现在面临的最大困惑是如何实现每月付款并记录这些付款以供日后报告使用。此外,这些付款必须与发票集成。这有点太困惑了,在数据库部分我不是专家。

关于在线编码有很多帮助,但真正创建一个模式我不确定如何学会制作如此复杂的模式。

我有大部分 table 。加上创建的付款表,其中有

paymentID,
TenantID,
TotalDues,
PaymentRecieved, //Amount Recieved for the current month dues
PaymentRemaining, //If not fully paid the dues and still remaining..
DateRecieved,
etc etc..

这只是一个简单的表格,但我真的很困惑如何让它更灵活,这样如果租户本月根本不支付租金,那么下个月就应该得到总租金。或者,如果本月支付了一半或一定数量的租金,那么应该在下个月对其进行跟踪。

我应该怎么做才能使这个系统更加灵活并引入发票系统?


更新:

根据我收集到的一些答案,我需要创建另一个表来保存记录。

所以我们会:

payment_record/Invoice
------------------------------
RecordID | Payment(Month/Year) | Electricity | Gas | Water | Rent | Total
1 Jan-2015 50 30 5 80 165

我们会有第二张 table

Payment/Transaction
------------------------------
PaymentID | RecordID(Foreign-Key) | PaymentReceived | DateReceived
1 1 100 2015-01-08

所以第三张表是

   PaymentDue/Status
----------------------------------
StatusID | PaymentID(Foreign-Key) | PaymentRemaining
1 1 65

我是否缺少某些东西,或者我是否拥有开始编码所需的东西?

还有一件事我不确定。如果租户为当月支付一定金额,两天后他为当月支付更多费用,我会怎么做。我将如何处理?

我是否需要在 paymentduepayment/transaction 表中再输入一个条目?

最佳答案

您需要通过同时查看架构和查询语句来解决问题。

从您的示例中,我意识到您想要一个跟踪所有内容的表格,这是完全可行的。然而,它需要复杂的插入语句或存储过程来不断更新该表。

为了简单起见,尝试将其拆分为 2 个表。这应该消除追溯更新以前记录的需要。由于分离,它还将使所有对租户状态的查询更快。第一个只包含静态付款记录:

paymentID,TenantID,PaymentRecieved,DateRecieved,.....

另一个包含租户的状态

TenantID,PaymentRemaining,LatestPaymentID(or date),...

每次租户支付租金,插入1条静态记录并相应地更新状态表。状态表的更新 SQL 的简单版本可能如下所示。确保对 PaymentRemaining - $payment 之类的内容添加检查,并且不要让它变为负数(或者让它变为负数以便租户下个月支付更少?)

INSERT INTO status VALUES ($tenantId,$monthlyRent-$payment,$paymentID) ON DUPLICATE KEY 
UPDATE PaymentRemaining = PaymentRemaining - $payment, LatestPaymentID = $paymentID;

对于您的每月付款/余额检查,只需查看第二张表。

关于php - 每月租金发票和付款数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com