2011-12-01 25 views
0

对于这篇过长的文章,我提前表示歉意,但我希望尽可能提供更多的信息。需要帮助(重新)为自存储业务设计数据库

我一直在构建Web数据库应用多年,但我坚持重新设计,我一直想永远做,我似乎无法弄清楚。我希望在正确的方向推动。

该业务为自存仓租赁业务。租户通常签署没有特定结束日期的合同/租赁协议,并且通常(但不总是)在每个月与开始日期大致相同的一天支付。因此,如果你在16日搬入,你的租金将在每个月的16日到期(忽略不是所有月份中的最后几天)。有些人提前6个月付款,等等。

以下是我知道/认为我需要的表格。

  1. 租户(基本联系信息)
  2. 存储单元(大约每个单位,面积信息,也许基本月率,除非我决定坚持在一个单独的表的值,这样我可以很容易地改变基准利率对于相同类型的所有单位)
  3. 租户< - >存储单元(一个客户可以租用多台设备,但每个单位只能有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中构建它,但我不认为这是一个技术特定的问题。

+0

数据库用于数据,不用于逻辑。您需要将数据存储在数据库中,并通过程序定期执行您的逻辑。 – Blender

+0

谢谢。我很感谢有关模式设计的任何建议。 –

回答

0

如果列出的三个表是“显而易见的”,那么同样清楚的是,您需要一些应付账款和应收账款表。如果您还没有为业务的会计方面提供某些功能,则必须将其添加到您的网站中。

我想知道没有任何一种会计软件的企业。在我看来,最好的办法是找到一种方法让您的网络应用程序以安全,只读的方式访问该数据源。

+0

这是一个非常简单的业务,以现金方式处理账单/付款。没有真正的会计软件。检查使用Quicken创建。将3个站点与位于不同位置的簿记员同步将会很麻烦。租户数据库是应收帐款数据源。我认为它应该是相反的,那夜间簿记员将连接到租户数据库来更新应收账款。我想我应该简化我的问题的本质。假设没有其他数据源,这是一个很好的模式吗?谢谢。 –

+0

听起来好像没有好的模式,因为除非链接到主要来源,否则将会出现重复。你希望这很容易,但它不会。 – duffymo

+0

所以这只是一个不能使用真正的关系数据库的业务?我不是在寻找轻松。我想我现在感觉好多了,因为它显然比我原先假设的更复杂。如果我刚刚为这项业务提出架构建议,我想答案会是一样的。我可能会坚持现有的数据库。这是丑陋的,但它的工作原理。谢谢您的帮助。 –