[英]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.