对于这篇过长的文章,我提前表示歉意,但我希望尽可能提供更多的信息。需要帮助(重新)为自存储业务设计数据库
我一直在构建Web数据库应用多年,但我坚持重新设计,我一直想永远做,我似乎无法弄清楚。我希望在正确的方向推动。
该业务为自存仓租赁业务。租户通常签署没有特定结束日期的合同/租赁协议,并且通常(但不总是)在每个月与开始日期大致相同的一天支付。因此,如果你在16日搬入,你的租金将在每个月的16日到期(忽略不是所有月份中的最后几天)。有些人提前6个月付款,等等。
以下是我知道/认为我需要的表格。
- 租户(基本联系信息)
- 存储单元(大约每个单位,面积信息,也许基本月率,除非我决定坚持在一个单独的表的值,这样我可以很容易地改变基准利率对于相同类型的所有单位)
- 租户< - >存储单元(一个客户可以租用多台设备,但每个单位只能有1个或0租户所以也许这并不需要它自己的表)
我被卡住的部分是最好的方式开出账单 - 不生成发票 - 租户只需记住付款。我希望将其作为托管提供程序上的Web应用程序构建,因此我不知道是否应该考虑使用夜间数据库脚本处理此问题,还是从Web应用程序端处理此问题,或者如果我可以以某种没有特别的方式进行设计需要每晚发生。
下面是我需要的一个简单示例。
Joe在2011年1月1日租用1号单元,并支付1个月的房租(50美元/月)。
我该如何构建这个功能,以便如果Joe在2011年2月1日之前不支付第2个月的费用,他会显示为过期到期和欠款$ 50(迟到费用也会在5天后延迟并且被标记如果您不支付10天,则被锁定在单位外)。如果是长期客户,他们只是有点晚了,员工可以自行决定是否支付滞纳金&。
我认为最相似的真实世界设计可能是有线电视提供商,但我没有把它放在一起而没有使它过于复杂。
我可能会用MS SQL 2005/2008在.NET 4中构建它,但我不认为这是一个技术特定的问题。
数据库用于数据,不用于逻辑。您需要将数据存储在数据库中,并通过程序定期执行您的逻辑。 – Blender
谢谢。我很感谢有关模式设计的任何建议。 –