员工编号为PK,有些员工必须等待其编号

时间:2018-10-09 14:35:07

标签: mysql sql database database-design primary-key

我正在处理以下问题。

公司有许多员工,将他们的合同输入系统后,所有员工都会获得一个唯一的员工编号。有时,合同被延迟了,而雇员在没有雇员编号之前就开始了。

公司部门需要一个包含有关其员工的更多详细信息的数据库。他们一开始就需要这样做。因此,我有一个完美的主键,因为它是公司范围内唯一的整数公司,但有时还不存在。最佳做法是什么?

将它们与临时号码存储在同一位置是不可能的,PK应该是不变的。

我个人当时正在考虑将员工数据存储在具有自动递增PK的单独表中,并在不为空时使用其余表查询该表。员工收到编号后,该编号将从该表中删除并添加到主表中。对于我而言,这似乎是一个更好的选择,而不是为每位员工添加另一个唯一标识符,因为每隔一段时间会有1个异常值。

有什么想法或建议吗?

1 个答案:

答案 0 :(得分:3)

您使它变得过于复杂。

  

公司有许多员工,将他们的合同输入系统后,所有员工都会获得一个唯一的员工编号。

在获得他们的任何信息后立即给他们一个号码。如果他们以后需要使用其他号码(用于某种胸卡号码等),请添加一个保留该号码的字段,但是初始内部ID永远不应更改或更新。