[英]Should I split my organizations table into two tables?
我正在为CRM设计数据库模式。 它具有下表: users
, organizations
, contacts
, addresses
, organization_types
。
organizations
可以是公司,非营利组织或个人。
users
与organizations
有多对多关系。 原因是因为,例如,一家公司可以在应用程序上有一名销售员和一名经理,并使用两种不同的登录名。 另一方面,推销员有可能为两家不同的公司进行销售。
contact
和addresses
与organizations
具有一对一的关系。 我的客户只希望一个组织拥有其中一个。
我以一种organization
也可以是另一个organization
的客户的方式设计它。 这意味着组织表与其自身具有一对多的关系。
这对我来说很有意义,因为它们似乎是同一实体。 客户还将需要一个contacts
和addresses
表,该表也可以是公司,非营利组织或个人。
考虑另一个开发人员提出的要点是,随着时间的流逝,查询数据库以区分作为我们客户的组织与作为我们客户的组织的组织将是昂贵的。
最好的方法是什么? 制作一个client_organizations表并将两者分开会更好吗?
我将保留一个表并创建一个名为parent_organization的列。 Parent_organization将为空,并存储子组织所属的父组织的主键
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.