员工职位数据库的MySQL数据库结构

时间:2013-03-19 10:01:47

标签: php mysql

基本上,我正在使用人力资源管理应用程序。

职位(如培训师,副经理,经理等)根据他们的服务填补。

有一份所有员工的名单,在任何特定日期服务最多的员工都占据最高职位。

关键位置的数量是固定的。根据员工在名单中的位置,将显示他的可能位置。

这些职位如下:

  • (职位 - 职位数)
  • 导演 - 1
  • 经理 - 3
  • 的Dy。经理 - 5
  • 培训师 - 10

现在,在根据他们的经验填写的员工列表中,列表中的第一个将是Director,接下来的三个将是Managers,以下5个员工将是Dy。经理和未来十位将是培训师。

我想设计一个数据库表来存储位置和相关数字。可能会增加新头寸,而且头寸数量可能会随时间而变化。例如,如果Director帖子的数量从一个增加到两个,则应对其进行编辑。一旦编辑了主任职位的数量,名单中的前两名雇员将被指定为可能的董事。同样的逻辑也适用于所有其他职位。

我不确定这样一个表的数据库结构应该是什么。完成后,我应该能够根据员工名单中的排名,使用php查询任何给定员工的可能位置。

例如,如果员工在第5级,我应该能够查询表并获得可能的位置。在这种情况下,等级5将是Dy。管理器。

希望我的要求清楚。请帮我设计一个用于此目的的数据库表。

谢谢!

2 个答案:

答案 0 :(得分:0)

Employees
=========
name | Boss
rank | 1
doj  | 2010-01-01

“按员工顺序从员工订单中选择名称,doj”

doj =加入日期

这是你的意思吗?

rank可以加入另一个表,在那里存储可读的排名标题,以便生成标题,名称等

答案 1 :(得分:0)

现有员工数据库表包含:

Employees
=========
name | Mark
doj  | 2010-01-01
wrk  | yes

“从员工中选择名称,其中wrk = yes by doj”

(这将删除已离开公司的数据库中的员工,状态为wrk = no)

让我们说这会产生如下结果:

Mark | 2010-01-01
Steve | 2010-02-01
Jack | 2010-04-01
Rick | 2010-09-01
David | 2010-12-01

现在,当我获取结果并根据他们的资历分配位置时(假设职位经理= 1,dy。经理= 3,培训师= 1),结果将是:

Rank | Name | Doj | Designation
1 | Mark | 2010-01-01 | Manager
2 | Steve | 2010-02-01 | Dy. Manager
3 | Jack | 2010-04-01 | Dy. Manager
4 | Rick | 2010-09-01 | Dy. Manager
5 | David | 2010-12-01 | Trainer

过了几天,让我们假设杰克退出了公司(他的wrk状态将是否定的)。因此,获取的结果将是:

Rank | Name | Doj | Designation
1 | Mark | 2010-01-01 | Manager
2 | Steve | 2010-02-01 | Dy. Manager
3 | Rick | 2010-09-01 | Dy. Manager
4 | David | 2010-12-01 | Dy. Manager

随着杰克的退出,大卫得到晋升。等级只是根据提取的行数生成的序列号,自动增量。

现在,我想创建一个表格,用于指定和位置数量,以便根据等级获取指定。