2012-01-03 93 views
0

我设计为我们的客户关系管理系统的数据库,需要一些帮助与CRM用户表。数据库设计的CRM用户表为特定方案

用户类型:

  1. 联系
  2. 销售代表从分公司2
  3. 销售代表从分公司3
  4. 客户端登录

现在对于这种情况下它才有意义让所有用户都在一个表中,并有一个名为“type”的表属性来标识用户的类型?或者我应该为每种类型的用户提供一个单独的表格?此外,销售代表之间还会有一些信息共享。

+0

你能提供更多的信息吗?目前,这个问题非常模糊。 – 2012-01-03 17:09:10

回答

1

通常情况下,我通常会用一个User表与它相关的Type。如果您有其他销售代表属性需要存储,请创建一个带有外键的SalesRep表,并将其返回到User表。然后,创建连接UserSalesRep视图,所以看起来,在逻辑上,像有只是一个usvSalesRep表拥有所有你需要为销售代表的属性。

但是,这取决于数据量和交易上很多加载,所以你可以在那里提供额外的信息是有用的。

+1

每天只有不到100个用户和少于1000个交易。 SalesRep将具有一些额外的属性,例如他们当年关闭的销售数量,出价的数量以及一些性能属性。 – wackytacky99 2012-01-03 17:23:29

+0

@ mvador99 - 单桌可以,你需要没有问题,有什么呢:)对于那些表 – Eric 2012-01-03 17:25:47

+0

外键或反之亦然:) – 2012-01-03 17:25:53

1

这取决于您期望的用户数量。

但通常一个表是足够多。


如果你有几十亿的用户,也许你可以做horizontal partitioning,使多个表。

+1

其不到1000名用户。我猜是单桌吧。谢谢! – wackytacky99 2012-01-03 17:19:44

1

单表应该没问题。我不同意在这种情况下,用户的数量确实对其设计产生了很大的影响。

只要有可能,就应该设计自己的表来模拟天生现实生活。管理员,销售代表等只是他们的描述/属性。最终,他们都是“人”......或用户。所以有一个“用户”表“Admin”,“SalesRep”astibutes对我来说是有意义的。只有当用户只能是一个“类型”时才使用“类型”方法。如果它们可以是多个用户类型,请使用单独的列。 IE浏览器。可以同时成为SalesRepBranch2和SalesRepBranch3。可能考虑进一步正常化。