2015-05-30 51 views
2

在一个表中存储诸如姓名,电话号码,地址等信息不好吗?这将导致员工和客户表具有引用“人员”表的外键。员工和客户=人员表?

如果我们不将这些信息存储在一张表中,我们会让员工和客户表有很多类似的信息。

什么是最好的设计?

+1

不,这不坏。您希望存储的有关客户的信息类型与您希望存储的有关员工的信息的种类非常不同 - 即使员工也是客户。 – Strawberry

回答

3

我的个人偏好:分离出客户和员工数据库。尽管客户和员工之间的某些数据可能相同,但在数据要求和规则开始有所不同之前不久。例如,对于员工而言,您可能想要存储出生日期,但您可能不需要这样做给客户。

保留表格还可以防止select中的错误。如果客户和员工是人们的参考,并且新员工不知道要加入什么以及何时使用where条款来区分客户和员工,则结果可能是意想不到的,并且可能未被发现。让客户和员工分开来避免这些问题。

让他们分开也是增加客户表与客户/订单等,和员工表相关联的模式可以到人力资源相关的模式有帮助的。可以对它们应用不同程度的保护。

人员表的维护可能会影响客户和员工表。例如,如果您必须在大型人员表中添加列,则某些RDBMS可能会锁定表太长时间。如果表格是分开的,你只能准备相关的组。

总的来说,我看到与FK与客户和员工创造人表没有什么好处。也许其他人可能会提高人们的桌面利益。

相关问题