我正在为我们的CRM系统设计一个数据库,需要一些CRM用户表的帮助。
用户类型:
现在针对这种情况,将所有用户放在一个表中并使用名为“type”的表属性来识别用户类型是否合理?或者,我应该为每种类型的用户分配一个单独的表吗?此外,销售代表之间将共享一些信息。
通常情况下,我通常会选择一张与之相关的User
的Type
表。如果您要存储其他Sales Rep属性,请创建一个带有外键的SalesRep
表,返回User
表。然后,创建一个连接User
和SalesRep
的视图,从逻辑上讲,它看起来像只有一个usvSalesRep
表,它具有Sales Reps所需的所有属性。
但是,这在很大程度上取决于数据量和事务负载,因此您可以提供的其他信息非常有用。
单桌应该没问题。我不同意用户在这种情况下对其设计的影响确实很大。
只要有可能,你应该设计你的桌子以模仿现实生活。管理员,销售代表等只是他们的描述/属性。最终,他们都是“人”......或者用户。因此,将一个“用户”表与“管理员”,“SalesRep”作为属性是有道理的。仅当用户只能为“类型”时才使用“类型”方法。如果它们可以是多个用户类型,请使用单独的列。 IE浏览器。一个可以同时是SalesRepBranch2和SalesRepBranch3。可能会考虑进一步规范这一点。