我正在为我们的CRM系统设计一个数据库,需要对CRM用户表提供一些帮助。
用户类型:
现在,对于这个场景,让所有用户都在一个表中,并有一个名为" type“的表属性来标识用户的类型是否有意义呢?还是应该为每种类型的用户设置一个单独的表?此外,销售代表之间也会有一些信息共享。
发布于 2012-01-03 17:15:08
通常,我通常使用一个User表,其中包含一个与之关联的Type。如果您有要存储的其他Sales属性,请创建一个带有外键的SalesRep表,返回到User表。然后,创建一个连接User和SalesRep的视图,从逻辑上看,它似乎只有一个包含销售代表所需的所有属性的usvSalesRep表。
但是,这在很大程度上取决于数据量和事务负载,因此您可以在那里提供更多的信息是有用的。
发布于 2012-01-03 17:17:44
这取决于您期望的用户数量。
但通常只有一张桌子就够了。
如果您有数以十亿计的用户,也许您可以执行水平划分并创建多个表。
发布于 2012-01-03 17:50:49
单张桌子应该可以。我不同意在这种情况下,数字用户对它的设计有很大影响。
只要有可能,您就应该设计您的表来模拟现实生活。管理员,销售代表等只是他们是谁的描述/属性。最终,他们都是“人”..。或者用户。因此,有一个“用户”表与"Admin","SalesRep“作为态度是有意义的。只有当用户只能是一个“类型”时,才使用“类型”方法。如果可以是多个用户类型,则使用单独的列。即。一个可以同时是SalesRepBranch2和SalesRepBranch3。可能会考虑进一步正常化。
https://stackoverflow.com/questions/8715852
复制相似问题