1

數據庫模式我有具有低於結構的標準名稱表:標題和標題的合作伙伴

TitleId  Title 
----------------------------- 
7282991   CEO 
7282992   CTO 
7282993   SSE 
7282994   SE 
7282995   CFO  

現在我們有一個要求,用戶可以使用這些標準的頭銜一起加入自己的自定義標題。所以我創建瞭如下表格。

TitleId  Title  UserId 
------------------------------------ 
7282991   Manager   1 
7282992   Team Lead  1 
7282993   QA    1 
7282994   Admin   2 
7282995   FO    2  

現在我面對的問題是我必須在用戶界面的下拉列表中顯示所有標準標題和用戶的自定義標題。爲此,我必須在標準表和標題的自定義表之間進行聯合操作。另外,當標題將被分配給員工時,我必須檢查2個表格中的titleId以發現其標題或自定義標題。

什麼是最好的模式,這將使我的任務變得輕鬆。

回答

2

您可以將所有標題保留在同一個表中,只需添加一列即可標記非標準標題。

TitleId  Title  IsStandard 

我還會在標題列上添加一個唯一索引以避免重複值。

如果關係是多對多,最終模型可能是這樣的圖enter image description here

+0

感謝您抽出寶貴的興趣,但我怎麼會才知道這頭銜是屬於哪個用戶? – ChupChapCharli

+0

@ChupChapCharli如果用戶只能擁有一個標題,那麼只需將一個TitleId列添加到您的用戶表。如果其他用戶可以擁有多個標題,則使用具有UserId和TitleId列的連接表UserTitles,並使用相應的外鍵 – Oscar

+0

是,用戶可以有多個標題但不能在您建議的上表中添加UserId,對於標準,它將是null和其他將具有特定的使用價值,而不是從2個表中完成。 – ChupChapCharli