我想知道什麼是他們公司對聯繫人進行分組的最佳方式。現在,用戶可以按自定義他們的聯繫人創建名單,但我想通過自己的公司以及存儲聯繫人的位置(XYZ公司即項目經理)能夠組聯繫人。數據庫設計按名單和公司分組的聯繫人
數據庫明智的,這是我對聯繫人進行分組到列表
接觸
[id_contact] [INT] PK NOT NULL,
[姓氏] [爲varchar(128)NULL,
[名字] [VARCHAR](128)NULL,
......CONTACT_LIST
[id_contact] [INT] FK,
[ID_LIST] [INT] FK,列表
[ID_LIST] [INT] PK
[id_user] [INT] FK
[LIST_NAME] [VARCHAR(128)NOT NULL,
[說明] [TEXT] NULL
我應該實現由公司聯繫人進行分組相似的地方?如果是這樣,我將如何存儲聯繫人在該公司的職位,以及如何防止數據損壞,如果用戶修改聯繫人的公司名稱。例如John Doe改變了公司,但其他同事仍然在舊公司。
我懷疑這會經常發生(甚至可能根本不會發生),但最好是安全,而不是抱歉。我還保留審計線索,以便聯繫人仍然需要與舊公司以及新公司聯繫起來,但不會混淆他目前實際工作的公司。
我希望這是有道理的......有沒有人遇到過這樣的問題?
UPDATE
會像這樣有意義
contact_company
[id_contact_company] [INT] PK
[id_contact] [INT] FK
[ id_company] [int] FK
[CONTACT_TITLE] [VARCHAR](128)公司
[id_company] [INT] PK NOT NULL,
[COMPANY_NAME] [VARCHAR](128)NULL,
[company_description] [VARCHAR] (300)NULL,
[CREATED_DATE] [日期時間] NOT NULL
這樣的接觸可以爲多家公司和聯繫人工作可以由企業
分組
+1因爲你非常接近我的實現,除非我認爲你可能誤解了一個細節(或者我誤解了你的答案) 你正在將用戶鏈接到一個公司(或幾個公司)事實上聯繫人需要與一個或幾個公司聯繫起來。有一個聯繫人主列表,允許用戶創建他們自己的分組。我發佈的更新顯示了默認情況下聯繫人是如何按公司分組的,我基本上使用了相同的表格佈局,但是用於創建列表。 – Serge 2010-08-12 16:13:21
對於公司職位,當你說另一個表時,你的意思是創建一個表並插入諸如「Project Manager」等默認值,或讓用戶在該表中插入值並將它們鏈接到聯繫人? – Serge 2010-08-12 16:14:07
我回答已經有一段時間了,但我想我記得發生了什麼。 這個設置我給公司鏈接了聯繫人,它被稱爲'user_contact_company'的唯一原因是因爲聯繫人與用戶有關,而聯繫人與公司有關。所以用戶不直接聯繫,聯繫是。不過,我可能會誤解你在說什麼,如果我沒有道理,那麼糾正我。 – rovaughn 2010-08-12 22:05:12