我正在为托管应用程序创建一个结算系统..
所以,基本上,
用户可以购买托管和域名,或者可以购买云并在那里创建自己的服务器。
还应该有插件。
Addon可以应用于任何类型的包。因此,用户可以从云中向服务器添加“服务器管理”。或者为整个云添加“云管理”..
托管和域名是预付费的东西..所以用户提前付款..但云 - 用户在云中注册然后可以创建服务器 - 然后我们每月为云使用(不是每个服务器)发票一次。
这是我的数据库设计:http://dbdsgnr.appspot.com/app#agdkYmRzZ25ycg8LEgZTY2hlbWEY-pK0BAw
你能否在这里评论它有什么不好以及如何改进它?
值得一提的是:云和插件是按使用时间支付的,所以如果插件活动2天,然后用户将其删除 - 那么我们应该只为用户开2天发票..
答案 0 :(得分:0)
我可以立即看到的一个问题是插件。用户与他/她选择的插件之间没有任何关联。如果您想知道用户选择了哪些插件,则看起来您无法满足该查询。
此外,我无法在您的设计中看到包和插件之间的一对多关系的概念。一个包可能有多个插件,你需要对其进行建模。
这让我想到了下一点,订单表。那里你只有packageId。但是你没有抓住用螺栓固定在那个包装上的插件。这是一个缺陷,因为您将无法分辨哪个客户订购了包或反向查询的特定插件。所以你需要重新设计你设计的那部分。
另一个问题:发票通常与orderId相关联。发票表上不存在orderId。
如果您更新模型,我会在稍后再次查看。希望它有所帮助。