2011-12-13 107 views
-1

在云应用程序中,您将有多个客户使用您的服务。云应用程序,数据库设计

是否有可能将所有客户数据保留在1个表格中,而不必为每个客户创建多个表格?

这是可能的,但它会减慢应用程序的权利?如果客户停止使用你的服务,你也会想要删除他们的记录。是否有办法将所有内容保存在一张表中,而不会导致性能,存储/备份方面的任何问题?

编辑:由独立的客户表我的意思是,表等产品,发票等这些表是具体到一个客户

+1

@Mitch,不确定? – 001

回答

0

我们需要您的要求的更多细节,但我的猜测是,没有表会足够的大小,只要表格上有适当的索引和更新的统计数据。

将所有客户数据保存在一张表中,这是最好的设计。如果需要,从表中删除所有客户数据是一个简单的DML批次。

+0

如果您要设计“新书”,那么每个客户都将拥有自己的桌子或所有客户的相同桌子? – 001

+0

所有客户的相同表格。 – 2011-12-13 11:49:12

0

为每个客户创建一个新表将成为几个级别上的绝对噩梦。您希望根据类别将您的数据(在不同的表格中)分开,但绝对不是由客户。因此,每个客户都会在“客户”表中输入条目,并在“ShippingAddress”表中输入条目等。只要您使用适当的索引创建表(并具有足够的硬件),性能就不应该成为问题。

0

这是一个数据库建模设计问题,不仅针对云应用程序。在通用表中保留通用属性始终是您应用程序的最佳设计方法。许多技术可以提高例如索引的性能。就不活动的客户表而言,您可以设计归档解决方案来减小数据库的大小。

0

我明白这一点的方法是为每个客户,你想有一个产品和每个客户的发票表,即ProductCustomer1,ProductCustomer2?那是对的吗?我认为这是一个噩梦来处理,除非你只有少数客户,并不在乎数据库的可扩展性。通常最好的办法是制作下列表格,每个表格都有自己的主键(客户,产品,发票,invoiceProducts)。 invoiceProducts表是因为在发票上的发票和产品之间存在多对多关系。然后,您可以在外键中配置约束以进行删除操作。这将是最简单的备份/恢复(如果需要的话)。我正确理解你的问题吗?如果需要,我可以提供一个数据库图表,如果这将有所帮助。

相关问题