2015-05-30 92 views
2

在一個表中存儲諸如姓名,電話號碼,地址等信息不好嗎?這將導致員工和客戶表具有引用「人員」表的外鍵。員工和客戶=人員表?

如果我們不將這些信息存儲在一張表中,我們會讓員工和客戶表有很多類似的信息。

什麼是最好的設計?

+1

不,這不壞。您希望存儲的有關客戶的信息類型與您希望存儲的有關員工的信息的種類非常不同 - 即使員工也是客戶。 – Strawberry

回答

3

我的個人偏好:分離出客戶和員工數據庫。儘管客戶和員工之間的某些數據可能相同,但在數據要求和規則開始有所不同之前不久。例如,對於員工而言,您可能想要存儲出生日期,但您可能不需要這樣做給客戶。

保留表格還可以防止select中的錯誤。如果客戶和員工是人們的參考,並且新員工不知道要加入什麼以及何時使用where條款來區分客戶和員工,則結果可能是意想不到的,並且可能未被發現。讓客戶和員工分開來避免這些問題。

讓他們分開也是增加客戶表與客戶/訂單等,和員工表相關聯的模式可以到人力資源相關的模式有幫助的。可以對它們應用不同程度的保護。

人員表的維護可能會影響客戶和員工表。例如,如果您必須在大型人員表中添加列,則某些RDBMS可能會鎖定表太長時間。如果表格是分開的,你只能準備相關的組。

總的來說,我看到與FK與客戶和員工創造人表沒有什麼好處。也許其他人可能會提高人們的桌面利益。

相關問題