0

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

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

有一份所有员工的名单,在任何给定日期服务最高的人占据最高位置。

关键位置的数量是固定的。根据员工在列表中的职位,将显示其可能的职位。

职位如下:

  • (职位 - 职位数)
  • 导演 - 1
  • 经理 - 3
  • 镝。经理 - 5
  • 教练 - 10

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

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

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

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

希望我已经明确了我的要求。请帮助我为此目的设计一个数据库表。

谢谢!

4

2 回答 2

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

“按等级从员工中选择姓名,doj”

doj = 加入日期

你是这个意思吗?

rank可以加入另一个表,您可以在其中存储可读的排名标题以生成标题、名称等

于 2013-03-19T10:26:51.470 回答
0

现有的员工数据库表包括:

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

“从员工中选择姓名,其中 wrk=yes 由 doj 订购”

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

可以说这将产生如下结果:

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

现在,当我获取结果并根据他们的资历分配职位时(假设职位 manager=1,dy.manager=3,trainer=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

几天后,让我们假设 Jack 退出了公司(他的 wrk 状态将是 no)。因此,获取的结果将如下所示:

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

杰克辞职后,大卫升职了。排名只是根据获取的行数生成的序列号,自动递增。

现在,我想为名称和职位数量创建一个表,以便根据排名获取名称。

于 2013-03-19T12:56:42.383 回答